procedure TFImp.TraiteLigne(uneLigne : string ; nb : integer);
var
Atab : Array[1..11] of string;
i,Npos, Cpt : integer;
Px : double;
Adr2, Adr3, Prx : String;
Begin
for i:= 0 to 11
do Atab[i] :='';
Npos :=1;
For i:=1 TO Length(uneLigne)
do
begin
if uneLigne[i] =';'then
begin
Inc(Npos);
end
else
begin
if uneligne[i] ='.' then
begin
Atab[Npos]:=Atab[Npos]+','
end
else Atab[Npos]:=Atab[Npos]+uneLigne[i];
end;
end;
Tota := Tota +1;
Data1.CLIENT.First;
if Data1.CLIENT.FindKey([atab[1]]) = False then
begin
totb := Totb +1;
cpt := 0;
Adr2 := atab[6];
Adr3 := Atab[7];
if atab[11] <> '' then
begin
if Adr2 = ''
then Adr2 := atab[11]
else if Adr3 = ''
then Adr3 := atab[11]
else Adr2 := Adr2+' '+Atab[11];
end;
data1.CLIENT.Append;
if data1.CLIENT.State = dsInsert then
begin
data1.CLIENT.FieldByName('NFACT').AsString := atab[1];
data1.CLIENT.FieldByName('NOM').AsString := atab[2];
data1.CLIENT.FieldByName('PRENOM').AsString := atab[3];
if atab[4] <> '0'
then Data1.CLIENT.FieldByName('NRUE').AsString := atab[4];
data1.CLIENT.FieldByName('ADR1').AsString := atab[5];
data1.CLIENT.FieldByName('ADR2').AsString := Adr2;
data1.CLIENT.FieldByName('ADR3').AsString := Adr3;
data1.CLIENT.FieldByName('CPOS').AsString := atab[8];
data1.CLIENT.FieldByName('VILLE').AsString := atab[9];
try
data1.CLIENT.FieldByName('MTCBT').AsString := FormatFloat('0.00',StrToFloat(atab[10]));
except
for i := 0 to length(atab[10]) do
begin
if MidStr(atab[10],i,1)=','
then Prx := Prx + '.'
else Prx := Prx + MidStr(Atab[10],i,1);
data1.CLIENT.FieldByName('MTCBT').AsString := FormatFloat('0.00',StrToFloat(Prx));
end;
end;
data1.CLIENT.FieldByName('EXP').AsString := 'N';
data1.CLIENT.FieldByName('LOCK').AsBoolean := False;
data1.CLIENT.Post;
end;
end;
Lcom2.Caption := IntToStr(totb)+' Clients insérés sur '+IntToStr(tota)+' Trouvés';
Lcom2.Update;
End;
Partager