try
//**********************************//
ADOTable1.First;
while not ADOTable1.Eof do
begin
edit6.text:=ADOTable1.FieldByName('compte').AsString;
edit7.text:=ADOTable1.FieldByName('clé').AsString ;
edit9.text:= ADOTable1.FieldByName('numero').AsString ;
edit10.text:= ADOTable1.FieldByName('nom').AsString;
edit11.text:= ADOTable1.FieldByName('net_a_payer').AsString;
som:=0;
for i:=1 to Length(edit6.Text) do
begin
som:=som+strtoint(edit6.text[i])*( (4+ Length(edit6.Text))-i);
edit8.Text:=IntToStr(som);
edit8.Text:= edit8.Text[Length(edit8.Text)-1]+edit8.Text[Length(edit8.Text)];
end;
edit13.Text:= Format('%.2d',[strtoint(edit8.text)]);
//edit13.text يحتوي الان على cle المحسوب و edit7.text يحتوي على cle المدخل الى الجدول نقوم بالمقارنة
//adotable3 هو جدول نضع فيها الحسابات الخاطئة لطباعتها فيما بعد و تصحيحها
if edit7.text <> edit13.text then
Begin
// هده الحلقة من اجل عدم تكرار ادخال الحسابات الى جدول الحسابات الخاطئة
adotable3.Open ;
If (adotable3.Locate ('Nom et Prénom' , edit10.text , [Locaseinsensitive] ) )and(adotable3.Locate ('Compte CCP',edit6.text , [Locaseinsensitive] ) ) Then
begin
// Showmessage ( ' Ce person existe déjà, SVP introduire un autre person ' ) ;
Label11.Visible:=False ;
// Abort
// End
end
//***********************************// // في حالة كان الحساب خاطئ وغير موجود في جدول الحسابات الخاطئة نقوم باظافته
else
begin
ADOTable3.close;
ADOTable3.open;
ADOTable3.edit ;
ADOTable3.append;
ADOTable3.FieldByName('numero').AsString:=edit9.text ;
ADOTable3.FieldByName('Nom et Prénom').AsString:= edit10.text;
ADOTable3.FieldByName('Compte CCP').AsString:= edit6.text;
ADOTable3.FieldByName('net_a_payer').AsString:=edit11.text ;
ADOTable3.FieldByName('Clé').AsString:= edit7.text;
adotable3.post;
end;
end;
ADOTable1.Next;
end;
except
showmessage('error');
end;