Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
En pratique : CanDo - les variables, les tampons mémoire, éditeur de ToolList
(Article écrit par Guy Beteille et extrait d'Amiga News - mai 1992)
|
|
Il y a des jours comme ça où l'on pense que ça va aller tout seul... et voilà que le Guru se décide à méditer
avec une obstination qui finit par irriter. Objet de ces méditations, le bel éditeur d'icônes que je
destinais à vos méditations personnelles et non à celle du Guru. La cause semble venir de la commande "MakeIcon"
ou plus certainement d'un emploi indélicat de celle-ci. Qu'à cela ne tienne. Voici tout de même un éditeur
de ToolList et en prime un petit deck pour afficher vos messages sur l'écran du Workbench avec un défilement
horizontal. Par la même occasion nous verrons comment CanDo gère les variables et les tampons mémoire.
Les variables
Première particularité : le type d'une variable n'a pas besoin d'être déclaré.
Let MaVariable="Bonjour" crée une variable de type chaîne, Let MaVariable=1
crée une variable de type entier.
Les différents types sont chaîne, entier, réel, logique (Vrai/Faux), système, tableau indicé (Array) et
enregistrement (Record). Ces deux derniers types seront détaillés plus largement dans un prochain article sur
les bases de données, car un ensemble de commandes leur sont associées.
Disons qu'un tableau indicé peut avoir plusieurs indices et une dimension quelconque non déterminés à l'avance.
De plus, CanDo ne créera la variable associée à un indice que si celui existe... Ainsi peuvent exister
MaVariable[1] et MaVariable[3] sans qu'existe MaVariable[2]. Une variable peut être globale (par défaut elle
l'est toujours), c'est-à-dire accessible depuis l'ensemble de l'application, sinon elle peut-être statique ou
locale si l'on désire qu'elle n'existe que dans un script.
La commande "Alias" permet de définir une variable qui pointe sur une autre. Let Variable2=Alias("Variable1") donne
à Variable2 la même valeur que Variable1 sans pour autant créer une copie de celle-ci. C'est un moyen très
pratique d'échanger des valeurs entre un deck et un sous-deck (qui ne se partagent pas les variables).
Grâce à un Alias, le sous-deck pourra aller pointer sur une variable du deck.
Précisons aussi qu'il est possible de sauver une variable (et donc de la recharger par la suite) avec les
commandes SaveVariable et LoadVariable. Ceci dans un format reconnu pour l'instant uniquement par CanDo.
Les tampons mémoire (buffers)
Les "buffers" sont une zone de mémoire que CanDo utilise pour stocker un fichier ou le contenu d'un document.
Chaque buffer possède un nom propre, et c'est par ce nom qu'on s'adresse à lui. Toutes les commandes qui ouvrent
un fichier ouvrent un tampon mémoire, LoadDocument, LoadBrush, LoadSound, Loadlmage, OpenFile()...
Si le nom du tampon mémoire est omis, il prendra par défaut celui du nom de fichier, exemple :
LoadIcon "MonIcône", "LeBuffer" chargera le fichier "MonIcône" dans "LeBuffer", tandis que LoadIcon "MonIcône"
créera automatiquement un tampon mémoire qui s'appellera "MonIcône".
Dans le deck qui sert d'exemple ce mois-ci, vous trouverez des utilisations de commandes agissant par rapport
aux tampons mémoire. En général, CanDo s'occupe de gérer seul les tampons mémoire (et donc l'espace mémoire)
mais il est possible (et même souhaitable) d'intervenir soit pour effacer des tampons mémoire
inutilisés avec la commande "Flush" soit pour sauvegarder ceux qui ont été modifiés.
Deck "Éditeur de ToolList"
Deck "TheScrollingMessage"
|