Obligement - L'Amiga au maximum

Vendredi 21 septembre 2018 - 17:18  

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 - Programmation du clipboard.device
(Article écrit par Dominique Lorre et extrait d'Amiga News Tech - mai 1990)


Le clipboard.device est une partie parmi les plus mystérieuses de l'Amiga. Ceci est dû à la grande complexité de sa mise en oeuvre. Ce périphérique logique pas comme les autres permet aux programmes de s'échanger des données en faisant du couper/copier/coller (cut/copy/paste en anglais). Tout cela serait très simple si le clipboard.device n'imposait pas un format des données qu'on lui envoie.

Le format IFF

Ce format est le célèbre format IFF. Cela signifie que dans le clipboard.device, vous pourrez trouver aussi bien du texte que des images ou du son, à condition que ceux-ci soient placés sous un format IFF. Ceux qui connaissent bien le format IFF savent qu'il est possible de placer plusieurs types de données les uns à la suite des autres dans le presse-papiers, rendant la lecture très délicate à effectuer. C'est pourquoi notre exemple de démonstration ne s'occupe que du minimum, c'est-à-dire lire et écrire du texte dans le presse-papiers. Si une image est présente dans le presse-papiers, je ne garantis absolument rien !

Gérer le clipboard.device

Quand on sait programmer un des périphériques logiques de l'Amiga, les autres ne posent plus beaucoup de problèmes. Le clipboard.device est loin d'être aussi compliqué que l'audio,device mais recèle tout de même quelques difficultés.

La première difficulté consiste en la gestion d'un offset. On peut en fait considérer le presse-papiers comme une bande magnétique. Il est possible avant toute lecture ou écriture de se positionner ailleurs qu'au début. En lecture, cela permet de ne pas lire entièrement les données d'une image si c'est un texte que l'on recherche et qu'il est situé après elle. Comprendre cela demande une connaissance minimale de l'IFF. Un format IFF est repéré par quatre lettres qui sont FORM, CAT ("C","A","T", " ") ou LIST. Les quatre octets suivants et qui seront représentés par #### donnent la taille des données qui suivent. On peut donc lire les 12 ou 20 premiers octets du presse-papiers et rechercher du texte.

Il est possible de trouver directement du texte (FORM####FTXT, ce que le programme ci-dessous suppose). Il est également possible de ne trouver que des données images (FORM####ILBM) : dans ce cas, il y a échec en lecture. Une troisième possibilité est de rencontrer une image suivie d'un texte (CAT ####ILBMFTXT-FORM####ILBM####). Dans ce cas, on doit ignorer le FORM###ILBM en se positionnant à sa fin. Le déplacement est calculé avec la taille inscrite après FORM et effectué en utilisant l'offset.

Une autre difficulté tient dans l'obligation d'envoyer un nombre pair de caractères. Si vous désirez mettre trois caractères dans le presse-papiers, il vous faudra ajouter un octet nul en tant que pad-byte. Par contre, la taille indiquée après CHRS ne doit pas tenir compte de cet octet tandis que la taille de la FORM doit en tenir compte.

Voilà, vous pouvez considérer ce programme comme une introduction à la programmation du clipboard.device. Les opérations "copier" et "coller" sont présentes. Elles sont très rustiques mais cela vous permettra de mieux comprendre leur fonctionnement. Cet exemple permettra peut-être à quelques éditeurs de presse-papiers de voir le jour.

GFA Basic
GFA Basic


[Retour en haut] / [Retour aux articles]