Cette deuxième leçon de programmation spécifique
aux fonctions de TeleAuto va vous permettre de créer et prendre
le contrôle des fenêtre de rapport. Elle est importante car
elle va introduire des notions importantes sur la manipulation des fenêtres
dans les scripts de TeleAuto. Ces notions seront utilisées souvent
par la suite.
Les fenêtres de rapport sont des objets de type tpop_rapport.
Donc si on veut créer et afficher une fenêtre de rapport,
il faut la déclarer dans les variables, par exemple :
var Rapport : tpop_rapport;
Permet de déclarer la variable objet Rapport de type tpop_rapport.
Nous connaissons déja l'objet WinCamera vu dans la leçon
1. Cet objet est du type tpop_camera mais nous n'avons pas eu besoin
de le déclarer comme variable car cela est déjà fait
dans TeleAuto car c'est une fenêtre fondamentale de TeleAuto. N'essayez
pas de créer vous même un objet tpop_camera sous peine de
dysfonctionnements.
Une fois l'objet Rapport déclaré, vous pouvez le
créer grâce à la fonction Create :
Rapport := tpop_rapport.Create(Self);
L'objet Self passé en paramètre de la fonction
Create
est l'objet fenêtre de script. Par cette opération, on lie
la fenêtre de rapport à la fenêtre de script. Si l'on
ferme la fenêtre de script, la fenêtre de rapport sera automatiquement
fermée. Si on ne souhaite pas faire de liaison, on préfèrera
:
Rapport := tpop_rapport.Create(Nil);
Create permet de créer l'objet en mémoire mais
la fenêtre n'est pas encore visible. Pour la rendre visible il faut
utiliser la fonction Show :
Rapport.Show;
Le script :
program Lecon2TA; var Rapport:tpop_rapport; begin Rapport:=tpop_rapport.Create(Self); Rapport.Show; end.
Fait apparaitre une fenêtre vierge :
Vous ne pourrez pas fermer cette fenêtre et les boutons de contrôle
sont grisés. N'en soyez pas surpris, c'est normal. En effet, c'est
pour éviter que l'utilisateur puisse fermer la fenêtre par
erreur avant que tous les messages soient affichés. Elle sera fermée
quand vous quitterez TeleAuto.
Les fonctions Create et Show sont communes à tous
les objets de type fenêtre que nous verrons dans les futures leçons.
Une fois la fenêtre de rapport crée et affichée,
nous pouvons y afficher autant de lignes de message que necéssaire
grâce à la fonction AddLine :
Vous voyez que la fonction AddLine attends un paramètre
de type string. Vous remarquez aussi que pour insérer un
apostrophe dans une constante de type string, il faut taper deux
apostrophes. Un seul sera affiché.
Enfin pour dégriser les boutons et autoriser la fermeture, il
suffit d'utiliser la fonction EnableButtons :
Rapport.EnableButtons;
Le script complet est alors :
program Lecon2TA; var Rapport:tpop_rapport; begin Rapport:=tpop_rapport.Create(Self); Rapport.Show; Rapport.AddLine('Ligne 1 d''un rapport'); Rapport.AddLine('Ligne 2 d''un rapport'); Rapport.EnableButtons; end.
Le résultat est le suivant :
Vous pouvez créer autant de fenêtre de rapport que vous
le souhaitez en déclarant, créant et affichant plusieurs
varibles objets de type rapport :
program Lecon2TA; var Rapport1,Rapport2:tpop_rapport; begin // Premiere fenetre Rapport1:=tpop_rapport.Create(Self); Rapport1.Show; Rapport1.AddLine('Ligne du rapport 1'); Rapport1.EnableButtons;
// Deuxieme fenetre Rapport2:=tpop_rapport.Create(Self); Rapport2.Show; Rapport2.AddLine('Ligne du rapport 2'); Rapport2.EnableButtons; end.
Au passage vous pouvez voir dans ce script que l'on peut insérer
des commentaires dans un script aprés deux symboles / consécutifs.Tout
ce qui est placé aprés // dans la ligne sera ignoré
par le compilateur. Les commentaires servent à expliquer ce que
fait le script pour le rendre plus clair.
Il est aussi possible d'utiliser plusieurs fois la même variable
objet :
program Lecon2TA; var Rapport:tpop_rapport; begin // Premiere fenetre Rapport:=tpop_rapport.Create(Self); Rapport.Show; Rapport.AddLine('Ligne du rapport 1'); Rapport.EnableButtons;
// Deuxieme fenetre Rapport:=tpop_rapport.Create(Self); Rapport.Show; Rapport.AddLine('Ligne du rapport 2'); Rapport.EnableButtons; end.
Mais vous perdez le contrôle de la première fenêtre
à l'intérieur du script.
Les méthodes disponibles pour l'objet fenêtre de rapport
sont :
Nom de la méthode
Utilisation
Exemple
Create(AOwner:TComponent);
Crée une variable objet rapport
Rapport:=tpop_rapport.create(Self);
Show;
Fait apparaître une fenêtre de rapport
Rapport.Show;
Hide;
Fait disparaître une fenêtre de rapport sans la fermer
Rapport.Hide;
EnableButtons;
Dégrise les boutons et autorise la fermeture
Rapport.EnableButtons;
AddLine(Line:String);
Insère une ligne dans le rapport
Rapport.AddLine('Ligne de rapport');
Close;
Ferme la fenêtre de rapport
Rapport.Close;
Les méthodes disponibles pour l'objet fenêtre de rapport
sont :
Nom de la propriété
Utilisation
Exemple
Top
Défini la distance entre le haut de la fenêtre et le haut
de l'écran en pixels
Rapport.Top:=0;
colle la fenêtre en haut de l'écran
Left
Défini la distance entre la gauche de la fenêtre et la
gauche de l'écran en pixels
Rapport.Left:=100;
Width
Défini la largeur de la fenêtre
Rapport.Width:=1000;
Height
Défini la hauteur de la fenêtre
Rapport.Height:=500;
Caption
Défini le titre de la fenêtre apparaissant dans le bandeau
en haut de la fenêtre
Rapport.Caption:='Résultats de calcul';
Astuce 1 : Pour connaitre la résolution de l'écran
(à partir de la V2.94) utiliser les fonctions GetScreenWidth
et GetScreenHeight :
Writeln('Résolution de l''écran : '+IntToStr(GetScreenWidth)+'x'+IntToStr(GetScreenHeight));
Astuce 2 : Pour coller la fenêtre de rapport à
droite de l'écran :