CREATION DE COMPOSANTS DELPHI
TRANSFORMER UNE FICHE EN UN COMPOSANT

 

dernière mise à jour le : samedi 03 mars 2001

Retour au sommaire.
Chapitre précédent
Chapitre suivant

But de la leçon : vous savez tous créer des boite de dialogue à l'aide de composants de la VCL. Par exemple:

Comment transformer cette fiche en un composant ?

 

Création de notre composant qui enveloppera notre fiche (voir Leçon 1) :

 

uses
Windows, ..., FicheDialogue;

 

Création de la fonction execute de notre composant TNomPrenom :

La fonction execute est la fonction servant à ouvrir (afficher) notre composant.

public

  function execute : Boolean;

implementation

function TNomPrenom.execute : Boolean;
begin

 
  FicheDialogue1:=TFicheDialogue1.Create(application);{création, initialisation d'une FicheDialogue1}

Try

  Result:= (FicheDialogue1.ShowModal=IDOK);{affichage de la fiche; la fonction renvoie true si on est sortie en cliquant sur OK}

finally

  FicheDialogue1.free; {libération de la mémoire}

end;

end;

 

A ce stade, vous pouvez tester votre composant. Par exemple, en créant un nouveau projet et en y insérant un bouton et un composant NomPrenom. Dans l'événement du bouton OnClick, mettre

procedure TForm1.BitBtn1Click(Sender: TObject);
begin

  if NomPrenom1.Execute then Form1.BitBtn1.caption:='ok' else Form1.BitBtn1.caption:='false';

end;

A ce stade, la question que l'on se pose est : comment pouvoir mettre un nom et un prénom par défaut avant l'ouverture de la fiche et comment récupérer facilement les nom et prénom donnés par l'utilisateur ?

Et bien, on va tout simplement créer une propriété nom et une propriété prénom.

Si vous voulez vous rafraîchir la mémoire : allez à la Leçon 2 : Ajout de propriétés dans un composant

 

Création des propriétés Nom et Prenom

public

  Constructor Create(AOwner:TComponent); override;

published

implementation
Constructor
T.Create(AOwner:TComponent);
begin

  InHerited Create(AOwner);
  Nom:='';
Prenom:=''

end;

published
property Nom : string read FNom write FNom;

property Prenom : string read FPrenom write FPrenom;

private
FNom:string;
FPrenom:string;

 

Vous pouvez tester votre composant. Nom et Prenom apparaîtront dans l'inspecteur d'objets. Pourtant, on ne peut toujours pas affecter ou récupérer les valeurs de Nom et Prenom. Pour cela, nous devons créer un lien en entrée et sortie entre Edit1.Text et la propriété Nom ainsi qu'entre Edit2.Text et la propriété Prenom.

function TNomPrenom.execute : Boolean;
begin

 
  FicheDialogue1:=TFicheDialogue1.Create(application);

Try

  {lien en entrée (avant le ShowModal)}
FicheDialogue1.Edit1.Text:=Nom;
FicheDialogue1.Edit2.Text:=Prenom;

Result:= (FicheDialogue1.ShowModal=IDOK);

{lien en sortie (après le ShowModal)}
Nom:=FicheDialogue1.Edit1.Text;
Prenom:=FicheDialogue1.Edit2.Text;

finally

  FicheDialogue1.free;

end;

end;

Votre source doit maintenant ressembler à ceci: source

Et voilà ! vous n'avez plus qu'à tester votre composant :-)

 

Retour au sommaire.
Chapitre suivant