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 43 44 45 46 47 48
|
procedure TForm1.butt_statClick;
var
i,j:integer;
Titr,Txt,resu:string;
Nbr:String;
F:File of char;
NomFichier:string;
begin
if not savedialog1.execute then
begin
MessageDlg('L''opération est incorrecte.Vous n''avez pas chargé ce type de fichier',mtWarning,[mbOk],0);
exit;
end;
Titr:='DateeStat|MoovOrigDur|TgcelOrigDur|TgtelOrigDur|InterOrigDur|OtherOrigDur|'+
'MoovOrigCost|TgcelOrigCost|TgtelOrigCost|InterOrigCost|OtherOrigCost|'+
'ForwVoiceDur|ForwVoiceCost|MoovSmsCount|TgcelSmsCount|TgtelSmsCount|'+
'InterSmsCount|OtherSmsCount|MoovSmsCost'#13#10;
NomFichier:=savedialog1.filename;
AssignFile(F,NomFichier);
if (FileExists(NomFichier)) then Reset(F)
else
begin
rewrite(F);
BlockWrite(F,Titr[1],length(Titr),i);
end;
resu:='';
Txt:=memo1.Lines.Text;
i:=0;
while i<length(txt) do
begin
while (i<length(txt)) and (not (txt[i+1] in ['0'..'9','.'])) do inc(i);
if (i>length(txt)) then Break;
nbr:='';
while (i<length(txt)) and ((txt[i+1] in ['0'..'9','.'])) do
begin
inc(i);
nbr:=nbr+txt[i];
end;
if nbr<>'' then resu:=resu+nbr+';';
end;
SetLength(resu,length(resu)-1);
Memo1.Clear;
Memo1.Lines.Text:=Titr+resu;
// bien sûr en peut passer par Memo1.Lines.SaveToFile(NomFichier);
BlockWrite(F,resu[1],length(resu),i);
ShowMessage('Le fichier a été formaté avec succès');
CloseFile(F); |
Partager