Obligement - L'Amiga au maximum

Samedi 27 mai 2017 - 06:16  

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 : Amiga E - asl.library
(Article écrit par Pierre Girard et extrait d'Amiga News - février 1997)


Ce mois-ci, j'ai choisi de ne pas vous brusquer en vous proposant un article sur les requêtes et plus particulièrement sur l'asl.library. Comme je suis sûr que vous êtes encore dans le coma depuis les fêtes de fin d'année, on va faire simple.

Finalité

D'abord, pourquoi choisir l'asl.library alors que le domaine public fournit des remplacements plus avantageux comme par exemple la fabuleuse reqtools.library ? Pourquoi ? Je vais vous le dire. Tout simplement parce que :
  • L'asl.library est facile à programmer.
  • Elle permet de créer des programmes qui tournent sur n'importe quel Amiga (>=V36), qu'il possède ou non la reqtools.
  • Ceux qui préfèrent la reqtools peuvent tout à fait modifier l'asl.library pour avoir la reqtools à la place (MCP, reqchange, etc.).
Voilà pour l'intérêt de la chose. Maintenant, voyons ce que nous propose cette bibliothèque qui ne possède que six fonctions dont trois sont obsolètes, trois types de requêtes sont disponibles et sont définis par les types ASL_FileRequest, ASL_FontRequest et ASL_ScreenModeRequest. Comme vous l'aurez sans doute compris, ces trois types correspondent respectivement aux fenêtres de requêtes de fichiers, de polices de caractères et d'écrans. On peut y accéder grâce à trois fonctions : AllocAslRequest(reqtype, taglist), AslRequest(requester, tags) et FreeAslRequest(requester). Les deux premières fonctions ont comme paramètres des tags qu'il sera ici trop long de décrire tellement ils sont nombreux (223 si j'ai bien compté). Nous verrons donc les principaux d'entre eux.

Les programmes sont courts ce mois-ci, car ils ont uniquement pour but de vous montrer comment insérer des requêtes dans des applications plus lourdes.

La requête de fichier

Il est très facile à mettre en oeuvre et s'inspire de celui que l'on peut trouver dans les exemples du RKRM. Passées les initialisations que tout le monde connaît maintenant, on vérifie la version du Kickstart et celle de l'asl.library. Puis on alloue (on définit une structure) une requête ASL grâce à la fonction, ô combien évocatrice, AllocAslRequest(). Il y a deux choses à préciser : le type (ici une requête de fichiers) et les tags. C'est là que la bât blesse si l'on n'a pas les Autodocs. Bon, tout le monde aurait pu trouver la syntaxe de la largeur, etc., mais sans une bonne documentation, allez donc trouver comment changer le titre de la fenêtre (ASL_HAIL). Hé, hé, hé...

Bon, le délire est passé. Continuons sur l'affichage de la requête. Un petit appel à AslRequest() et hop, c'est magique. Reste à dépouiller les résultats. Ici. il n'y a pas beaucoup de champs de la structure qui nous intéressent. Avec req.drawer et req.file, on a déjà tout ce que l'on demande, à savoir le chemin complet du fichier sélectionné.

La requête de polices de caractères

La démarche générale reste la même. Seuls les tags changent, mais je vous laisse le soin de les découvrir par vous-même. En ce qui concerne les polices de caractères, le principal élément à récupérer est le nom de la police, mais les attributs comme le style, la taille, la couleur, etc. sont aussi importants. En effet, si l'on veut par la suite, charger la police telle que la désire l'utilisateur, c'est quand même relativement utile. Nous affichons donc via un WriteF() les attributs (Structure attr), c'est-à-dire le nom, la taille le style et les "flags" (préférences), puis les couleurs d'écriture et de fond ainsi que le mode de dessin (complément...). Vue la place qu'il me reste sur la page, je pense qu'il est inutile de s'attarder sur la requête de mode d'écran qui est pourtant indispensable dans une application un tant soit peu sérieuse. Je ne peux que vous dire que si le fonctionnement général reste le même, il faudra vous reporter aux Autodocs pour connaître toutes les options disponibles.

Bon, il est tard...

...et comme mon stock de bières s'épuise (comme moi), je vais en terminer avec ce chapitre finalement facile à appréhender. J'aurais aussi voulu vous parler de la fameuse "colorwheel" (vous savez, la palette en forme de roue) mais le A4, c'est un peu petit. Si je reçois du courrier à ce propos, je ferai peut-être un effort. En parlant de courrier, vous ne seriez pas un peu fainéant par hasard ? Allez, bonne nuit !

ASL
ASL


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]