Obligement - L'Amiga au maximum

Mardi 23 mai 2017 - 16:42  

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


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Programmation : Blitz Basic - un lanceur d'application
(Article écrit par Mathieu Chènebit et extrait d'Amiga News - juin 1997)


Ce mois-ci, on passe à un nouveau genre de programme : un lanceur d'applications, tel ToolManager ou M2I.

Évidemment, notre exemple sera beaucoup moins puissant, mais je vais essayer via cette série de vous amener à un programme fonctionnel. Comme à chaque nouveau projet, il convient de poser le cahier des charges : notre programme devra être une commodité, être localisé, posséder un programme externe de préférences pouvant charger et sauver, et être compact. Ouf ! Que de travail en perspective, donc. :)

Nous allons tout d'abord travailler sur le moteur de notre programme, avant de le transformer en commodité. Celui-ci doit être capable de lire le fichier de préférences, et de l'interpréter. Du point de vue graphique nous allons ouvrir une fenêtre sans bords, et créer des gadgets Gadtools contenant le nom des programmes à lancer. Notre fichier de préférences sera quant à lui de la manière suivante (c'est un bête fichier ASCII éditable avec n'importe quel éditeur de texte, même Ed fera l'affaire) : les deux premières lignes contiennent la position en x et en y du coin supérieur gauche de notre fenêtre, puis les autres sont celles qui correspondent à un programme.

Dans le source, un programme sera exprimé sous forme d'une table d'un nouveau type appelé tout simplement .typ. Celui-ci contient deux champs : le nom, qui sera ce que vous pourrez voir sur le gadgets, et la commande, qui correspond en réalité au chemin complet d'accès à votre programme. Lancez donc votre éditeur de texte favori (au passage, je vous recommande FrexxEd...) et saisissez les quelques lignes suivantes :

20
20
Blitz 2
Blitz2:Blitz2
Shell
C:NewCli
Multiview
SYS:Utilities/Multiview

Ensuite, sauvegardez-les sous "S:Launcher.data" (ou sous un autre nom mais, dans ce cas, il faudra que vous fassiez vous-même une petite modification dans le source). Comme expliqué précédemment, notre fenêtre s'ouvrira aux coordonnées 20,20 et possédera trois gadgets: Blitz2, Shell et Multiview.

Passons maintenant au code proprement dit : nous devons d'abord ouvrir notre fichier de préférences avec les commandes appropriées, puis nous saisissons les données relatives à chaque programme dans une boucle "Repeat ... Until Eof(0)" comme nous avons déjà vu dans un précédent numéro. Un des premiers problèmes qui se pose est de déterminer la largeur maximale des gadget : il ne faudrait pas que notre fenêtre soit trop grande ou pire, trop petite. Nous allons donc pour cela utiliser la commande système TextLength_. Cette dernière a besoin de trois paramètres : le Rastpod de la fenêtre, la chaîne qui doit être mesurée, et le nombre de caractères de cette chaîne. Nous devons donc ouvrir d'abord une fenêtre, que nous redimensionnerons avec la commande WSize. Notez bien cette routine, elle vous resservira dans de nombreux programmes, pour ne pas dire dans tous vos programmes. Une fois notre fenêtre ouverte, nous pouvons nous attaquer à nos gadgets.

N'oubliez pas la ligne "GTGZZPosition On" qui ajustera les coordonnées des gadgets Gadtools au coin supérieur gauche de la fenêtre. Ensuite, le premier gadget sera le gadget pour quitter. Je l'ai placé là uniquement pour plus de commodité, mais libre à vous d'en faire un gadget de déplacement comme le fait ToolManager. Ensuite, nous ouvrons nos gadgets correspondants à chaque programme saisi dans la boucle "Repeat ... Until" grâce à une autre boucle "For ... Next" en changeant les paramètres des gadgets à chaque passage.

Enfin, on arrive à notre routine principale de gestion des événements. Là, rien de bien compliqué ; si le gadget 0 est sélectionné, alors on quitte le programme, sinon on lance le programme associé au gadget avec l'aide de la commande Execute_, il ne faut pas oublier le "Run " dans la ligne d'arguments, sinon le déroulement de notre programme serait stoppé jusqu'à ce que le programme exteme qui a été lancé soit quitté.

Le mois prochain, je vous expliquerai comment faire de notre programme une commodité. D'ici là, comme d'habitude, j'attends vos réaction à : matc999@spidernet.tm.fr ou au journal qui transmettra. Je ne peux en attendant que vous souhaiter une... bonne programmation !

Blitz Basic
Blitz Basic


[Retour en haut] / [Retour aux articles]