Bonjour à tous,
Je travail actuellement sous Delphi 5 et deux problèmes me bloquent dans l'avancement de mon projet :
Problème 1 :
Je veux initialiser les variables d'une procédure mais le compilateur ne compile pas ces lignes et plus tard il ne compile pas une autre ligne de mon code :
Si quelqu'un a une solution je suis preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 procedure TCadreResult.Calcul(Sender: TObject); var min, Div1, Div2, A : double; i,j : integer; begin Div2 := 0; // non compilé Div1 := 0; // non compilé // code sans problèmes de compilation Div1 := Div1 * 1000; // ligne compilée Div2 := Div2 * 1000; // ligne non compilée end;
Problème 2 :
J'utilise une fonction qui prend un double en paramètre et qui me renvois un double. Pour choisir le double renvoyé j'utilise une structure utilisant des if else if.
Pas de problème de fonctionnement si SubDiv = 1 ou 4 (donc tout les nombres entiers à mon avis) mais pas dans les autres cas.
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 function TCadreResult.Subdivision( SubDiv : double) : double; begin if (SubDiv = 0.010) then result := 0.006 else if (SubDiv = 0.016) then result := 0.010 else if (SubDiv = 0.025) then result := 0.016 else if (SubDiv = 0.040) then result := 0.025 else if (SubDiv = 0.063) then result := 0.040 else if (SubDiv = 0.10) then result := 0.063 else if (SubDiv = 0.16) then result := 0.10 else if (SubDiv = 0.25) then result := 0.16 else if (SubDiv = 0.40) then result := 0.25 else if (SubDiv = 0.63) then result := 0.40 else if (SubDiv = 1.0) then result := 0.63 else if (SubDiv = 1.6) then result := 1.0 else if (SubDiv = 2.5) then result := 1.6 else if (SubDiv = 4.0) then result := 2.5; end;
Si quelqu'un peu m'expliquer le problème que j'évite de multiplier SubDiv par 1000 pour en faire un entier et pouvoir utiliser mes if.
Merci d'avance
Nyio
Partager