Obligement - L'Amiga au maximum

Dimanche 23 juillet 2017 - 22:33  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Programmation : GFA Basic - les menus
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News - avril 1991)


Préparation de la disquette

La disquette d'origine de GFA Basic n'est pas utilisable telle quelle. Elle se prépare très bien sous Shell ; c'est long mais c'est nécessaire. On extrait sous Shell les répertoires utiles d'AmigaOS, du GFA, de la disquette Extras et il ne reste plus qu'à créer un startup et à modifier le fichier info des icônes. Ce procédé est généralisable à tous les logiciels non protégés.

Installation sous Shell (Amiga avec 1 Mo de mémoire)

Format Drive DF0: Name GFA 2
Copy c/copy|mak#?|Inst#?|Relabel ram:
MakeDir ram:gfa
MakeDir ram:gfa/c
MakeDir ram:devs
MakeDir ram:devs/printers
MakeDir ram:devs/keymaps
Copy libs ram:gfa/libs all
Copy l ram:gfa/l all
Copy devs ram:gfa/devs all
Copy fonts ram:gfa/fonts all
Copy c/mak#?|ass#? ram:gfa/c
Copy c/loadWB|EndCLI ram:gfa/c
Copy c/Date|SetClock ram:gfa/c
Copy system/SetMap ram:gfa/c
CD ram:gfa/devs
Copy printers/epso#? ram:devs/printers
Copy keymaps/f ram:devs/keymaps
Delete printers/#?
Delete keymaps/#?
CD ram:
Copy ram:devs ram:gfa/devs all
Delete ram:devs all
Copy gfabasic: ram:gfa all
CD "extras 1.3:"
Copy fd1.3 ram:gfa/FD1.3 all
CD GFA_2:
Copy ram:gfa GFA_2: all
Delete ram:gfa/#? all
CD "Extras 1.3:"
Copy fonts ram:gfa/fonts all
CD GFA_2:
Copy ram:gfa GFA 2: all
Relabel df0: GFABASIC
Install df0:
MakeDir S
Ed s/startup-sequence

Écrire dans la startup-sequence

SetClock Opt Load
MakeDir Ram:T
MakeDir Ram:Clipboards
Assign T: ram:t
Assign CLIPS: ram:clipboards
SetMap f
LoadWb
Endcli > nil:

Valider le tout par "Esc X Return". Puis nous quittons la mémoire proprement :

Delete ram:#? all
EndCLI

Modifier l'info des icônes

Je cliquette l'icône pour que la chevillette cherra et sélectionne l'option "Info" du menu Workbench. Il ne reste plus qu'à remplacer l'outil défaut (Default Tool) par SYS:System/Discopy.

A l'intérieur, je remplace, sur les autres icônes, GFABASIC: par DF0:.

Ouf ! Ce fût fastidieux. Ceux qui disent que non, ceux-là en vérité je vous le dis, ils n'ont rien compris au GFA et peuvent retourner à leurs calculatrices.

GFA Basic

Voilà l'instant le plus émouvant puisque je vais "lancer" l'interpréteur GFA. Clic-clic.

Les choses sérieuses vont enfin pouvoir commencer. Je rassure les débutants, tout est tellement simple avec le GFA, que les torturés du BASIC ou du pokage machine (pas sur Amiga) se sentiront brimés. Le GFA Basic a en effet la particularité de ne pas être du BASIC. C'est en réalité un hybride qui a extrait le meilleur des langages BASIC, C, Pascal et assembleur. Les ordres y sont lisibles comme en BASIC, la mise en page claire comme en Pascal, les structures tiennent du C et de nombreuses routines reprennent la logique de l'assembleur.

Alors achetez vite la dernière version de chez Micro Application. Frank Ostrowski annonçait récemment que seul le piratage empêchait une amélioration du produit (35 000 exemplaires vendus en Amiga contre 600 000 en Atari avec pourtant 250 000 possesseurs de GFA... bogués car piratés en Amiga). Fin du sermon.

Écrire proprement

Le bout de code qui suit est la toute première partie du logiciel boursier final. On met en place une structure de menu puis on demande régulièrement au GFA de s'occuper de la gestion de la souris comme sous Workbench. Il suffit de sélectionner une rubrique pour la voir en action.

Avant d'entrer dans le vif du sujet, je voudrais mettre en évidence plusieurs constatations importantes qui vont vous permettre d'évoluer rapidement dans la programmation. Tout d'abord, je conseille d'écrire en français, sans abréviation et avec un maximum de commentaires synthétiques. Le commentaire débute une ligne avec "'" (apostrophe) ou suit un ordre avec "!" (point d'exclamation). Il a pour but d'expliquer succinctement et sans redondance l'action réalisée. Ainsi, il ne sera plus nécessaire de connaître à fond les astuces d'un langage pour comprendre ce que fait le programme.

Pour la même raison, il faut oublier les abréviations. Que signifieraient dans deux mois "mn", "cx" et "e" au lieu de "menu", "choix" et "entrée". Laissons ça aux programmeurs de PC. Et comme on est sur Amiga, on écrira en entier "ouverture" plutôt que "ouvert" pour rester plus convivial lors d'une relecture des sources. Enfin, nous sommes en pays francophone, alors il ne sert à rien d'écrire "browse" au lieu de "feuilleter", par exemple.

Chapitre 1 : les menus

Une procédure est exécutée au seul appel de son nom, ici "menu". De façon générale, un menu a pour fonction de créer un dialogue entre le logiciel et son utilisateur. Le choix peut être réalisé au moyen de la souris ou par la combinaison des touches "Amiga droite" et d'une lettre. Le bout de code montre un menu déroulant sous la souris.

Dans un premier temps, on choisit les différentes grandes parties du programme : cela va constituer la ligne de titre. Ici : Valeur du jour - Modification - Statistique - Portefeuille - Au secours.

Puis on affine. "Valeur du jour" comprendra : La saisie, La consultation et L'impression. On écrit alors les "Data" correspondants à chaque colonne. La première chaîne de la colonne est le titre avec un espace final recommandé. Puis suivent les rubriques ou sous-rubriques et en fin, une chaîne vide. On procède de même pour chaque colonne. On conclut le menu par deux chaînes vides.

Bien. On va écrire tout ça dans une table. Ici : entrÉe$ qui possède 31 éléments de 0 à 30. Regardez bien, même les chaînes vides comptent.

Lancez et testez le menu. Les procédures seront ajoutées plus tard.
  • Remplacez "Consultation..." par "!Consultation..." et regardez le résultat. C'est un sous-menu. Il y a même une particularité remarquable à découvrir. Testez à droite !
  • Enlevez "Print" et relancez : un menu doit savoir où aller.
  • Enlevez "Restore" et relancez : une procédure est déconnectée du programme principal pour la lecture avec "Read".
  • Ajoutez, juste après l'activation du menu, "MENU KEY 3,ASC("e")" et regardez bien la troisième rubrique du menu : il faut ajouter quatre espaces à la chaîne "imprime". De même, ajouter "MENU 3,"Imprimante"" et regardez. Superbe ! Ou mieux, "MENU 6,&56 AND &fff". Puis remplacez "&fff" par "&101" ou "&fe" et modifiez "AND" par "OR".

    GFA Basic

    GFA Basic


    [Retour en haut] / [Retour aux articles] [Article suivant]