Files
FireBee_Setup-Dev/THING/language/thing.127/fr/DOC_HTML/PAGES/PROTOCOL.HTM
2023-06-12 09:14:09 +02:00

1098 lines
50 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<! *** En-tˆte ***>
<html><head><title>Thing V1.09 - Protocoles</title></head>
<body>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocoles ***>
<! ------------------------------------------------------------------------------------------------>
<h3>Protocoles</h3>
<ul>
<li><a href="#Protocole - AV">Protocole AV</a>
<li><a href="#Protocole - Fontes">Protocole des fontes</a>
<li><a href="#Drag&Drop">Drag&amp;Drop</a>
</ul>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3><a name="Protocole - AV">Protocole AV</a></h3>
Le protocole AV a &eacute;t&eacute; d&eacute;velopp&eacute; pour &ecirc;tre utilis&eacute; avec le bureau alternatif Gemini. Gemini int&egrave;gre
un bureau (Venus) et une ligne de commande appel&eacute;e Mupfel. Afin que Venus puisse communiquer avec
les accessoires de bureau, le protocole AV a &eacute;t&eacute; d&eacute;velopp&eacute; et est grandement usit&eacute; aujourd'hui :<p>
(AV ~ Accessoire &lt;-&gt; Venus)<p>
Thing g&egrave;re tous les messages d&eacute;finis depuis le 26 juin 1995 et est par cons&eacute;quent un excellent
serveur 'AV'. De ce fait, il am&eacute;liore les fonctionnalit&eacute;s des accessoires de bureau et les
op&eacute;rations sous syst&egrave;me d'exploitation multit&acirc;ches. Les noms de fichier entre guillemets ne sont
pas encore support&eacute;s.<p>
Dans la description suivante, Thing agit comme le 'serveur' et les accessoires et applications
comme 'clients'.<p>
Pour utiliser Thing comme serveur AV sous environnement multit&acirc;ches, vous devez d&eacute;finir une
variable d'environnement appel&eacute;e <a href="../pages/variable.htm#AVSERVER">AVSERVER</a>. Celle-ci
doit &ecirc;tre d&eacute;finie de la fa&ccedil;on suivante :<p>
<dl>
<dt><b>MagiC</b>
<dd>Entrez '#_ENV AVSERVER=THING' dans le fichier 'MAGX.INF' (doit &ecirc;tre ajout&eacute; avant '#_CTR').<p>
<dt><b>MultiTOS</b>
<dd>Entrez 'setenv AVSERVER=THING' dans le fichier 'MINT.CNF'.<p>
</dl>
Les instructions suivantes sont support&eacute;es par Thing :<p>
<table widht=100%>
<td widht=48%>
<ul>
<li><a href="#AV_PROTOKOLL">AV_PROTOKOLL</a>
<li><a href="#AV_ASKFILEFONT">AV_ASKFILEFONT</a>
<li><a href="#AV_OPENWIND">AV_OPENWIND</a>
<li><a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>
<li><a href="#AV_STATUS">AV_STATUS</a>
<li><a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a>
<li><a href="#AV_WHAT_IZIT">AV_WHAT_IZIT</a>
<li><a href="#AV_EXIT">AV_EXIT</a>
<li><a href="#AV_XWIND">AV_XWIND</a>
<li><a href="#AV_FILEINFO">AV_FILEINFO</a>
<li><a href="#AV_DELFILE">AV_DELFILE</a>
<li><a href="#AV_SENDKEY">AV_SENDKEY</a>
</ul>
<td widht=48%>
<ul>
<li><a href="#AV_ASKCONFONT">AV_ASKCONFONT</a>
<li><a href="#AV_STARTPROG">AV_STARTPROG</a>
<li><a href="#AV_ACCWINDCLOSED">AV_ACCWINDCLOSED</a>
<li><a href="#AV_GETSTATUS">AV_GETSTATUS</a>
<li><a href="#AV_PATH_UPDATE">AV_PATH_UPDATE</a>
<li><a href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>
<li><a href="#AV_STARTED">AV_STARTED</a>
<li><a href="#AV_VIEW">AV_VIEW</a>
<li><a href="#AV_COPYFILE">AV_COPYFILE</a>
<li><a href="#AV_SETWINDPOS">AV_SETWINDPOS</a>
<li><a href="#VA_PATH_UPDATE">VA_PATH_UPDATE</a>
<li><a href="#VA_FONTCHANGED">VA_FONTCHANGED</a><p>
</ul>
</table>
<br>
<table border align=center>
<tr><td><img src="../images/232.gif" align=left alt="232.GIF">
Voici quelques conseils pour l'int&eacute;gration dans vos propres programmes :<p>
<ul>
<li>Sous TOS simple, seule l'application (principale) 0 peut agir comme serveur AV. En
environnement multit&acirc;ches, comme MagiC ou MultiTOS, vous devez v&eacute;rifier la pr&eacute;sence d'un serveur AV
dans la variable d'environnement <a href="../pages/variable.htm#AVSERVER">AVSERVER</a>.<p>
<li>Si un programme utilise <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a>, il doit utiliser &eacute;galement
AV_EXIT avant d'&ecirc;tre quitt&eacute;.<p>
<li>Un programme doit toujours attendre le retour de <a href="#VA_PROTOSTATUS">VA_PROTOSTATUS</a>
avant d'utiliser un autre message AV ! Il se peut que le serveur courant ne transmette pas tous les
messages du protocole AV.<p>
<li>Tous les blocs m&eacute;moire qui sont utilis&eacute;s pour transmettre les noms de fichier, les param&egrave;tres,
... doivent &ecirc;tre allou&eacute;s en mode 'global' sous MultiTOS (conseil : Mxalloc(&lt;taille&gt;,0x42)) !
Autrement, il peut y avoir un probl&egrave;me d'acc&egrave;s m&eacute;moire.<p>
<li>Tous les noms de fichiers et dossiers doivent &ecirc;tre exprim&eacute;s sous forme compl&egrave;te (exemple :
'i:\test.txt').<p>
<li>Si le serveur supporte les noms de fichiers entre guillemets, ceux-ci peuvent &ecirc;tre entre deux
caract&egrave;res '. Si un guillemet fait d&eacute;j&agrave; partie d'un nom de fichier, celui-ci sera r&eacute;p&eacute;t&eacute; :<p>
d:\lettre &agrave; ren&eacute; devient 'd:\lettre &agrave; ren&eacute;'<p>
d:\image d'antan devient 'd:\image d''antan'<p>
<li>S'il y a plus d'un nom de fichier/dossier, les noms doivent &ecirc;tre s&eacute;par&eacute;s par un seul espace
(code ASCII 32).<p>
<li>Les noms des dossiers doivent se terminer par un anti-slash '\' (code ASCII 92). Exemple :
'i:\lettres\' (la version 1.a de Gemini ne semblait faire ceci).<p>
<li>Pour g&eacute;n&eacute;rer un acc&egrave;s &agrave; la fen&ecirc;tre suivante 'global' (window cycling), les clients AV doivent
envoyer un [Control]+[W] au serveur par le message <a href="#AV_SENDKEY">AV_SENDKEY</a>.
</ul>
</table>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_PROTOKOLL ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_PROTOKOLL">AV_PROTOKOLL</a></h3>
<b>AV_PROTOKOLL (0x4700) serveur &lt;- client (26 juin 1995)</b><p>
Un client demande au serveur quelle fonction du protocole AV est g&eacute;r&eacute;e. Le serveur r&eacute;pond en
envoyant un message <a href="#VA_PROTOSTATUS">VA_PROTOSTATUS</a>.<p>
<pre>
Mot 3 : Bit 0 : <a href="#VA_SETSTATUS">VA_SETSTATUS</a>
Bit 1 : <a href="#VA_START">VA_START</a>
Bit 2 : <a href="#AV_STARTED">AV_STARTED</a>
Bit 3 : <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a>
Bit 4 : Envoie et utilise les noms de fichier entre guillemets
Bit 5 : <a href="#VA_PATH_UPDATE">VA_PATH_UPDATE</a>
Bit 6-15 : R&eacute;serv&eacute;, toujours &agrave; 0
Mot 4 : R&eacute;serv&eacute;, toujours &agrave; 0
Mot 5 : R&eacute;serv&eacute;, toujours &agrave; 0
Mot 6+7 : Pointeur du nom, qui doit toujours &ecirc;tre utilis&eacute; pour
appl_find() pour obtenir l'identification AES du client (8
caract&egrave;res suivis par le code nul).
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_PROTOSTATUS ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_PROTOSTATUS">VA_PROTOSTATUS</a></h3>
<b>VA_PROTOSTATUS (0x4701) serveur -&gt; client (26 juin 1995)</b><p>
R&eacute;pond par l'envoi d'un message <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a> demand&eacute; par le client. La
r&eacute;ponse, sous forme d'un mot, sp&eacute;cifie quelle fonction du protocole AV de Thing est support&eacute;e. Les
messages en rouge ne doivent jamais &ecirc;tre g&eacute;r&eacute;s par Thing.<p>
<pre>
Mot 3 : Bit 0 : <a href="#AV_SENDKEY">AV_SENDKEY</a>
Bit 1 : <a href="#AV_ASKFILEFONT">AV_ASKFILEFONT</a>
Bit 2 : <a href="#AV_ASKCONFONT">AV_ASKCONFONT</a>, <font
color=red>AV_OPENCONSOLE</font>
Bit 3 : AV_ASKobjet
Bit 4 : <a href="#AV_OPENWIND">AV_OPENWIND</a>
Bit 5 : <a href="#AV_STARTPROG">AV_STARTPROG</a>
Bit 6 : <a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>, <a href="#AV_ACCWINDCLOSED">AV_ACCWINDCLOSED</a>
Bit 7 : <a href="#AV_STATUS">AV_STATUS</a>, <a href="#AV_GETSTATUS">AV_GETSTATUS</a>
Bit 8 : <a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a>
Bit 9 : <a href="#AV_PATH_UPDATE">AV_PATH_UPDATE</a>, <a href="#AV_WHAT_IZIT">AV_WHAT_IZIT</a>, <a href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>
Bit 10 : <a href="#AV_EXIT">AV_EXIT</a>
Bit 11 : <a href="#AV_XWIND">AV_XWIND</a>
Bit 12 : <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a>
Bit 13 : <a href="#AV_STARTED">AV_STARTED</a>
Bit 14 : Envoie et utilise les noms de fichier entre guillemets
Bit 15 : <a href="#AV_FILEINFO">AV_FILEINFO</a>, <a href="#VA_FILECHANGED">VA_FILECHANGED</a>
Mot 4 : Bit 0 : <a href="#AV_COPYFILE">AV_COPYFILE</a>, <a href="#VA_FILECOPIED">VA_FILECOPIED</a>
Bit 1 : <a href="#AV_DELFILE">AV_DELFILE</a>, <a href="#VA_FILEDELETED">VA_FILEDELETED</a>
Bit 2 : <a href="#AV_VIEW">AV_VIEW</a>, <a href="#VA_VIEWED">VA_VIEWED</a>
Bit 3 : AV_SETWINDPOS
Bit 4-15 : R&eacute;serv&eacute;, toujours &agrave; 0
Mot 5 : R&eacute;serv&eacute;, toujours &agrave; 0
Mot 6+7 : Pointeur des noms de programme des serveurs, pr&eacute;par&eacute; par
appl_find() (8 caract&egrave;res suivis du code nul).
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_GETSTATUS ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_GETSTATUS">AV_GETSTATUS</a></h3>
<b>AV_GETSTATUS (0x4703) serveur &lt;- client (11 novembre 1994)</b><p>
Demande le statut d'information sauv&eacute; par <a href="#AV_STATUS">AV_STATUS</a>. Un message
<a href="#VA_SETSTATUS">VA_SETSTATUS</a> est renvoy&eacute; en r&eacute;ponse. Il n'y a aucun param&egrave;tre associ&eacute; &agrave;
cette instruction.<p>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_STATUS ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_STATUS">AV_STATUS</a></h3>
<b>AV_STATUS (0x4704) serveur &lt;- client (11 novembre 1994)</b><p>
Par ce message, un client peut demander au serveur n'importe quel statut d'information (pr&eacute;-
r&eacute;glages, ...) et n'a pas besoin d'&ecirc;tre renouvel&eacute;. Thing sauvegarde cette information comme &eacute;l&eacute;ment
dans le fichier 'THING.INF'.<p>
Cette fonction est d'une utilit&eacute; fondamentale pour les accessoires de bureau, car le TOS simple est
(au mieux) &eacute;quip&eacute; de tampons utilisables !<p>
<pre>
Mot 3+4 : Pointeur d'une cha&icirc;ne de 256 caract&egrave;res maximum qui ne doit
contenir aucun code de contr"le.
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_SETSTATUS ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_SETSTATUS">VA_SETSTATUS</a></h3>
<b>VA_SETSTATUS (0x4705) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;pond au message <a href="#AV_GETSTATUS">AV_GETSTATUS</a>. Thing &eacute;change le pr&eacute;c&eacute;dent statut
d'information avec le client.<p>
<pre>
Mot 3+4 : Pointeur sur la cha&icirc;ne sauvegard&eacute;e ou code nul si
l'information n'est pas disponible.
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_SENDKEY ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_SENDKEY">AV_SENDKEY</a></h3>
<b>AV_SENDKEY (0x4710) serveur &lt;- client (11 novembre 1994)</b><p>
Par ce message, un client peut envoyer &agrave; Thing n'importe quelle touche qui n'est pas utilis&eacute;e par
lui-m&ecirc;me.<p>
<dl>
<dt><b>Note</b>
<dd>Thing et Gemini acceptent [Control]+[W] pour proc&eacute;der &agrave; un acc&egrave;s &agrave; la fen&ecirc;tre suivante 'global'
(Window cycling). Toutes les fen&ecirc;tres ouvertes de n'importe quel client AV sont prises en compte.
L'&eacute;tat touche (ev_mmokstate) est 0x0004, le 'scan code' (ev_mkreturn) est 0x1107.<p>
</dl>
<pre>
Mot 3 : Etat touche (ev_mmokstate)
Mot 4 : 'Scan code' de la touche appuy&eacute;e (ev_mkreturn)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_START ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_START">VA_START</a></h3>
<b>VA_START (0x4711) serveur -&gt; client (11 novembre 1994)</b><p>
Par ce message, un serveur transmet des param&egrave;tres aux accessoires de bureau ou &agrave; des applications
lanc&eacute;es en parall&egrave;le.<p>
Une caract&eacute;ristique exceptionnelle : Thing peut aussi recevoir des messages VA_START. Dans la ligne
de commande, un programme individuel ou un fichier peut &ecirc;tre transmis. Les applications install&eacute;es
sont &eacute;galement prises en compte.<p>
Les lignes de commande commen&ccedil;ant avec le caract&egrave;re ':' ne doivent pas &ecirc;tre utilis&eacute;es, car elles
sont interpr&eacute;t&eacute;es comme commandes internes !<p>
<pre>
Mot 3+4 : Pointeur de la ligne de commande. Les <a href="../pages/bureau.htm#Objets">objets</a> d&eacute;plac&eacute;s sur les
ic&ocirc;nes par <a href="#Drag&Drop">Drag&amp;Drop</a> r&eacute;clament le nom de fichier en entier
(exemple : chemin, nom du fichier suivi d'un anti-slash '\').
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_ASKFILEFONT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_ASKFILEFONT">AV_ASKFILEFONT</a></h3>
<b>AV_ASKFILEFONT (0x4712) serveur &lt;- client (11 novembre 1994)</b><p>
Par ce message, le client peut demander la fonte courante utilis&eacute;e pour les noms de fichier dans
les fen&ecirc;tres r&eacute;pertoire. Le serveur, l'identification et la taille (en points) de la fonte sont
inclus dans le message <a href="#VA_FILEFONT">VA_FILEFONT</a>. Il n'y a pas de param&egrave;tres pour
cette instruction.<p>
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_FILEFONT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_FILEFONT">VA_FILEFONT</a></h3>
<b>VA_FILEFONT (0x4713) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;ponse &agrave; <a href="#AV_ASKFILEFONT">AV_ASKFILEFONT</a>. Le serveur retourne l'identification et la
taille (en points) de la fonte utilis&eacute;e pour les noms de fichier dans les fen&ecirc;tres r&eacute;pertoire.<p>
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
<pre>
Mot 3 : Identification de la fonte (vst_font)
Mot 4 : Taille en points (vst_point)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_ASKCONFONT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_ASKCONFONT">AV_ASKCONFONT</a></h3>
<b>AV_ASKCONFONT (0x4714) serveur &lt;- client (11 novembre 1994)</b><p>
Un client peut demander la fonte utilis&eacute;e dans la fen&ecirc;tre console. Le serveur r&eacute;pond en utilisant
le message <a href="#VA_CONFONT">VA_CONFONT</a> avec l'identification et la taille (en points) de
la fonte. Il n'y a pas de param&egrave;tres pour cette instruction.<p>
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_CONFONT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_CONFONT">VA_CONFONT</a></h3>
<b>VA_CONFONT (0x4715) serveur -&gt; client (11 novembre 1994)</b><p>
Thing utilise ce message pour r&eacute;pondre &agrave; un message <a href="#AV_ASKCONFONT">AV_ASKCONFONT</a>.
Thing renvoie l'identification ainsi que la taille (en points) de la fonte courante utilis&eacute;e dans
la fen&ecirc;tre console.<p>
Reportez-vous au message <a href="#VA_FONTCHANGED">VA_FONTCHANGED</a> pour plus d'informations.<p>
<pre>
Mot 3 : Identification de la fonte (vst_font)
Mot 4 : Taille en points (vst_point)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_OPENWIND ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_OPENWIND">AV_OPENWIND</a></h3>
<b>AV_OPENWIND (0x4720) serveur &lt;- client (11 novembre 1994)</b><p>
Thing ouvre une nouvelle fen&ecirc;tre r&eacute;pertoire.<p>
<pre>
Mot 3+4 : Pointeur du chemin du r&eacute;pertoire ouvert.
Mot 5+6 : Pointeur du masque de fichier. '*.*' est interpr&eacute;t&eacute; comme '*'
(tous les fichiers) par Thing.
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_WINDOPEN ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_WINDOPEN">VA_WINDOPEN</a></h3>
<b>VA_WINDOPEN (0x4721) serveur -&gt; client (11 novembre 1994)</b><p>
Thing r&eacute;pond au client &agrave; <a href="#AV_OPENWIND">AV_OPENWIND</a>.<p>
<pre>
Mot 3 : 0 = Erreur.
!=0 = La fen&ecirc;tre est ouverte et le r&eacute;pertoire r&eacute;actualis&eacute;.
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_STARTPROG ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_STARTPROG">AV_STARTPROG</a></h3>
<b>AV_STARTPROG (0x4722) serveur &lt;- client (11 novembre 1994)</b><p>
Thing lance un programme &agrave; la demande d'un client.<p>
<pre>
Mot 3+4 : Nom du programme avec le chemin complet (avec &eacute;ventuellement
le nom du fichier). Si le nom du fichier est inclus, Thing
recherche pour l'application, le nom du fichier et transmet
celui-ci comme param&egrave;tre &agrave; l'application.
Mot 5+6 : Ligne de commande ou code nul si celle-ci n'existe pas.
Mot 7 : N'importe quelle valeur 16 bits, que <a href="#VA_PROGSTART">VA_PROGSTART</a> transmettra.
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_PROGSTART ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_PROGSTART">VA_PROGSTART</a></h3>
<b>VA_PROGSTART (0x4723) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;pond &agrave; la demande d'un message <a href="#AV_STARTPROG">AV_STARTPROG</a>. Thing envoie toujours la
r&eacute;ponse imm&eacute;diatement (par exemple, apr&egrave;s la fin des programmes lanc&eacute;s sous TOS simple qui ne sont
pas consid&eacute;r&eacute;s comme accessoires). Actuellement, le code retourn&eacute; pour les programmes lanc&eacute;s est
toujours 0.<p>
Si Thing est quitt&eacute; avant le lancement d'un programme (mode o&ugrave; Thing est retir&eacute; de la m&eacute;moire avant
l'ex&eacute;cution ou mode mono-t&acirc;che sous MagiC), aucun message de r&eacute;ponse n'est envoy&eacute;.<p>
Un client devra toujours recevoir un message d'erreur si le programme ne peut &ecirc;tre ex&eacute;cut&eacute;.<p>
<pre>
Mot 3 : 0 = Erreur
!=0 = Programme ex&eacute;cut&eacute;
Mot 4 : Code retourn&eacute; par le programme (s'il existe)
Mot 7 : Mot de 16 bits de AV_STARTPROG
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_ACCWINDOPEN ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_ACCWINDOPEN">AV_ACCWINDOPEN</a></h3>
<b>AV_ACCWINDOPEN (0x4724) serveur &lt;- client (11 novembre 1994)</b><p>
Un client utilise ce message pour &eacute;changer avec Thing l'information qui a ouvert une fen&ecirc;tre. Thing
peut alors &eacute;tendre sa gestion pour le Drag&amp;Drop et l'acc&egrave;s &agrave; la fen&ecirc;tre suivante (cycle window)
pour recouvrir cette fen&ecirc;tre.<p>
<pre>
Mot 3 : Gestion fen&ecirc;tre AES
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_DRAGACCWIND ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_DRAGACCWIND">VA_DRAGACCWIND</a></h3>
<b>VA_DRAGACCWIND (0x4725) serveur -&gt; client (11 novembre 1994)</b><p>
Thing envoie un message VA_DRAGACCWIND au client quand un ou plusieurs objets ont &eacute;t&eacute; d&eacute;plac&eacute;s sur
sa fen&ecirc;tre. La fen&ecirc;tre doit avoir &eacute;t&eacute; au pr&eacute;alable reconnue avec Thing par le message
<a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>.<p>
Reportez-vous au message <a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a> pour plus de pr&eacute;cisions.<p>
<dl>
<dt><b>Note</b>
<dd>Le statut clavier pour d'autres r&eacute;ponses du client (comme AV_COPY_DRAGGED) devient n&eacute;cessaire.
Il doit, &agrave; la r&eacute;ception de VA_DRAGACCWIND, v&eacute;rifier la valeur retourn&eacute;e par evnt_multi().<p>
</dl>
Par exemple : la structure 'EVENT' doit &ecirc;tre v&eacute;rifi&eacute;e en utilisant EvntMulti() et non par l'envoi
d'une r&eacute;ponse par graf_mkstate() !<p>
<pre>
Mot 3 : Gestion fen&ecirc;tre AES
Mot 4 : Position X de la souris
Mot 5 : Position Y de la souris
Mot 6+7 : Pointeur de la cha&icirc;ne contenant les noms d'objets
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_ACCWINDCLOSED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_ACCWINDCLOSED">AV_ACCWINDCLOSED</a></h3>
<b>AV_ACCWINDCLOSED (0x4726) serveur &lt;- client (11 novembre 1994)</b><p>
Un client &eacute;change des informations avec Thing quand il a ferm&eacute; l'une de ses fen&ecirc;tres. Ceci
intervient seulement si un client ferme sa propre fen&ecirc;tre. Sous TOS simple, les fen&ecirc;tres des
accessoires sont automatiquement ferm&eacute;es au lancement des applications et ce message n'est pas
n&eacute;cessaire.<p>
<pre>
Mot 3 : Gestion fen&ecirc;tre AES
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_COPY_DRAGGED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_COPY_DRAGGED">AV_COPY_DRAGGED</a></h3>
<b>AV_COPY_DRAGGED (0x4728) serveur &lt;- client (11 novembre 1994)</b><p>
Un client informe Thing qu'un objet ou des objets ont &eacute;t&eacute; d&eacute;livr&eacute;s par <a
href="#VA_DRAGACCWIND">VA_DRAGACCWIND</a> et sont pr&ecirc;ts pour la copie. Thing envoie au client une
r&eacute;ponse avec <a href="#VA_COPY_COMPLETE">VA_COPY_COMPLETE</a>.<p>
<pre>
Mot 3 : Statut clavier &agrave; la r&eacute;ception de VA_DRAGACCWIND
Mot 4+5 : Pointeur du chemin de destination
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_COPY_COMPLETE ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_COPY_COMPLETE">VA_COPY_COMPLETE</a></h3>
<b>VA_COPY_COMPLETE (0x4729) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;ponse de Thing par <a href="#AV_COPY_DRAGGED">AV_COPY_DRAGGED</a> au client.<p>
<pre>
Mot 3 : 0 = Erreur ou interruption par l'utilisateur
!=0 = Les <a href="../pages/bureau.htm#Objets">objets</a> sont copi&eacute;s et la fen&ecirc;tre r&eacute;pertoire est
r&eacute;actualis&eacute;e si n&eacute;cessaire
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_PATH_UPDATE ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_PATH_UPDATE">AV_PATH_UPDATE</a></h3>
<b>AV_PATH_UPDATE (0x4730) serveur &lt;- client (11 novembre 1994)</b><p>
Un client informe Thing que le contenu d'un r&eacute;pertoire a &eacute;t&eacute; chang&eacute;. Thing relit alors les
r&eacute;pertoires appropri&eacute;s ainsi que tous les sous-r&eacute;pertoires dans le chemin sp&eacute;cifi&eacute;.<p>
<pre>
Mot 3+4 : Pointeur du chemin absolu (exemple : C:\AUTO\)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_WHAT_IZIT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_WHAT_IZIT">AV_WHAT_IZIT</a></h3>
<b>AV_WHAT_IZIT (0x4732) serveur &lt;- client (11 novembre 1994)</b><p>
Un client r&eacute;clame des informations sur une localisation d'une partie d'&eacute;cran. Thing r&eacute;pond par un
message <a href="#VA_THAT_IZIT">VA_THAT_IZIT</a>.<p>
<pre>
Mot 3 : Coordonn&eacute;e X
Mot 4 : Coordonn&eacute;e Y
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_THAT_IZIT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_THAT_IZIT">VA_THAT_IZIT</a></h3>
<b>VA_THAT_IZIT (0x4733) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;ponse &agrave; une demande de message <a href="#AV_WHAT_IZIT">AV_WHAT_IZIT</a>.<p>
<pre>
Mot 3 : Identification AES pour l'application appropri&eacute;e
Mot 4 : Type d'objet
Mot 5+6 : Pointeur des noms d'objets ou code nul si aucun nom n'est
disponible.
</pre>
Les diff&eacute;rents types sont les suivants :<p>
<pre>
VA_OB_UNKNOWN (0) Inconnu (fen&ecirc;tre console, bureau, ...)
VA_OB_TRASHCAN (1) 'Poubelle' Gemini (n'existe pas avec Thing)
VA_OB_SHREDDER (2) 'Destructeur de documents' Gemini (Shredder)
VA_OB_CLIPBOARD (3) Presse-papiers
VA_OB_FILE (4) Fichier
VA_OB_FOLDER (5) Dossier ou fen&ecirc;tre r&eacute;pertoire en arri&egrave;re-plan
VA_OB_DRIVE (6) Lecteur
VA_OB_WINDOW (7) Fen&ecirc;tre appartenant &agrave; une autre application
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_DRAG_ON_WINDOW ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a></h3>
<b>AV_DRAG_ON_WINDOW (0x4734) serveur &lt;- client (11 novembre 1994)</b><p>
Un client informe Thing que des objets ont &eacute;t&eacute; pos&eacute;s quelque part. Thing fait le tri &agrave; l'endroit o&ugrave;
ont &eacute;t&eacute; pos&eacute;s les objets et envoie un message <a href="#VA_DRAG_COMPLETE">VA_DRAG_COMPLETE</a>.<p>
<pre>
Mot 3 : Position X de la souris
Mot 4 : Position Y de la souris
Mot 5 : Statut clavier
Mot 6+7 : Pointeur de la cha&icirc;ne contenant les noms des objets
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_DRAG_COMPLETE ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_DRAG_COMPLETE">VA_DRAG_COMPLETE</a></h3>
<b>VA_DRAG_COMPLETE (0x4735) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;ponse au message <a href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>.<p>
<pre>
Mot 3 : 0 = Rien de chang&eacute; apr&egrave;s le Drag&amp;Drop
1 = Les objets sp&eacute;cifi&eacute;s sont trait&eacute;s (copie, effacement, ...)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_EXIT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_EXIT">AV_EXIT</a></h3>
<b>AV_EXIT (0x4736) serveur &lt;- client (11 novembre 1994)</b><p>
Un client informe Thing qu'il n'a pas respect&eacute; le protocole AV. Ceci &agrave; pour effet d'interrompre
aussi tous les messages <a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a> messages.<p>
Ce message doit &ecirc;tre utilis&eacute; avant de quitter un programme si le programme en question ne peut
utiliser le message <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a> !<p>
<pre>
Mot 3 : Identification AES du client
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_STARTED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_STARTED">AV_STARTED</a></h3>
<b>AV_STARTED (0x4738) serveur &lt;- client (11 novembre 1994)</b><p>
Un client informe Thing qu'il a re&ccedil;u et compris le message <a href="#VA_START">VA_START</a> et
qu'&eacute;galement la m&eacute;moire r&eacute;serv&eacute;e pour la ligne de commande peut &ecirc;tre lib&eacute;r&eacute;e.<p>
Pour l'instant, ce message est ignor&eacute;, car Thing ne r&eacute;serve pas de m&eacute;moire suppl&eacute;mentaire pour les
messages VA_START.<p>
<pre>
Mot 3+4 : Pointeur de la ligne de commande re&ccedil;ue par VA_START
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_FONTCHANGED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_FONTCHANGED">VA_FONTCHANGED</a></h3>
<b>VA_FONTCHANGED (0x4739) serveur -&gt; client (11 novembre 1994)</b><p>
Si l'une des fontes dans Thing est modifi&eacute;e, tous les clients qui ont d&eacute;j&agrave; demand&eacute; la fonte par
<a href="#AV_PROTOKOLL">AV_PROTOKOLL</a>, sont inform&eacute;s.<p>
<dl>
<dt><b>Note</b>
<dd>Malheureusement, TreeView 2.4, programm&eacute; par Stephan Gerle, ne r&eacute;agit pas &agrave; ce message si Thing
envoie explicitement &agrave; TreeView (<a href="../pages/applicat.htm">applications</a> nomm&eacute;es
'TREEVIEW') un message <a href="#VA_FILEFONT">VA_FILEFONT</a>. Ceci n'est pas une solution id&eacute;ale
mais est d'une fonctionnalit&eacute; pratique.<p>
</dl>
<pre>
Mot 3 : Identification de la fonte utilis&eacute;e pour les r&eacute;pertoires
(vst_font)
Mot 4 : Taille en points de la fonte utilis&eacute;e dans les r&eacute;pertoires
(vst_point)
Mot 5 : Identification de la fonte utilis&eacute;e dans la fen&ecirc;tre console
(vst_font)
Mot 6 : Taille en points de la fonte utilis&eacute;e dans la fen&ecirc;tre console
(vst_point)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_XWIND ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_XWIND">AV_XWIND</a></h3>
<b>AV_XWIND (0x4740) serveur &lt;- client (11 novembre 1994)</b><p>
Thing ouvre une fen&ecirc;tre r&eacute;pertoire, comme avec <a href="#AV_OPENWIND">AV_OPENWIND</a>, mise &agrave; part
qu'il existe d'autres options :<p>
<pre>
Mot 3+4 : Pointeur du chemin pour l'ouverture des r&eacute;pertoires
Mot 5+6 : Pointeur du masque (joker) pour les fichiers existants
Mot 7 : Bit 0 : Utilise la fen&ecirc;tre courante active, si elle existe
Bit 1 : Utilise les jokers pour la s&eacute;lection d'objets
Bit 2-15 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_XOPEN ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, VA_XOPEN</h3>
<b>VA_XOPEN (0x4741) serveur -&gt; client (11 novembre 1994)</b><p>
R&eacute;ponse &agrave; <a href="#AV_XWIND">AV_XWIND</a>, comme pour <a href="#VA_WINDOPEN">VA_WINDOPEN</a>.<p>
<pre>
Mot 3 : 0 = Erreur
!=0 = La fen&ecirc;tre ouverte et le r&eacute;pertoire sont enti&egrave;rement lus
(une fen&ecirc;tre active devant &ecirc;tre existante)
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_VIEW ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_VIEW">AV_VIEW</a></h3>
<b>AV_VIEW (0x4751) serveur &lt;- client (26 juin 1995)</b><p>
Le serveur appelle le visualiseur pour un fichier sp&eacute;cifique. Si aucun visualiseur n'est
disponible, un message d'erreur est retourn&eacute; &agrave; l'utilisateur.<p>
<dl>
<dt><b>Note</b>
<dd>A la diff&eacute;rence de Gemini V1.a, Thing reconna&icirc;t quelles applications sont install&eacute;es pour
chaque type de fichiers. Avec ce message, Thing peut ex&eacute;cuter l'application correspondante (exemple
: un simple visualiseur d'image IMG au lieu d'un programme de dessin).<p>
</dl>
<pre>
Mot 3+4 : Pointeur des noms de fichiers destin&eacute;s &agrave; &ecirc;tre visualis&eacute;s (seul
un fichier est autoris&eacute;).
Mot 5-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_VIEWED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_VIEWED">VA_VIEWED</a></h3>
<b>VA_VIEWED (0x4752) serveur -&gt; client (26 juin 1995)</b><p>
R&eacute;ponse &agrave; <a href="#AV_VIEW">AV_VIEW</a>. Le serveur informe le client quels sont les fichiers &agrave;
visualiser ou non. La r&eacute;ponse est imm&eacute;diate et est toujours renvoy&eacute;e si une erreur intervient.
Autrement, en t&acirc;che de fond (multit&acirc;ches), la r&eacute;ponse est re&ccedil;ue aussit"t que le visualiseur est
actif. Sous TOS simple, la r&eacute;ponse est re&ccedil;ue apr&egrave;s que le visualiseur soit quitt&eacute;, au cas o&ugrave; le
serveur n'ai pas d&eacute;j&agrave; &eacute;t&eacute; quitt&eacute; (par exemple : lorsque Thing est retir&eacute; de la m&eacute;moire avant le
lancement du visualiseur).<p>
<pre>
Mot 3 : 0 = Erreur, 1 = Tout est correct
Mot 4-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_FILEINFO ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_FILEINFO">AV_FILEINFO</a></h3>
<b>AV_FILEINFO (0x4753) serveur &lt;- client (26 juin 1995)</b><p>
Affiche les informations sur les fichiers/dossiers (r&eacute;ponse &agrave; <a
href="#VA_FILECHANGED">VA_FILECHANGED</a>).<p>
<pre>
Mot 3+4 : Pointeur du nom du fichier ou du dossier. Plusieurs
fichiers/dossiers doivent &ecirc;tre s&eacute;par&eacute;s par des espaces. Les
dossiers doivent se terminer par un anti-slash '\' !
Mot 5-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_FILECHANGED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_FILECHANGED">VA_FILECHANGED</a></h3>
<b>VA_FILECHANGED (0x4754) serveur -&gt; client (26 juin 1995)</b><p>
R&eacute;ponse &agrave; <a href="#AV_FILEINFO">AV_FILEINFO</a>.<p>
<pre>
Mot 3+4 : Pointeur du nom du fichier/dossier transmis par AV_FILEINFO,
qui peut naturellement contenir un nouveau nom de
fichier/dossier.
Exemple : 'C:\ANNA.TXT C:\AUTO\' sera transmis. Si
l'utilisateur change 'ANNA.TXT' en 'ANNIE.TXT', la
cha&icirc;ne du message sera modifi&eacute;e en : 'C:\ANNIE.TXT
C:\AUTO\'
Mot 5-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_COPYFILE ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_COPYFILE">AV_COPYFILE</a></h3>
<b>AV_COPYFILE (0x4755) serveur &lt;- client (26 juin 1995)</b><p>
Copie ou d&eacute;place des fichiers/dossiers (r&eacute;ponse &agrave; <a href="#VA_FILECOPIED">VA_FILECOPIED</a>).<p>
<pre>
Mot 3+4 : Pointeur du ou des fichiers source et dossier(s) s&eacute;par&eacute;s par
des espaces. Les dossiers doivent se terminer par un anti-
slash '\'.
Mot 5+6 : Pointeur du dossier de destination
Mot 7 : Bit 0 : Efface l'original (d&eacute;placement)
Bit 1 : Renomme la copie
Bit 2 : Remplace la destination sans avertissement
Bit 3-15 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_FILECOPIED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_FILECOPIED">VA_FILECOPIED</a></h3>
<b>VA_FILECOPIED (0x4756) serveur -&gt; client (26 juin 1995)</b><p>
R&eacute;ponse &agrave; <a href="#AV_COPYFILE">AV_COPYFILE</a>.<p>
<pre>
Mot 3 : 0 = Erreur, 1 = Tout est correct
Mot 4-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_DELFILE ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_DELFILE">AV_DELFILE</a></h3>
<b>AV_DELFILE (0x4757) serveur &lt;- client (26 juin 1995)</b><p>
Efface des fichiers/dossiers (r&eacute;ponse &agrave; <a href="#VA_FILEDELETED">VA_FILEDELETED</a>).<p>
<pre>
Mot 3+4 : Pointeur des fichiers/dossiers devant &ecirc;tre effac&eacute;s, s&eacute;par&eacute;s
par des espaces. Les dossiers doivent se terminer par un anti-
slash '\'.
Mot 5-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_FILEDELETED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_FILEDELETED">VA_FILEDELETED</a></h3>
<b>VA_FILEDELETED (0x4758) serveur -&gt; client (26 juin 1995)</b><p>
R&eacute;ponse &agrave; <a href="#AV_DELFILE">AV_DELFILE</a>.<p>
<pre>
Mot 3 : 0 = Erreur, 1 = Tout est correct
Mot 4-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, AV_SETWINDPOS ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="AV_SETWINDPOS">AV_SETWINDPOS</a></h3>
<b>AV_SETWINDPOS (0x4759) serveur &lt;- client (26 juin 1995)</b><p>
<a href="#AV_XWIND">AV_XWIND</a> est une extension de <a href="#AV_OPENWIND">AV_OPENWIND</a>. Avec
ce message, le client peut &ecirc;tre inform&eacute; de la position et de la taille de la fen&ecirc;tre r&eacute;pertoire
suivante (avec AV_XWIND ou AV_OPENWIND) &agrave; ouvrir. Les coordonn&eacute;es sont donn&eacute;es en coordonn&eacute;es
absolues.<p>
Puisque par AV_XWIND, une fen&ecirc;tre existante est activ&eacute;e au lieu qu'une nouvelle fen&ecirc;tre soit
ouverte, ce message n'a pas d'effet.<p>
<pre>
Mot 3 : Position X
Mot 4 : Position Y
Mot 5 : Largeur
Mot 6 : Hauteur
Mot 7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole AV, VA_PATH_UPDATE ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole AV, <a name="VA_PATH_UPDATE">VA_PATH_UPDATE</a></h3>
<b>VA_PATH_UPDATE (0x4760) serveur -&gt; client (26 juin 1995)</b><p>
Si le client a reconnu par <a href="#AV_PROTOKOLL">AV_PROTOKOLL</a> que le serveur supporte ce
message, il informe celui-ci lorsqu'il modifie le contenu d'un r&eacute;pertoire ou d'un sous-r&eacute;pertoire.
Le client doit alors relire tous les r&eacute;pertoires et sous-r&eacute;pertoires correspondants et, si
n&eacute;cessaire, fermer les sous-r&eacute;pertoires qui n'existent plus.<p>
<pre>
Mot 3+4 : Pointeur du r&eacute;pertoire, qui doit toujours se terminer par un
anti-slash '\'.
Mot 5-7 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole des fontes ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3><a name="Protocole - Fontes">Protocole des fontes</a></h3>
<ul>
<li><a href="#FONT_SELECT">FONT_SELECT</a>
<li><a href="#FONT_CHANGED">FONT_CHANGED</a><p>
</ul>
Depuis la version 0.4, Thing g&egrave;re les plus importantes fonctions de ce protocole, comme Christian
Grunenberg l'a d&eacute;fini.<p>
Thing peut aussi &ecirc;tre install&eacute; comme s&eacute;lecteur de fontes pour d'autres applications, bien qu'&agrave;
pr&eacute;sent, seul ST-Guide (du 30/04/95 ou apr&egrave;s) supporte cette option. Pour que cette option
fonctionne bien, les crit&egrave;res suivants doivent &ecirc;tre observ&eacute;s :<p>
<ul>
<li>Thing doit &ecirc;tre lanc&eacute; en m&ecirc;me temps que l'application, soit comme un accessoire de bureau sous
TOS simple ou en environnement multit&acirc;ches.<p>
<li>La variable d'environnement 'FONTSELECT' doit &ecirc;tre d&eacute;finie par 'THING'.<p>
</ul>
Ce qui suit est une description des messages support&eacute;s par Thing. Pour avoir l'ensemble de ce
protocole (en allemand), contactez Christian Grunenberg :<p>
<address>Email: Christian_Grunenberg@LB.maus.de</address><p>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole des fontes, FONT_SELECT ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole des fontes, <a name="FONT_SELECT">FONT_SELECT</a></h3>
<b>FONT_SELECT (0x7A19) Application -&gt; Thing</b><p>
Une application appelle le s&eacute;lecteur de fontes et re&ccedil;oit en retour la s&eacute;lection des fontes.
Ensuite, elle r&eacute;pond par le message <a href="#FONT_CHANGED">FONT_CHANGED</a>.<p>
<pre>
Mot 3 : Traite la fen&ecirc;tre affect&eacute;e, ou valeur n&eacute;gative si la fonte a &eacute;t&eacute;
chang&eacute;e pour toutes les fen&ecirc;tres
Mot 4 : Identification de la fonte ou 0
Mot 5 : Taille de la fonte en points
Mot 6 : Couleur de la fonte
Mot 7 : Attributs - Bit 0 : Gras
Bit 1 : Clair
Bit 2 : Italique
Bit 3 : Soulign&eacute;
Bit 4 : Contour
Bit 5 : Ombr&eacute;
Bit 6 : Inverse
Bit 7-15 : R&eacute;serv&eacute;, toujours &agrave; 0
</pre>
<! ------------------------------------------------------------------------------------------------>
<! *** Protocole des fontes, FONT_CHANGED ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3>Protocole des fontes, <a name="FONT_CHANGED">FONT_CHANGED</a></h3>
<b>FONT_CHANGED (0x7A18) Application &lt;- Thing</b><p>
R&eacute;ponse &agrave; <a href="#FONT_SELECT">FONT_SELECT</a>. Thing informe l'application des nouvelles
valeurs. Le mot 1 du message contient l'identification d'application de Thing.<p>
Ce message est aussi retourn&eacute; par Thing si la fonte est d&eacute;plac&eacute;e par Drag&amp;Drop sur la fen&ecirc;tre d'une
autre application.<p>
<table border align=center>
<tr><td><img src="../images/232.gif" align=left alt="232.GIF">
Installez WINX sous TOS simple pour que Thing puisse d&eacute;terminer le d&eacute;tenteur de chaque fen&ecirc;tre.
</table>
<br>
Thing accepte aussi ce message en tant que r&eacute;cepteur et r&eacute;actualise la fen&ecirc;tre affich&eacute;e comme
demand&eacute;.<p>
<! ------------------------------------------------------------------------------------------------>
<! *** Drag&Drop ***>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<h3><a name="Drag&Drop">Drag&amp;Drop</a></h3>
Ce protocole a &eacute;t&eacute; introduit par Atari pour MultiTOS et devrait &ecirc;tre support&eacute; par MagiC.<p>
<b>Thing comme &eacute;metteur</b><p>
Thing actionne automatiquement ce protocole si un ou plusieurs objets d'une fen&ecirc;tre sont tir&eacute;s et
pos&eacute;s sur une autre appartenant &agrave; une application, laquelle ne doit pas appartenir &agrave; un client AV
et dont la fen&ecirc;tre n'a pas &eacute;t&eacute; ouverte par <a href="#AV_ACCWINDOPEN">AV_ACCWINDOPEN</a>.<p>
Thing peut m&ecirc;me 'convertir' des messages Drag&amp;Drop AV (<a
href="#AV_DRAG_ON_WINDOW">AV_DRAG_ON_WINDOW</a>) en messages de protocole Drag&amp;Drop ! Pour
cela, il est possible de rechercher des fichiers avec ParaFin et d'en envoyer le r&eacute;sultat &agrave; CoNnect
par Drag&amp;Drop...<p>
Si le r&eacute;cepteur ne comprend pas le protocole Drag&amp;Drop ou que le syst&egrave;me (comme MagiC V2/TOS
simple) ne le supporte pas, Thing essaye d'envoyer un message <a href="#VA_START">VA_START</a> avec
les noms des objets d&eacute;plac&eacute;s via la ligne de commande. Toutefois, le syst&egrave;me doit reconna&icirc;tre ses
propres fen&ecirc;tres. Un conseil : les utilisateurs sous TOS simple peuvent utiliser WINX.<p>
<b>Thing comme receveur</b><p>
Par manque d'applications supportant ce protocole, je n'ai pas eu trop le temps d'effectuer des
tests. Cependant, j'ai test&eacute; CAT (r&eacute;seau Maus OLR) qui peut exporter des fichiers '*.TXT'.<p>
Si un bloc '*.xxx' est tir&eacute; puis d&eacute;pos&eacute; sur le bureau, Thing demande un chemin pour sauver le
fichier. Si un lecteur ou un autre objet est s&eacute;lectionn&eacute; comme destination, le chemin est affich&eacute;
comme une ligne directrice. Si le bloc est tir&eacute; puis d&eacute;pos&eacute; sur le presse-papiers, Thing sauve
automatiquement les donn&eacute;es sous 'SCRAP.xxx' dans celui-ci.<p>
Si un bloc de texte est pos&eacute; sur la fen&ecirc;tre d'une bo&icirc;te de dialogue et que l'application supporte
le Drag&amp;Drop '*.TXT', alors le texte est ins&eacute;r&eacute; dans le champ courant. Ceci ne fonctionne seulement
qu'avec quelques applications r&eacute;centes.<p>
Les blocs 'ARGS' sont g&eacute;r&eacute;s comme des messages <a href="#VA_START">VA_START</a>. Ils sont transmis
via la ligne de commande et sont simplement ex&eacute;cut&eacute;s.<p>
Les blocs 'chemin' se sont actuellement pas support&eacute;s et rejet&eacute;s avec DD_NAK.<p>
<! ------------------------------------------------------------------------------------------------>
<hr size=1>
<table border align=center>
<tr><td align=center><a href="../pages/menus.htm">Commandes des menus</a>
<td align=center><a href="../pages/tim.htm">Thing Icon Manager</a>
<td align=center><a href="../pages/formats.htm">Format des fichiers</a>
<td align=center bgcolor=blue><font color=white>Protocoles</font>
<td align=center><a href="../pages/variable.htm">Variables d'environnement</a>
<tr><td align=center><a href="../pages/intro.htm#TOSWIN">Thing et TOSWIN sous MiNT</a>
<td align=center><a href="../pages/histoire.htm">Historique</a>
<td align=center><a href="../pages/faq.htm">Questions/R&eacute;ponses</a>
<td align=center><a href="../pages/clavier.htm">Souris et clavier</a>
<td bgcolor=beige align=center><a href="../home.htm">Sommaire</a>
</table>
</body>
</html>