Bonjours a tous,

J'ai un calcul assez complexe qui me permettra de calculer une production horaire.
mon code est le suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
procedure TForm1.BitBtn1Click(Sender: TObject);
var AFQ,AFR,A1:real ;
begin
AFQ:=StrToInt(NivFer.Text)mod 2;
AFR:=StrToInt(FloatToStr(StrToInt(NivFer.Text)/ 2));
A1:=((((((1+ AFQ)*AFQ)+((AFQ+1)*AFR)))*10)+((((AFR+1)/ 2))*2)+10);
 
FerDispo.Text:=FloatToStr(A1);
end;
Quand je tape un nombre impaire dans la zone de saissie, le resultat obtenu au court du calcul est "X,5" et l'application me renvoie une erreur comme quoi X,5 n'est pas une valeur entiere.
J'ai regarder dans les differents post dans le forum, mais j'ai rien trouver pouvant m'aider a resoudre le probleme.
J'ai tenter aussi de mettre les variables en Integer, extended mais rien n'y fait.

Je pense que c'est un probleme de declaration de type de variable mais je n'y arrive pas pouvez vous m'aider s'il vous plait ?
merci