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