bonsoir a tous , excusez moi du derangement mais j ai un petit probleme

avec un listview (toujours pour mon travail de fin d'étude sur la gestion

complete d'un café)


je m'explique : dans un listview(qui symbolise mon ticket de caisse a l'écran)

j ai 2 colonnes :

1ere colonne= articles : qui contient les articles choisis par le serveur

2eme colonne= les prix : en euros

quand je calcule mon total,pas de problemes,ca fonctionne bien

par contre,j'ai prévu un bouton annuligne , pour que le serveur

puisse retirer des elements avant de valider le ticket

en voici le code :

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
procedure TForm_Caisse.RbButton_Annulligne_TicketClick(Sender: TObject);
var i:integer;
phrase:array of string;
temp:array of real;
begin
setlength(phrase,ListView_Ticket.Items.Count);
setlength(temp,ListView_Ticket.Items.Count);
for i:= 0 to (ListView_Ticket.Items.Count -1) do
begin
      if (ListView_Ticket.Items.Item[i].selected=true)
      then
      begin
      phrase[i]:=ListView_Ticket.Items.Item[i].SubItems[0];
      temp[i]:=strtofloat(phrase[i]);
      total:=total-temp[i];
 
      end;
end;
 
ListView_Ticket.DeleteSelected;
Edit_Total.Text:=floattostr(total)+' '+'€';
 
end;
alors mon probleme : parfois ca fonctionne bien , si par exemple je supprime

tout les elements du listview , mon edit_total affiche bien : 0 €

mais parfois cela m affiche une valeur folle

genre : 3,27418092638254E-15 €

comment cela se peut il ?

est ce un bug ? y a t il moyen de le résoudre ?

PS : je précise que j utilise borland delphi 2005 developper edition

ainsi que microsoft access 2003

je vous remercie d avance pour votre aide car je dois presenter mon

travail ce samedi 16 septembre a 11h15 du matin