Obligement - L'Amiga au maximum

Mercredi 24 avril 2024 - 09:48  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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 arrêté 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]