Bonsoir
Je viens vous soumettre un problème que je n'arrive pas à résoudre.
J'ai un Tedit avec un montant que j'ajoute à un autre Tedit en bas de fiche pour faire un total et que je sauvegarde dans un fichier ini. (voir image écran en pièces jointes)
Si je coche le checkbox à coté du montant, je déclenche la procédure Check2.click (ci-dessous) qui elle même simule le click sur le bouton pour réactualiser d'autres calculs
La procédure se fait bien sauf que si je ferme et réouvre le programme, le montant affiché dans à été multiplié par 2 ??
J'ai beau retourner le problème dans tous les sens, je ne vois pas où ça cloche ...
Pour info : l'edit qui contient le montant initial 39,90 se nomme Edmont1 et celui qui recoit le mauvais total 79,80 se nomme EdTampon
Merci d'avance pour votre aide
Cordialement
Beauserge
code pour checkbox
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
42 procedure TForm1.Check2Click(Sender: TObject); var EchTampon,AddEch:real; begin Ech1:=StrToFloat(Edmont1.text); Ech2:=StrToFloat(Edmont2.text); Ech3:=StrToFloat(Edmont3.text); Ech4:=StrToFloat(Edmont4.text); Ech5:=StrToFloat(Edmont5.text); Ech6:=StrToFloat(Edmont6.text); Ech7:=StrToFloat(Edmont7.text); Ech8:=StrToFloat(Edmont8.text); Ech9:=StrToFloat(Edmont9.text); Ech10:=StrToFloat(Edmont10.text); Ech11:=StrToFloat(Edmont11.text); Ech12:=StrToFloat(Edmont12.text); TotalEch:=Ech1+Ech2+Ech3+Ech4+Ech5+Ech6+Ech7+Ech8+Ech9+Ech10+Ech11+Ech12; if check2.checked then begin Edmont2.Color:=clsilver; EchTampon:=StrToFloat(EdTampon.text); AddEch:=EchTampon+Ech2; EdTampon.Text:=FloatToStr(AddEch); Edbudgetmois.text:=(Format('%8.2f',[TotalEch-AddEch])); SpdBtnbudgetClick(Self) end else if check2.checked=false then begin Edmont2.Color:=clwindow; EchTampon:=StrToFloat(EdTampon.text); AddEch:=EchTampon-Ech2; EdTampon.Text:=FloatToStr(AddEch); Edbudgetmois.text:=(Format('%8.2f',[TotalEch-AddEch])); SpdBtnbudgetClick(Self) // simule click sur le bouton pour remettre à jour les totaux end; end;
code pour autres calculs
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 // affiche ou cache le panel Estimation Budget procedure TForm1.SpdBtnbudgetClick(Sender: TObject); var Soldereel, Depmois, Diff:real; begin panelbudget.visible:=true; // on affiche le panel // code ci-après pour valider l'estimation trésorerie if Trim (Edbudgetmois.text) <>'' then // si vide alors rien ne se passe begin Edsoldereel.text:=Edsolde.text; // le solde réel est égal au solde en cours Soldereel:=StrToFloat(Edsoldereel.text); Depmois:=StrToFloat(Edbudgetmois.text); Diff:=Soldereel-Depmois; // calcul de la différence entre solde et budget Eddiff.text:=(Format('%8.2f',[Diff])); // affichage de la différence entre solde et budget
Partager