ENVOYER PAQUET

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 5


ENVOYER PAQUET ({docRef; }paquet)

ParamètreTypeDescription
docRefdocRefRéférence de document ou canal courant
(port série ou document)
paquetAlphaChaîne ou texte à envoyer

Description

La commande ENVOYER PAQUET envoie paquet vers un port série ou un document. Si docRef est spécifié, le paquet est écrit dans le document référencé par docRef. Si docRef n'est pas spécifié, le paquet est envoyé vers le port série ou un document préalablement ouvert par la commande REGLER SERIE. paquet représente une simple série de données, généralement une chaîne de caractères.

Avant d'utiliser ENVOYER PAQUET, vous devez ouvrir un port série ou un document avec la commande REGLER SERIE, ou un document avec une commande de gestion des documents.

Lorsque vous envoyez un paquet vers un document, le premier ENVOYER PAQUET commence à écrire les données au début du document — à moins que ce dernier n'ait été ouvert par la fonction Ajouter a document. Puis, jusqu'à ce que le document soit refermé, chaque paquet envoyé y est écrit à la suite du précédent.

Note 4D version 6 : Ce fonctionnement est toujours valide avec un document ouvert par REGLER SERIE. Cependant, pour un document ouvert par Ouvrir document, Creer document ou Ajouter a document, vous pouvez désormais utiliser les nouvelles commandes Position dans document et CHANGER POSITION DANS DOCUMENT pour connaître et modifier la position à laquelle, dans le document, la prochaine écriture (ENVOYER PAQUET) ou lecture (RECEVOIR PAQUET) aura lieu.

Important : ENVOYER PAQUET envoie des caractères ASCII Mac OS sous Windows et sous Mac OS. Chacun d'entre eux est codé sur huit bits. Les caractères ASCII standard utilisent uniquement les sept bits inférieurs. De nombreux ordinateurs et périphériques n'utilisent pas le huitième bit de la même manière que Windows/Mac OS. Si la chaîne à envoyer contient des caractères utilisant le huitième bit, créez un filtre ASCII pour convertir les caractères ASCII, et exécutez UTILISER FILTRE avant d'utiliser ENVOYER PAQUET. Vous pouvez aussi utiliser la fonction Mac vers Windows (voir l'exemple de cette fonction).

Des protocoles tels que XON/XOFF utilisent certains codes ASCII inférieurs pour établir la communication entre les machines. Assurez-vous de ne pas envoyer de tels codes ASCII pour ne pas risquer d'interférer avec le protocole, voire de rompre la communication.

Exemple

L'exemple suivant écrit, dans un document, des données en provenance de champs. Les valeurs sont écrites sous forme de champs de taille fixe. Dans ce cas, si la longueur d'un champ est inférieure à la taille fixée, le champ est comblé avec des espaces (c'est-à-dire que des espaces sont ajoutés de manière à ce que le champ corresponde à la taille définie). Bien que les champs de valeurs fixes soient un moyen peu efficace de stocker des données, certains systèmes informatiques et certaines applications l'utilisent encore :

   $Doc := Creer document ("")    ` Création d'un document 
   Si (OK=1)    ` Est-ce que le document a bien été créé ? 
      Boucle ($i; 1; Enregistrements trouves ([Personnes]))  ` Boucle pour chaque enregistrement
         ENVOYER PAQUET ($Doc; Remplacer caracteres(15 * Caractere(Espacement); 
                                                [Personnes]Prénom;1))
            ` Envoi du paquet créé à partir d'une chaîne de 15 espaces contenant le champ Prénom. 
         ENVOYER PAQUET ($Doc; Remplacer caracteres(15 * Caractere(Espacement); 
                                                [Personnes]Nom;1))
            ` Envoi d'un second paquet créé à partir d'un chaîne de 15 espaces contenant le champ Nom. 
            ` Cela aurait pu être mis dans le premier paquet, mais est séparé pour des raisons de clarté. 
         ENREGISTREMENT SUIVANT([Personnes]) 
      Fin de boucle
      ENVOYER PAQUET ($Doc; Caractere (ASCII SUB)) 
         ` Envoi du code ASCII SUB, utilisé comme marqueur de fin d'enregistrement par certains ordinateurs. 
      FERMER DOCUMENT ($Doc)    ` Fermeture du document 
   Fin de si

Référence

CHANGER POSITION DANS DOCUMENT, Position dans document, RECEVOIR PAQUET.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant