![]() |
guill.net
-
La page des réseaux
|
![]() |
|
![]() ![]() ![]() |
Borland Delphi
Première application
J'espère que vous avez lu l'introduction à la programmation objet, ou au moins l'introduction au Delphi... Oui? Alors on y va!
Première application...
Ca ne va pas être une
application très utile, mais elle devrait avoir l'avantage de vous
montrer comment faire un programme, comment utiliser un bouton, une boite
d'édition et une zone de texte.
Voici ce que nous allons
faire... Sur notre fenêtre, il y aura :
- Un bouton "Boîte
de dialogue". Quand on clique dessus, une boite de dialogue
s'ouvre avec juste un message quelconque et un bouton "Ok"
- Une zone de texte
qui écrira quelque chose à chaque fois qu'on aura cliqué
sur le bouton "Boîte de dialogue", par exemple le nombre de fois
qu'on a cliqué dessus
- Une boîte d'édition
où s'incrira le nombre de fois qu'on a cliqué sur "Boîte
de dialogue" mais que lorsqu'on cliquera sur un autre bouton "Combien
de fois?"
Connaissez-vous une application
plus inutile?
Mise en place des composants
Vous avez donc devant vous la fenêtre "Form1" qui est totalement vierge. Si ce n'est pas le cas, fermez tout ("Close all" dans le menu "File") et faîtes "New Application", nouvelle application.
On va commencer par enregistrer notre projet, "Enregistrer le projet sous...". Il vous demande un premier nom ("Unit1.pas"), ce sera le nom du fichier contenant le code du programme. Il vous demande ensuite le nom du projet, appelez-le "premier.dpr" par exemple. Les noms ne peuvent contenir d'espaces, le caractère "_" est autorisé.
Maintenant, dans la palette
de composants "Standard", cliquez sur le bouton, et cliquez sur votre "Form1".
Mettez un autre bouton, une boîte d'édition, une zone de texte,
réglez la taille de la fenêtre, placez-les où vous
voulez pour que ce soit joli, vous obtenez ça...
Ensuite, on va donner les
noms qui apparaitront à l'écran...
Cliquez sur "Form1" (une seule fois) et regardez dans l'inspecteur d'objet : changez le champ "caption" en "Première application".
Renommez également "Button1" et "Button2" en les selectionnant et en changeant "caption".
Effacez le texte "Edit1" en effaçant le champ "texte".
Effacez le texte "Memo1" en faisant en cliquant 2 fois sur "Lines" et en effaçant à la main.
Attention, il ne faut pas changer le nom des composants, mais simplement ce qui s'affiche à l'écran...
Finalement, vous obtenez
ça :
Vous pouvez compiler si
vous voulez ("Run", "Executer" ou flêche bleue) pour voir ce que
ça donne...
Boite de dialogue
On va associer une boite
de dialogue au bouton "Boîte de dialogue", ok?
Bon, double-cliquez sur
le bouton... Il crée automatiquement une fonction qui se
déclenchera lorsqu'on cliquera sur le bouton. Il ne reste plus qu'à
écrire le code associé au bouton dans la fonction. On rajoute
donc :
ShowMessage('Vous m''avez
cliqué?')
Vous avez donc ça
à l'écran :
Compilez le programme et
regardez le résultat!
NB: Pas de point-virgule
avant un "end" mais en Delphi, vous pouvez le mettre si vous voulez.
NB2: Pour écrire
une apostrophe, il faut en écrire deux!
La zone de texte "Memo1"
On va maintenant rajouter
du texte dans la zone de texte à chaque fois qu'on cliquera
sur le bouton "Boite de dialogue". Pour cela, rajoutez la ligne suivante
juste après celle qu'on vient de mettre (c'est quelque chose qu'on
fait lorsqu'on clique sur notre bouton "Boîte de dialogue" :
Memo1.Lines.Add ('Vous
avez cliqué!')
Et essayez-le... ô,
miracle! Vous savez maintenant utiliser la fonction Memo1.Lines.Add,
ajouter une ligne à Memo1.
Il faut maintenant que l'on
rajoute un compteur pour savoir combien de fois on a cliqué sur
le bouton.
NB: N'oubliez pas de mettre
un point-virgule après la ligne précédente!
La fonction FormCreate
Le problème, c'est
que si on met une variable dans la fonction associé au bouton "Boîte
de dialogue", elle reprendra sa valeur initial à chaque fois qu'on
va cliquer dessus et n'existera plus dans le reste du programme.
On va donc mettre une variable globale dans le programme qui s'appelera
"clics_b1".
Allez au début du
programme, et rajoutez clics_b1: integer; dans var... On
vient de rajouté notre variable globale.
Cette variable devra prendre
la valeur 0 lorsqu'on lance le programme. La fonction FormCreate
sert à ça : elle regroupe toutes les actions à faire
pour initialiser notre programme, au momemt où on affiche notre
fenêtre principale...
Pour créer cette
fonction, double-cliquez sur un endroit de Form1 où il n'y a
pas de composant.
Rajoutez la ligne clics_b1
:= 0
Il ne reste plus qu'à
rajouter dans la fonction associée au bouton 1 la ligne clics_b1:=clics_b1+1;
qui incrémente clics_b1 de 1.
Vous devriez avoir ceci
:
La
boîte d'édition "Edit1"
Il ne reste plus qu'à
rajouter dans la boîte d'édition "Edit1" la variable clics_b1...
Créez la fonction
associée au bouton "Combien de fois" en double-cliquant dessus et
rajoutez la ligne
Edit1.Text := IntToStr(clics_b1)
Ce qui vous donne :
procedure TForm1.Button2Click(Sender:
TObject);
begin
Edit1.Text := IntToStr(clics_b1)
end;
IntToStr (Integer
To String) permet de convertir un entier (clics_b1) en chaîne de
caractères.
Maintenant, vous pouvez
compiler en faisant "Run", ça marche... Vous pouvez même executer
"premier.exe" en dehors de l'environnement Delphi : c'est votre programme...
Envoyez-moi des suggestions
pour le programme d'exemple suivant par
e-mail!