| |||||
| Dernière réponse | |
|---|---|
| Sujet : [Delphi - Newbie] Les appels croisés entre unités | |
| Jubijub | ct une faute de ma part : j'avais pas mis de parenthèses à la première condition... c vrai que a = b or c =d, selon l'endroit ou tu met tes parenthèses, ca veut pas dire pareil... |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| Jubijub | ct une faute de ma part : j'avais pas mis de parenthèses à la première condition... c vrai que a = b or c =d, selon l'endroit ou tu met tes parenthèses, ca veut pas dire pareil... |
| JWhy | bah si, y'a pas de raison... un test est un test, que ca soit un simple bContinuer ou un (machin XOR truc) AND NOT (Bidule OR (i=3))
en gros , du moment que le resultat est boolean, tu peux mettre ce que tu veux ! (ou alors, j'ai pas bien compris la question) |
| Jubijub | pour un repeat .. until, on peut pas mettre 2 conditions de sorties et que l'une XOR l'autre soit valide ? |
| Jubijub | ok...
ca m'étonne moins du coup :p :D |
| JWhy | regarde la: http://forum.hardware.fr/forum2.php3?post=250&cat=10 (3eme reponse) |
| Jubijub | ok, merci...
-->sinon question comme ca : tu sais programmer dans combien de langages ? |
| JWhy | la syntaxe du while est comme suit:
while test do instruction une instruction est : une instruction simple (appel de fonction, assignement, etc...) ou une suite d'instructions encadré par begin...end donc dans ton cas quand tu mets:
|
| Jubijub | ca marche pas :
[edtdd]--Message édité par Jubijub--[/edtdd] |
| Jubijub | Cad tu met juste un uppercase sur chaque début de Mot dans ta variable...
donc si g bien compris, nombre de jour d'une année, entier, sera :
|
| antp | mwouais... mais bon je préfère me conformer au standard de Borland, vu que tout leur source est comme ça, et que la majorité des développeurs suit ça. |
| JWhy | http://www.delphi-jedi.org/Jedi:JCLOPSG:54342
ca doit etre le meme contenu... antp> je suis d'accord avec toi mais quand tu fais des relectures croisées de codes c'est bien pratique d'avoir ca ! |
| antp | normalement en Pascal il faut pas:
http://community.borland.com/artic [...] 80,00.html en plus dans delphi quand tu passes sur les var y a une infobulle qui en donne le type... donc c'est pas trop nécessaire. [edtdd]--Message édité par antp--[/edtdd] |
| JWhy | oui... c'est bien pratique quand t'as du code a lire:
iEntier, sChaine, bBooleen, dtDateTime, dbDouble, etc... je vais essayer de te trouver les regles de nommages de Delphi que j'utilise, je crois qu'elles sont sur le site de Borland... |
| Jubijub | tu met tjs le type de var en minuscule devant tes noms de variable ? |
| JWhy | pour concatener, t'as l'operateur + ou bien format()
sChaine1 := 'Le debut' sChaine2 := sChaine1 + ' de la fin'; ou bien sChaine1 := 'Le debut' sChaine2 := format('%s %s',[sChaine1, 'de la fin']); ou encore sChaine2 := 'Le debut' +' '+ 'de la fin'; t'as le choix ! [edtdd]--Message édité par JWhy--[/edtdd] |
| Jubijub | et pour copier dans une char, y'a rien d'autre que la concaténation avec + ? (c bien ca déjà, c juste pour savoir si il existe autre chose) |
| JWhy | il te faut donc utiliser Copy()
1) tu verifies que tu as la bonne taille ( taille de la chaine = taille d'un numero de SS) ou alors (version crade) taille de la chaine > 8 (c-a-d taille mini necessaire pour trouver la date + dep.) 2) si c'est ok, tu scindes: var sSexe, sYY, sMM, sDDD :String; sSexe := Copy(sSS, 1, 1); sYY := Copy(sSS, 2, 2); sMM := Copy(sSS, 4, 2); sDDD := Copy(sSS, 6, 3); et apres tu fais tes tests, est-ce numerique, est-ce que le mois est bien entre 1 et 12 , etc... bref tu valides ce que tu as recuperé! [edtdd]--Message édité par JWhy--[/edtdd] |
| Jubijub | Ben euh, imaginons un exemple tordu : T sur mon site, tu dois entrer ton numéro Insee...qui contient ta date de naissance, donc je sais si tu es majeur. ( :o l'exemple foireux....ch'suis l'pornographe du phonographe :D ) Un numéro Insee ca donne ca : S - AA - MM - DD - etc... S = sexe a 2 valeurs : 1 et 2 : 1 = gars, 2 = fille autre = :heink: AA = année de naissance a comme valeur [00..99] MM = mois de naissance a comme valeur [01..12] DD = departement a comme valeur [01..110] Donc suivant mon exemple, en te connectant, t'a une QueryBox qui vient et te demande ton numéro insee (seuls les 5 premiers chiffres sont significatifs, le reste tu met ce que tu veux, il en faut juste 13 en tt). Tu te retrouve donc avec une string qui contient, genre '1810406....' Je veux pouvoir scanner la string chiffre par chiffre, et en fonction de leur position, pouvoir tester des trucs, genre : si char(1) = '1' then Bonjour Monsieur else Bonjour Madame si (StrToInt(char(2)+ char(3)) < 83) then ShowMessage(Tu n'es pas majeur/e (le premier char me donne l'orthographe))...et mettons que je sois fada et que j'ai rentré les 110 et quelques departements francais dans un tableau ou autre type plus adapté (j'en sais rien), que si char(4)+char(6) = '06' then Montrer le contenu du tableau ligne 6, dans un tu viens des alpes maritimes... et là ton truc marche pas...parce que la saisie est uniforme, et que je dois la scinder... [edtdd]--Message édité par Jubijub--[/edtdd] |




