Nouveau projet application▲
Voici comment se présente l'unité de base :
Sélectionnez
|
En-tête d'unité Indique le nom (par défaut Unit1). Le fichier source s'appellera "Nom".pas, le fichier compilé "Nom".ppu. Conseil : ne pas éditer cette ligne, les noms seront correctement mis à jour par la commande. |
Sélectionnez
|
Section interface La clause uses liste les unités qui sont utilisées. Chaque fois qu'un composant est glissé sur la fiche, la liste des unités est complétée. On n'a pas besoin de rajouter 'à la main' que les composants non-visuels, tels les autres unités de l'application et des unités spécialisées comme math, synaser etc. Suit la déclaration des types. Et enfin les variables et les constantes accessibles au client. |
Sélectionnez
|
Section implémentation Sont définies ici toutes les procédures et fonctions de la section interface. Suivent les déclarations des types, variables, constantes, procédures et fonctions inaccessibles aux clients (privées) et leur définition. Conseil : veillez à définir tous les objets avant de tenter de les utiliser. Si la procédure Proc1 utilise la procédure Proc2, il faut déclarer Proc2 avant Proc1. |
Sélectionnez
|
Section initialisation (facultative) Permet d'initialiser des variables au démarrage du programme. Par exemple : Debut := true; DecimalSeparator := '.'; |
Sélectionnez
|
Toujours la dernière ligne de l'unité (Notez le « . »). |
Modification de la fiche▲
On dépose maintenant trois Label(s) côte à côte sur la fiche (LbHeure, LbMinute, LbSeconde) et un Timer.
Mettons la propriété Caption de la Fiche à « Il est exactement ».
Nous obtenons ceci :
Le Timer étant sélectionné, dans l'inspecteur d'objet, onglet événements, double-clic sur le champs vide « OnTimer ».
La Form étant sélectionnée, dans l'inspecteur d'objet, onglet événements, double-clic sur le champs vide « OnCreate ».
Enregistrer sous :
Unit1 --> Afficheur
Project1 --> Horloge
Voici maintenant à quoi doit ressembler notre unité :
Sélectionnez
|
En-tête d'unité Le nom a été modifié. De même, le fichier source s'appelle Afficheur.pas, le fichier compilé Afficheur.ppu. |
Sélectionnez
|
Section interface Dans la clause uses, la liste des unités a été complétée par deux nouvelles références : StdCtrls pour TLabel et ExtCtrls pour TTimer. La Classe TForm1 est définie ici, avec ses labels, son Timer, et la déclaration des procédures de gestion des événements. |
Sélectionnez
|
Section implémentation
|
Sélectionnez
|
Section initialisation
|
Le code▲
Il ne reste plus que très peu de choses à écrire :
- Définir les variables dont nous aurons besoin au début de la section implémentation :
var
heure,minute,seconde : byte
;
- Une fonction pour formater les affichages :
function
Intto2Digits(X: byte
): string
;
var
S: string
;
begin
S := '
0
'
+InttoStr(X);
result := copy(S,length(S)-1
,2
)
end
;
- La procedure OnCreate de TForm1 entre les begin et end; de la déclaration :
procedure
TForm1.FormCreate(Sender: TObject);
begin
LbSeconde.caption := Intto2Digits(seconde);
LbMinute.caption := Intto2Digits(minute)+'
:
'
;
LbHeure.caption := Intto2Digits(Heure)+'
:
'
;
end
;
- La procédure OnTimer :
procedure
TForm1.TimerTimer(Sender: TObject);
begin
inc(seconde,1
);
if
seconde = 60
then
begin
seconde := 0
;
inc (minute,1
);
if
minute = 60
then
begin
minute := 0
;
inc(heure,1
);
if
heure = 24
then
heure := 0
;
LbHeure.caption := Intto2Digits(Heure)+'
:
'
;
end
;
LbMinute.caption := Intto2Digits(minute)+'
:
'
;
end
;
LbSeconde.caption := Intto2Digits(seconde);
end
;
- Et, si vous ne voulez pas vous lever la nuit pour faire démarrer votre horloge, dans la partie initialisation :
initialization
{$
I
afficheur.lrs
}
Heure := 17
;
Minute := 30
;
Seconde := 0
;
end
.
Conclusion▲
Vous en savez suffisamment pour commencer à développer.
A vos claviers.