Ce que je trouve très souple dans PANORAMIC est qu' il attribue un numéro à chaque objet système. Grâce à cette caractéristique du langage, si on doit créer plusieurs objets similaires, on peut le faire en utilisant une boucle. Ceci nous permet de réduire sensiblement les lignes de code, diminue le risque d' erreurs et facilite un éventuel débogage. Il suffit d' attribuer des numéros consécutifs aux objets qu' on veut créer.
Le but ici est de créer quatre boutons de dimensions identiques, de les aligner horizontalement et de les centrer dans la fenêtre, comme dans l' image ci-dessous :
D' abord on déclare la variable
i%, qui sera incrémentée dans une boucle
for :
- Code:
-
dim i%
On crée une fenêtre de 750 pixels de largeur et de 550 pixels de hauteur :
- Code:
-
width 0,750 : height 0,550
On crée les quatre boutons, à l' aide d' une boucle for :
- Code:
-
for i%=1 to 4
button i%
next i%
On précise les dimensions des boutons, (ici 150 pixels de largeur et 30 pixels de hauteur) :
- Code:
-
for i%=1 to 4
button i%
width i%,150
height i%,30
next i%
On aligne les boutons, en les plaçant tous à 30 pixels du bord supérieur de la fenêtre :
- Code:
-
for i%=1 to 4
button i%
width i%,150
height i%,30
top i%,30
next i%
Maintenant on veut les centrer horizontalement dans la fenêtre. Chaque bouton a une largeur de 150 pixels et on laissera 20 pixels d' espace entre deux boutons voisins. Donc la largeur totale que les boutons occuperont sera de (150*4) + (20*3) = 660 pixels. La largeur de la fenêtre étant de 750 pixels, il reste 90 pixels de libres.
Pour centrer les boutons, on laissera la moitié de 90 pixels à gauche et l' autre moitié à droite. Donc le premier bouton sera placé à 45 pixels du bord gauche de la fenêtre. Le suivant sera placé 170 pixels (150 + 20 de marge) après le premier, le troisième à 2*170 pixels du premier etc. On exprime ce placement avec la ligne suivante de code :
- Code:
-
left i%,45+(170*(i%-1))
Finalement on précise le texte des boutons, en utilisant une concaténation. Le texte fixe "bouton " est suivi de l' équivalent de la valeur de i%,en chaîne de caractères. La fonction
str$() nous permet de transformer la valeur numérique de la variable
i% en chaîne de caractères :
- Code:
-
caption i%,"bouton " + str$(i%)
On termine avec l' instruction
end. Voici le code complet :
- Code:
-
dim i%
width 0,750 : height 0,550
for i%=1 to 4
button i%
width i%,150
height i%,30
top i%,30
left i%,45+(170*(i%-1))
caption i%,"bouton " + str$(i%)
next i%
end