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 - réalisation d'un utilitaire (ClicList)
(Article écrit par Guy Beteille et extrait d'Amiga News - janvier 1992)
|
|
Chose promise, chose due. Voici ClicList, une petite application CanDo. Son but : ouvrir une fenêtre sur
l'écran du Workbench et y afficher une liste de vos programmes préférés que vous pourrez lancer d'un
clic de souris... sans ouvrir tiroirs ou disquettes.
Il existe bien sûr une foule d'utilitaires du même genre et celui-ci n'a pas la prétention de les remplacer mais
seulement de vous permettre d'écrire le vôtre pour épater votre voisine ou voisin.
Le projet
Avant de programmer, essayons de voir ce qu'il nous faut :
- Ouvrir une fenêtre sur le Workbench.
- Afficher une liste (d'après votre fichier de configuration).
- Avoir un bouton "Quitter".
- Avoir un bouton "Iconifier" (pour mettre ClicList dans un coin du Workbench et donc ouvrir une toute petite fenêtre).
- Affichage de la date et de l'heure (pourquoi s'en priver ?).
- Exécutions de programmes externes (la véritable fonction de l'application).
Ce qui demande en langage CanDo la création de deux "Card", de deux "Boutons", d'une zone d'affichage et d'un objet
"timer" pour l'heure, d'un document "list" à afficher.
Pour que notre utilitaire soit adaptable au besoin de chacun, il suffit de lui faire lire à son ouverture un
fichier de configuration que chacun utilisera pour y indiquer ses programmes. Ce fichier texte doit obéir
à quelques règles simples pour pouvoir être correctement compris par ClicList. Voici le modèle d'une ligne :
Nom du programme.1 | chemin du programme.1 | Taille de la pile
|
Soit une ligne par programme, et deux à trois "mots" par ligne. Le premier mot est le nom du programme tel
qu'il sera inscrit dans la liste affichée sur le Workbench. Le deuxième mot sera le chemin complet du
programme (avec son nom réel évidemment), et le troisième mot indiquera si le programme lancé a besoin d'une
pile adaptée. Ici le mot se termine par une barre verticale (|).
Chaque mot sera placé dans un document. Lorsque vous cliquerez sur le nom d'un programme, l'application ira
chercher dans le deuxième document où se trouve ce programme. Une fois identifié, il sera lance par la routine
"LanceProgramme" et surtout par la commande CanDo "DOS". Cette routine vérifiera s'il s'agit d'un
programme, d'un script AmigaDOS ou d'un "deck".
Création de la carte "CarteList"
Cette carte n'aura qu'un script qui demandera la lecture du fichier configuration :
Ouverture de la fenêtre
A l'aide de l'éditeur de fenêtre, ouvrez sur le Workbench une fenêtre, de la dimension que vous désirez (pas
trop grande tout de même) et n'ayant pas l'objet "Redimensionnement". Cliquez sur "CloseButton", pour entrer la
commande "Quit". Ainsi vous pourrez quitter l'application à partir du gadget de fermeture de la fenêtre.
Ouverture d'un document
On peut créer deux sortes de documents, le document de type "mémo" et celui de type "list".
Cette distinction n'a d'ailleurs d'importance que si le document doit être visualisé à l'écran.
Il n'est pas possible d'écrire dans un document "list" depuis le clavier. C'est ce type de document
que nous allons créer sur la fenêtre de ClicList car il permet de sélectionner juste une ligne
dans une liste (avec la souris).
Dimensionnez le document de telle manière qu'il occupe toute la largeur de la fenêtre mais qu'il laisse
suffisamment de place pour placer deux boutons en dessous et permettre d'afficher la date. Un seul script
sera associé à cet objet document, le script exécuté par CanDo en cas de double-clic. Ce script sera bref,
appel à une routine :
Création des boutons
Créez deux boutons que vous placez en dessous du document "list".
Chaque bouton sera de type "sert' et exécutera un script en cas d'événement "OnRelease",
c'est-à-dire lorsque vous relâchez le bouton de la souris. Le bouton "Iconifier" appellera
la carte "Icône". Son script "Onftelease" sera : GoToCard "Icône".
Le bouton "Quitter" aura pour script "OnRelease" : Quit.
Création de l'objet "Timer"
L'éditeur de ce type d'objet permet de définir à quels intervalles réguliers un
script sera exécuté, ici l'affichage de la date. Choisissons toute les dix secondes.
Le script "Occurred" sera : Do "LireDate".
Création de la carte "Icône"
Créons une nouvelle carte dont la fenêtre sera aussi minuscule que possible. Cette fenêtre aura un script "CloseButton" :
GoToCard "CarteList" qui permettra de retrouver ClicList lorsque l'on clique le gadget de fermeture.
Les routines
Routine "LireConfiguration"
Routine "LireDate"
Routine "FaireListe"
Routine "LanceProgramme"
Exemple de fichier de configuration
Les limites d'une application
Ce petit utilitaire est surtout destiné à ceux qui sont équipés d'un disque dur. Ceux qui en sont dépourvus peuvent
toute même l'utiliser, à la condition de lancer leurs programmes depuis une seule disquette. ClicList n'a aucune
utilité si vous redémarrez une disquette différente à chaque nouveau programme. Dans votre fichier de
configuration, prenez soin d'indiquer le nom des disquettes où se trouvent vos programmes favoris et non pas des lecteurs
de disquettes (DF0:, DF1:) !
Une limite de CanDo est la taille d'une application. Une application a en effet, si j'ose dire, deux tailles :
celle de la disquette (taille du fichier source, en général assez petite), et celle de la place qu'elle occupe
en mémoire. Toute application a besoin de la cando.library, or celle-ci est d'une taille assez importante.
Si donc vous avez peu de mémoire. ClicList risque d'encombrer un petit peu. Un avantage toute même à cette
cando.library, c'est qu'elle peut être utilisée par plusieurs applications en même temps.
Dans ce cas, elles ne consomment pas plus de mémoire que d'autres programmes (d'où l'intérêt d'écrire beaucoup
d'applications !).
Une autre limite de ClicList tel qu'il est décrit ici c'est l'absence de gestion des erreurs. J'ai volontairement
choisi de réduire cette application à l'essentiel afin que vous ne soyez pas perturbé par un listing trop
long. D'ailleurs, vous pouvez vous-même gérer ces erreurs si elles surviennent en utilisant les instructions :
En ce qui concerne l'exécution des scripts AmigaDOS, il y a beaucoup de lacunes. Du moins souvent une absence
de réaction due tout simplement au fait que les commandes AmigaDOS de votre script qui doivent afficher
des informations à l'écran, n'ont pas une fenêtre pour le faire, et comme dirait Lapalisse puisque rien n'est
affiché, il n'y a rien à voir.
|