unit VersCSV; {$mode objfpc}{$H+} interface uses Classes, SysUtils, DB, csvdataset, SdfData, Forms, Controls, Graphics, Dialogs, StdCtrls, EditBtn, ExtCtrls, DBGrids, Grids, SynHighlighterTeX, Ipfilebroker; type { TForm1 } TypeMois = (JANVIER=1,FEVRIER,MARS,AVRIL,MAI,JUIN,JUILLET,AOUT,SEPTEMBRE,OCTOBRE,NOVEMBRE,DECEMBRE); TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; ComboBox1: TComboBox; ComboBox2: TComboBox; CSVDataset1: TCSVDataset; DataSource1: TDataSource; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Memo2: TMemo; OpenDialog1: TOpenDialog; Panel1: TPanel; StringGrid1: TStringGrid; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormCreate(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject); var F: TextFile; Stg:String; Fichier,com, com1:String; Mois : TypeMois; Debut, fin, nbcartes : Integer; long : Single; begin Fichier := Edit1.text; if not FileExists(Fichier) then exit; AssignFile(F,Fichier); Reset(F); Memo2.Lines.Clear; long := 0; nbcartes :=0; While not Eof(F) do begin Readln(F,Stg); if Pos('COM ',Stg)>0 then begin Debut:= Pos('COM',Stg); fin := Pos('E"',Stg); com1 :=Copy(Stg,Debut +3,(fin - Debut)-3); com := TrimLeft(com1); //Memo1.Lines.Add(com); long := long + StrtoFloat(com); inc(nbcartes); end; end; Memo2.lines. add( InttoStr(nbcartes) +' remises de cartes bancaires pour le mois de '+ComboBox1.Text+' .'); Memo2.lines. add('Commisions : ' + FloattostrF(long, ffFixed, 4,2) + ' €uros' ); CloseFile(F); end; procedure TForm1.Button2Click(Sender: TObject); begin if not(ComboBox1.Text = '') then begin If OpenDialog1.Execute then Edit1.Text:= OpenDialog1.FileName end else ShowMessage('Vous devez préciser le mois de saisie !' ); end; procedure TForm1.Button3Click(Sender: TObject); begin CSVDataset1.Active:=False; CSVDataset1.CSVOptions.Delimiter := ';'; CSVDataset1.Active:=True; StringGrid1.SaveToCSVFile((GetCurrentDir+'\FB - 11-2020.csv')); end; procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction); begin //CSVDataset1.SaveToCSVFile(GetCurrentDir+'\EcritBanque.csv'); //CSVDataset1.Close; //CSVDataset1.Active:=True; //CSVDataset1.CSVOptions.Delimiter := ';'; //StringGrid1.SaveToCSVFile((GetCurrentDir+'\FB - 11-2020.csv')); end; procedure TForm1.FormCreate(Sender: TObject); begin //CSVDataset1.LoadFromCSVFile(GetCurrentDir+'\EcritBanque.csv'); //CSVDataset1.Open; //showmessage( GetCurrentDir+'\FB - 11-2020.csv) //CSVDataset1.Active:=True; //CSVDataset1.CSVOptions.Delimiter := ';'; StringGrid1.LoadFromCSVFile((GetCurrentDir+'\FB - 11-2020.csv')); end; end.