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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
procedure TForm1.FormCreate(Sender: TObject);
begin
TS := TStringList.Create;
TS.Sorted := true;
TS.Duplicates := dupIgnore;
ThousandSeparator := ' ';
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
TS.Free;
end;
procedure TForm1.BViderClick(Sender: TObject);
begin
if MessageDlg('Confirmation', 'Voulez-vous vraiment vider la liste ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
BVider.Enabled := false;
BAjouter.Enabled := false;
BSauvegarder.Enabled := false;
TS.Clear;
LInformations.Caption := IntToStr(TS.Count);
BVider.Enabled := true;
BAjouter.Enabled := true;
BSauvegarder.Enabled := true;
end;
end;
procedure TForm1.BAjouterClick(Sender: TObject);
var
F: TextFile;
L : String;
begin
OpenDialog1.Filter := 'Fichier texte|*.txt';
OpenDialog1.Options := [ofFileMustExist];
OpenDialog1.Title := 'Veuillez choisir le fichier à ajouter...';
if OpenDialog1.Execute then
begin
BVider.Enabled := false;
BAjouter.Enabled := false;
BSauvegarder.Enabled := false;
AssignFile(F, OpenDialog1.FileName);
Reset(F);
try
while not Eof(F) do
begin
ReadLn(F, L);
TS.Add(L);
LInformations.Caption := FloatToStrF(TS.Count, ffNumber, 10, 0);
Application.ProcessMessages;
end;
except
on E : Exception do
begin
MessageDlg('Erreur', E.Message, mtError, [mbOK], 0);
end;
end;
CloseFile(F);
BVider.Enabled := true;
BAjouter.Enabled := true;
BSauvegarder.Enabled := true;
end;
end;
procedure TForm1.BSauvegarderClick(Sender: TObject);
var
F: TextFile;
i: Integer;
begin
SaveDialog1.Filter := 'Fichier Texte|*.txt';
SaveDialog1.Title := 'Veuillez choisir le nom du fichier à sauvegader...';
if SaveDialog1.Execute then
begin
BVider.Enabled := false;
BAjouter.Enabled := false;
BSauvegarder.Enabled := false;
AssignFile(F, SaveDialog1.FileName);
Rewrite(F);
try
for i:= 0 to TS.Count-1 do
begin
WriteLn(F, TS.Strings[i]);
LInformations.Caption := FloatToStrF(i+1, ffNumber, 10, 0) + ' / ' + FloatToStrF(TS.Count, ffNumber, 10, 0);
Application.ProcessMessages;
end;
except
on E : Exception do
begin
MessageDlg('Erreur', E.Message, mtError, [mbOK], 0);
end;
end;
CloseFile(F);
BVider.Enabled := true;
BAjouter.Enabled := true;
BSauvegarder.Enabled := true;
end;
end; |
Partager