Transfert instantané d'une variable entre 2 unités.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 148 fois - Téléchargée 26 fois

Contenu du snippet

Ce code met à jour 2 Edits de 2 forms différentes en direct.
Code hyper basique pour hyper débutant, mais qui m'a donné quelques soucis. En espérant que cela puisse éviter quelques heures de prise de tête à au moins 1 personne.

1) Créer une Form1 avec un Edit (Name = EditDeForm1).
2) Créer une Form2 avec un Edit (Name = EditDeForm2, Visible= true).

Plus basique que ça, ça n'existe pas! ;)

Source / Exemple :


unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls ;
type
  TForm1 = class(TForm)
    EditDeForm1: TEdit;
    procedure EditDeForm1Change(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
var
  Form1: TForm1;

implementation

{$R *.dfm}
uses Unit2;
var
  Variable : String;

procedure TForm1.EditDeForm1Change(Sender: TObject);
  begin
  Variable := EditDeForm1.Text;
  form2.EditDeForm2.Text := Variable;
  end;
end.

unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls ; type TForm2 = class(TForm) EditDeForm2: TEdit; procedure EditDeForm2Change(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form2: TForm2; implementation {$R *.dfm} uses Unit1; var Variable : String; procedure TForm2.EditDeForm2Change(Sender: TObject); begin Variable := EditDeForm2.Text; form1.EditDeForm1.Text := Variable; end; end.

Conclusion :


Ca fera peut-être sourire les "pros"...
Mais quand on débute, on est parfois bloqué par des conneries... :)

A voir également

Ajouter un commentaire Commentaires
Messages postés
288
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011

yep j'y ai pensé ! mais je croyais que y'avait une solution meilleure c'est pourquoi j'y suis allé sur votre source !
Messages postés
323
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
17 mai 2005

Evitons d'utiliser des variables inutiles:

procedure TForm1.EditDeForm1Change(Sender: TObject);
begin
form2.EditDeForm2.Text := form1.EditDeForm1.Text;
end;
end.

procedure TForm2.EditDeForm2Change(Sender: TObject);
begin
form1.EditDeForm1.Text := form2.EditDeForm2.Text;
end;
end.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.