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
|
|
|
|
Programmation : GFA Basic - Moniteur de disquette GFA D-Mon (première partie : interface utilisateur)
(Article écrit par Étienne Mouratila et extrait d'Amiga News Tech - septembre 1990)
|
|
Pour aller encore un peu plus loin, plus vite, plus haut et plus fort avec ce superbe BASIC qu'est le GFA 3,
nous allons de ce pas et sans plus tarder nous concocter un petit moniteur de disquette (nommé GFA D-Mon), type PCTools
pour les ceusses qui connaissent.
Bon, évidemment, il est hors de question d'atteindre la qualité ni la puissance de ce logiciel, sinon on en
a pour jusqu'à la Saint-Glinglin, qui si je ne m'abuse, Docteur, doit tomber à peu près le jour ou elle arrivera.
Mais on peut toujours profiter de l'occasion pour approfondir nos connaissances en GFA Basic
d'une part, et en AmigaDOS d'autre part.
Malgré son nom ridicule et d'une banalité consternante, GFA D-Mon permet la manipulation plus ou moins aisée des
fichiers et répertoires, ainsi que des secteurs de la disquette. Le nombre de fonctions est somme toute assez
réduit, mais il tient qu'à vous et à votre courage de l'augmenter substantiellement. Il va de soi qu'un tel utilitaire
étant tout de même plutôt conséquent, nous ne pourrons nous contenter d'un seul numéro de Commodore Revue pour tout
voir d'un seul coup. C'est pourquoi je vous demande l'impossible effort de nous suivre durant quatre mois (cinq, si
l'on compte les vacances), au terme desquels on passera à autre chose, chose qu'il serait intelligent de me préciser
si vous avez des idées ou envies particulières. Pour cela, une seule adresse : la nôtre.
Premiere partie
Dans ce premier volet de GFA D-Mon, nous allons nous occuper de ce qui est finalement le plus difficile à réaliser,
à savoir l'interface utilisateur (menus et tout le bastringue). Le listing fourni ci-après fonctionne tel quel, et
permet déjà, car l'on connaît votre impatience légendaire, de faire mumuse avec une partie de la mémoire choisie
arbitrairement (c'est une fonction d'édition, quoi). Seule l'édition en mode hexadécimal est - pour l'instant - implémentée,
et les modifications ne sont pas prises en compte.
Encore une fois, c'est juste pour calmer votre impatience qui, je crois l'avoir déjà dit quelques lignes plus haut, est
légendaire. Aucune difficulté majeure n'est à signaler dans cette première partie, mais quelques remarques judicieuses
sont à formuler :
- Des modifications seront par la suite apportées à certaines procédures données ici. De même, toutes les procédures
utiles du programme ne sont pas listées. Chaque chose en son temps.
- Des modifications seront également apportées aux libellés des menus, qui ne seront pas ce qu'on appelle très "parlant".
- Toute suggestion en cours de route est la bienvenue, et franchement, je serais très déçu que vous n'en profitassiez point.
Rapide aperçu de ce qui a déjà été fait
Les routines et procédures utilisées ici n'ont rien d'extraordinaire en soi ni même en satin. Simplement,
vous serez peut-être content de trouver celle d'édition hexa, qui est toujours problématique pour qui ne veut pas
trop s'embêter. Allez donc jeter un oeil sur la procédure "edithex()" (qui elle, soit dit en passant, porte bien
son nom).
Le programme ouvre son propre écran en 640x256 avec 4 couleurs, ainsi que sa propre fenêtre de type BACKDROP, BORDERLESS
et ACTIVATE, le tout au moyen des commandes standard du GFA Basic, OPENS et OPENW. Le menu est lui aussi standard puisqu'il
résulte de la commande MENU M$(). Attention, dans la procédure "mmenu", la ligne qui commence par "ON m% GOSUB" est
imprimée sur plusieurs lignes pour des besoins de mise en page, mais doit bien entendu être tapée comme une seule.
La fonction d'édition s'obtient par le menu "Fichier", option "Editer" (ou Amiga droite+M (ben oui, quoi, M comme
"Modifier" (le "E" est réservé pour autre chose (zut, je ferme combien de parenthèses, là ? Tant pis, je me lance)))).
Je ne vous retiens pas plus longtemps, vous pouvez derechef commencer à taper ces quelques lignes. Comment, ce n'est
pas encore fini ?
|