begin process at 2010 02 10 09:34:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

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


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

mardi 5 août 2003 à 10:55:49 | Récupérer les données de zones Edit d'une autre appli

Prog59

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 en le modifiant, 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).

Faut-il définir, dans le prg, les Edit de manière à ce que le prg prenne les Edit de la fenetre "test" ? Exemple : test.Edit1, ...

Je ne sais comment faire, je débute en prg Delphi.

Merci de m'aider

Voici le prg 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 = '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.
mardi 5 août 2003 à 11:43:14 | Re : Récupérer les données de zones Edit d'une autre appli

magicvinni

Si c'est les edit sont sur la From1par exemple, il suffit de mettre uses unit1 après implémentation dans l'unité où se trouve les bouttons je crois.
MagicVinni


-------------------------------
Réponse au message :
-------------------------------

> 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 en le modifiant, 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).
>
> Faut-il définir, dans le prg, les Edit de manière à ce que le prg prenne les Edit de la fenetre "test" ? Exemple : test.Edit1, ...
>
> Je ne sais comment faire, je débute en prg Delphi.
>
> Merci de m'aider
>
> Voici le prg 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 = '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.
mardi 5 août 2003 à 18:18:24 | Re : Récupérer les données de zones Edit d'une autre appli

Emandhal

je c pas si g bien pigé... mais si les boutons sont sur une fenetre et les edit sur un ot y te fo préciser l'endroit de la recherche des Component genre mettre test. (le nom de la form où ils sont censé etre devant

ex:
> for i:=0 to test.ComponentCount - 1 do
> //si le composant trouvé est du type recherché
> if test.Components[i] is TEdit then
> begin
> Edit := TEdit(test.Components[i]);
> //écrire un entrée avec le nom et le contenu du contrôle
> Ini.WriteString(Section, Edit.Name, Edit.Text+';');
> end;

Tout problème a sa solution... Mais en général, c'est jamais la bonne...


-------------------------------
Réponse au message :
-------------------------------

> Si c'est les edit sont sur la From1par exemple, il suffit de mettre uses unit1 après implémentation dans l'unité où se trouve les bouttons je crois.
> MagicVinni
mercredi 6 août 2003 à 12:25:49 | Re : Récupérer les données de zones Edit d'une autre appli

Prog59

J'ai modifié mon prg (voir ci dessous)
mais j'ai un message d'erreur : Le projet MultiEditSave.exe a provoqué une classe d'exception EAccessViolation avec le message "Violation d'accès à l'adresse 00413F28 dans le module 'MultiEditSave.exe'. LEcture de l'adresse 00000010".

Erreur dans le CPU :
TComponent.GetComponent.Count :
00413F28 mov edx,[eax+$10]

Est-ce parceque ma fenêtre Saisies fait partie d'un autre projet ?

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;
type
TSaisies = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;

private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
MultiEditForm: TMultiEditForm;
Saisies : TForm;
const
//Nom du fichier où seront sauvegardés les contenus des TEdit
FileName = 'Fichier.txt';
//SectionName
Section = '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;
Saisies : TForm;
begin
Ini := TIniFile.Create(EditsFileName);
try
//parcourir les composants sur la fiche
for i:=0 to Saisies.ComponentCount - 1 do
//si le composant trouvé est du type recherché
if Saisies.Components[i] is TEdit then
begin
Edit := TEdit(Saisies.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 Saisies.ComponentCount - 1 do
if Saisies.Components[i] is Tedit then
begin
Edit := Saisies.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.



-------------------------------
Réponse au message :
-------------------------------

> Si c'est les edit sont sur la From1par exemple, il suffit de mettre uses unit1 après implémentation dans l'unité où se trouve les bouttons je crois.
> MagicVinni
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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 en le modifiant, 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).
> >
> > Faut-il définir, dans le prg, les Edit de manière à ce que le prg prenne les Edit de la fenetre "test" ? Exemple : test.Edit1, ...
> >
> > Je ne sais comment faire, je débute en prg Delphi.
> >
> > Merci de m'aider
> >
> > Voici le prg 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 = '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.
>
mercredi 6 août 2003 à 23:02:34 | Re : Récupérer les données de zones Edit d'une autre appli

magicvinni

J'ai du mal a suivre ce que tu veux faire.
Si c'est sur 2 FENETRES que tu travailles alors ca devrait marcher. Si tu me parles de 2 applications différentes alors c'est beaucoup plus compliqué.

MagicVinni


-------------------------------
Réponse au message :
-------------------------------

> J'ai modifié mon prg (voir ci dessous)
> mais j'ai un message d'erreur : Le projet MultiEditSave.exe a provoqué une classe d'exception EAccessViolation avec le message "Violation d'accès à l'adresse 00413F28 dans le module 'MultiEditSave.exe'. LEcture de l'adresse 00000010".
>
> Erreur dans le CPU :
> TComponent.GetComponent.Count :
> 00413F28 mov edx,[eax+$10]
>
> Est-ce parceque ma fenêtre Saisies fait partie d'un autre projet ?
>
> 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;
> type
> TSaisies = class(TForm)
> Edit1: TEdit;
> Edit2: TEdit;
> Edit3: TEdit;
> Edit4: TEdit;
>
> private
> { Déclarations privées }
> public
> { Déclarations publiques }
> end;
>
> var
> MultiEditForm: TMultiEditForm;
> Saisies : TForm;
> const
> //Nom du fichier où seront sauvegardés les contenus des TEdit
> FileName = 'Fichier.txt';
> //SectionName
> Section = '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;
> Saisies : TForm;
> begin
> Ini := TIniFile.Create(EditsFileName);
> try
> //parcourir les composants sur la fiche
> for i:=0 to Saisies.ComponentCount - 1 do
> //si le composant trouvé est du type recherché
> if Saisies.Components[i] is TEdit then
> begin
> Edit := TEdit(Saisies.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 Saisies.ComponentCount - 1 do
> if Saisies.Components[i] is Tedit then
> begin
> Edit := Saisies.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.
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Si c'est les edit sont sur la From1par exemple, il suffit de mettre uses unit1 après implémentation dans l'unité où se trouve les bouttons je crois.
> > MagicVinni
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > 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 en le modifiant, 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).
> > >
> > > Faut-il définir, dans le prg, les Edit de manière à ce que le prg prenne les Edit de la fenetre "test" ? Exemple : test.Edit1, ...
> > >
> > > Je ne sais comment faire, je débute en prg Delphi.
> > >
> > > Merci de m'aider
> > >
> > > Voici le prg 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 = '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.
> >
>


Cette discussion est classée dans : end, edit, sender, procedure, tedit


Répondre à ce message

Sujets en rapport avec ce message

"Incompatible types :''Cardinal' and 'String' " [ par Don0Choa ] Bonjour, je fais un petit prog permettant de fair des boite de dialogue en séléctionnant les bouttons, icones etc...Mais voila j'ai une erreur comem d TNotifyEvent [ par apz ] Salut, en executant ce code j'ai eu le code d'ereur suivant : Types incompatibles : 'TnotifyEvent' et 'procedure, untyped pointer or untyped parameter pb a creer un exe avec la principal form invisible [ par Winniez ] J'ai voulu au demarrage de exe afficher une autre form que la form principal. a l'execution sa me met une erreur, apres g mis le meme code dans un bou Newbie & TCPI/IP [ par Megafan ] Bonjour je suis complétement débutant en delphi, par contre je suis pas mauvais en VB.Pourquoi je change allez vous dire ?Parce que VB ne tourne pas s probleme avec sockets [ par PsyClown44 ] Salut!J'ai un prob avec le composant TClientSocket : je n'arrive pas a recevoir de paquets lors d'une connexion!Voila le code:unit Unit1;interfaceuses desactiver le bip du tedit [ par MoveX ] bonjourprocedure TForm1.EditInKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if (Key = 13) then BitBtnExeClick(Sender); Application ne fonctionnant que sur le PC où je développe. [ par blood01 ] Bonjour à tous,Je suis en train de développer un logiciel permettant d'envoyer des données dans EXCEL. Apres traitement, je récupère les résultats et Réccupérer des données sur un autre Unit [ par m_cyril1 ] J'ai fait un petit programme, celui-ci mémorise des chiffres entier sur une première form et sur la deuxième le résultat de la somme des chiffres s'af Erreur de type asynchrone [ par Francky23012301 ] Salut à tous,j'ai voulu faire un petit test de transfert de fichiers transfert client->serveur :La connection du client au serveur s'effectue correcte probleme de click entre un temps [ par maxioutils ] Voila le code presque complet :unit Unit6; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales