Bonjour,
J'ai une appli qui contient des Edit et je voudrai récupérer les données des Edit dans un fichier txt.
J'ai repris le prg de DelphiProg concernant la récupération de données de zones Edit, mais les Edit font partie de la même fenêtre que les Buttons de lancement du prg de récup. Tandis que moi je voudrai avoir une fenêtre contenant les Buttons de lancement du prg (le prg récupérant les données d'une fenêtre de mon appli)
Je ne sais comment faire, je débute en prg Delphi.
Merci de m'aider
Le prg (prg réalisé par DelphiProg et modifié) :
unit UMultiEditForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMultiEditForm = class(TForm)
btnSaveEdits: TButton;
btnReloadEdits: TButton;
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Memo1: TMemo;
btnVerifyFile: TButton;
Button1: TButton;
Button2: TButton;
Memo2: TMemo;
procedure btnSaveEditsClick(Sender: TObject);
procedure btnReloadEditsClick(Sender: TObject);
procedure btnVerifyFileClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
MultiEditForm: TMultiEditForm;
const
//Nom du fichier où seront sauvegardés les contenus des TEdit
FileName = 'Fichier.txt';
//SectionName
Section = 'Saisies.Edits';
implementation
{$R *.dfm}
uses
IniFiles;
Var
EditsFileName,line : string;
F : textfile;
St : TStringList;
procedure TMultiEditForm.btnSaveEditsClick(Sender: TObject);
var
i : integer;
Ini : TIniFile;
Edit : TEdit;
begin
Ini := TIniFile.Create(EditsFileName);
try
//parcourir les composants sur la fiche
for i:=0 to ComponentCount - 1 do
//si le composant trouvé est du type recherché
if Components[i] is TEdit then
begin
Edit := TEdit(Components[i]);
//écrire un entrée avec le nom et le contenu du contrôle
Ini.WriteString(Section, Edit.Name, Edit.Text+';');
end;
btnVerifyFile.Enabled := True;
finally
Ini.Free;
end;
end;
procedure TMultiEditForm.btnReloadEditsClick(Sender: TObject);
var
i : integer;
Ini : TIniFile;
Edit : TEdit;
begin
Ini := TIniFile.Create(EditsFileName);
try
For i:=0 to ComponentCount - 1 do
if Components[i] is Tedit then
begin
Edit := Components[i] as TEdit;
Edit.Text := Ini.ReadString(Section, Edit.Name, 'Non trouvé');
end;
finally
Ini.Free;
end;
end;
procedure TMultiEditForm.btnVerifyFileClick(Sender: TObject);
begin
Memo1.Clear;
if FileExists(EditsFileName) then
Memo1.Lines.LoadFromFile(EditsFileName);
end;
procedure TMultiEditForm.Button1Click(Sender: TObject);
begin
Memo1.Lines.SaveToFile('c:\yoyo.txt');
end;
procedure TMultiEditForm.Button2Click(Sender: TObject);
var G:textfile;
I:integer;
begin
AssignFile(G,'c:\yuyu.txt');
Append(G);
For I:=2 to Memo1.Lines.count do
Writeln(G,Memo1.Lines[1]+Memo1.Lines[2]);
CloseFile(G);
Memo1.Clear;
end;
Initialization
//Construire le nom du fichier de sauvegarde
EditsFileName := ExtractFilePath(Application.ExeName) + FileName;
end.