Récupérer les données de zones Edit d'une autre appli

Prog59 Messages postés 4 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 août 2003 - 6 août 2003 à 11:07
zohayer Messages postés 1 Date d'inscription samedi 25 septembre 2004 Statut Membre Dernière intervention 25 décembre 2005 - 25 déc. 2005 à 18:35
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.

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 août 2003 à 12:02
Pour recuperer le texte d'une appli externe:
SendMessage(hwnd, WM_GETTEXT, lenBuffer, ptrBuffer);
BruNews, ciao...
0
zohayer Messages postés 1 Date d'inscription samedi 25 septembre 2004 Statut Membre Dernière intervention 25 décembre 2005
25 déc. 2005 à 18:35
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
0
Rejoignez-nous