Obligement - L'Amiga au maximum

Vendredi 21 septembre 2018 - 17:55  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · 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 en d'autres langues


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Logiciels
 · Jeux
 · Scène démo
 · Divers


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 - Manipuler les fichiers ".info"
(Article écrit par Denis Obriot et extrait d'Amiga News Tech - avril 1990)


Exploitation des fichiers ".info" en GFA Basic

Les fichiers ".info" ont toujours fasciné les utilisateurs d'Amiga. Cela est dû au fait qu'ils combinent des éléments graphiques (des icônes et des fenêtres), des paramètres, des informations utiles comme la taille de la pile mémoire pour les programmes et aussi la position de l'icône sur l'écran.

Malheureusement les fichiers ".info" sont très difficilement exploitables en GFA Basic, car celui-ci ignore leur contenu au lancement du programme et n'offre pas de moyen simple pour récupérer leurs paramètres. Par contre, lire leur contenu et le modifier reste toujours possible. C'est ce que le programme ci-dessous fait en utilisant principalement la fonction GetDiskObject qui nous renvoie toutes les informations nécessaires dans une structure appelée DiskObject.

PutDiskObject permet de sauver (éventuellement en le créant) une structure DiskObject dans un fichier ".info". La fonction FreeDiskObject rend au système la mémoire utilisée par la structure DiskObject et les structures qui en dépendent (plusieurs structures sont chargées en mémoire). Je vous renvoie encore une fois à l'ouvrage "ROM Kernel Manual: Includes and Autodocs" si vous voulez avoir le contenu entier de la structure DiskObject. Celle-ci offre la particularité de contenir une structure Gadget qui contient en fait la position et l'image de l'icône et de pointer sur une structure NewWindow qui contient les paramètres de la fenêtre à ouvrir si le fichier ".info" est celui d'un tiroir ou un disque.

Vous ne devez pas charger le fichier ".info" directement avec ce programme mais charger le fichier lui-même. Pour un disque, il faut entrer "Disk" comme DF0:Disk pour l'icône de la disquette en DF0: et pour un répertoire, il faut entrer le nom du répertoire sans "/" derrière. Si le fichier ".info" est introuvable, le programme s'arrête automatiquement. Sinon, l'icône sera affichée dans une fenêtre ainsi que quelques informations dans une autre fenêtre. Pour sortir du programme, il faut appuyer sur les deux boutons de la souris à la fois.

Du côté de la programmation, il n'y a pas beaucoup de difficultés. Les fonctions GetDiskObject, PutDiskObject et FreeDiskObject ont été réécrites car il semble que l'icon.library n'est pas accessible directement du GFA Basic. Cela demande donc sa réouverture avec OpenLibrary et l'utilisation de RCALL. La fonction GetDiskObject demande un nom de fichier sans ".info", ce qui est économique.

La partie de la structure DiskObject dont nous avons besoin est définie dans la procédure DiskObjStruct. Ensuite le type du fichier ".info" est testé et affiché en clair. La partie suivante affiche l'icône du fichier ".info" dans une fenêtre et attend le clic souris. La fin du programme vous permet de sauver l'icône sous un autre nom et de changer les couleurs de la fenêtre si l'icône représentait un disque, un tiroir ou la corbeille.

Les différents types d'icônes

Les différents types d'icônes sont Disk, Drawer, Tool, Project, Garbage, Device et Kick.
  • Disk représente l'icône d'un disque (disquette, disque dur ou RAM Disk).
  • Drawer représente un tiroir.
  • Tool représente un programme (outil).
  • Project représente un fichier (texte, dessin, son, etc.) non exécutable.
  • Garbage représente la corbeille (trashcan).
  • Device représente un périphérique logique.
  • Kick représente le Kickstart (fichier ROM).
Le fichier.info

J'ai pensé que vous saviez certainement ce qu'était un fichier ".info" et à quoi il servait. Si vous ne les connaissez pas bien, étudiez-les en sélectionnant une icône au hasard et en choisissant l'option "Info" dans le menu "Workbench". Vous pourrez découvrir ce que sont la "Stack Size", les "Tool Types" et "Default Tool" dont il est question dans ce programme.

Ce programme a été volontairement bridé pour qu'il ne puisse pas causer d'ennuis dans vos icônes. Certains champs sont délicats à manipuler, c'est pourquoi je ne les ai pas inclus ici. Un fichier ".info" corrompu peut dans certains cas entraîner un plantage du système, c'est pourquoi il vaut mieux être très méfiant si vous désirez modifier ou étendre ce programme.

GFA Basic
GFA Basic
GFA Basic


[Retour en haut] / [Retour aux articles]