Bonjour tous le monde
peut-on trouver un if sans then ?!!
j'ai trouvé cet exemple
et c'est un code compilé ?!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (len <= 0) return 0;
Bonjour tous le monde
peut-on trouver un if sans then ?!!
j'ai trouvé cet exemple
et c'est un code compilé ?!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (len <= 0) return 0;
non ça c'est du C Like (genre PHP, Javascript, C, C++ ou LUA)
en Delphi la syntaxe c'est :
ce qui correspond au C :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if {condition} then {instruction ou bloc de code} else {instruction ou bloc de code}
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (/*condition*/) /* instruction ou bloc de code*/ else /* instruction ou bloc de code*/
donc pour :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (len <= 0) return 0;
on aura le code Pascal/Delphi :
et le code Delphi 2009 +
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if len <= 0 then begin result := 0; exit; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if len <= 0 then exit(0);
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
donc on peut inclure un code c dans un programme Delphi (comme assembleur) ?!!
d'ailleur j'ai trouvé un exemple, ou on a un mélange entre le C et Delphi
et un autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 {$ifdef HAS_snprintf} snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); {$else} sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); {$endif} len := strlen(buf); { old sprintf doesn't return the nb of bytes written } if (len <= 0) return 0; gzprintf := gzwrite(file, buf, len); end; {$ENDIF}
c'est possible ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 {$ifndef ORG_DEBUG} { Inline versions of _tr_tally for speed: } #if defined(GEN_TREES_H) || !defined(STDC) extern uch _length_code[]; extern uch _dist_code[]; #else extern const uch _length_code[]; extern const uch _dist_code[]; #endif macro _tr_tally_lit(s, c, flush) var cc : uch; begin cc := (c); s^.d_buf[s^.last_lit] := 0; s^.l_buf[s^.last_lit] := cc; Inc(s^.last_lit); Inc(s^.dyn_ltree[cc].fc.Freq); flush := (s^.last_lit = s^.lit_bufsize-1); end; macro _tr_tally_dist(s, distance, length, flush) \ var len : uch; dist : ush; begin len := (length); dist := (distance); s^.d_buf[s^.last_lit] := dist; s^.l_buf[s^.last_lit] = len; Inc(s^.last_lit); Dec(dist); Inc(s^.dyn_ltree[_length_code[len]+LITERALS+1].fc.Freq); Inc(s^.dyn_dtree[d_code(dist)].Freq); flush := (s^.last_lit = s^.lit_bufsize-1); end; {$endif}
pour l'assembleur et dans mon parser j'ingore toute la partie qui commence par ASM et termine par END
mais pour le C je vois pas ou il peut se trouver, entre les directives {$ifdef} et {$endif} ou bien la directive {$ifndef} ? et es-ce qu'il existe d'autre cas possible ?
Cordialement
il existe deux IDE par borland :
Delphi (BDS) et CBuilder (BCB).
on peux trouver du code de BDS et BCB dans les mêmes unité, entouré des directives :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 {$IFDEF BCB} 'code C' {$ELSE} {$IFDEF BDS} 'code Delphi' {$ELSE} {$IFDEF FPC} 'code Free pascal' {$ENDIF} {$ENDIF} {$ENDIF}
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager