4D v16.3

SET CHANNEL

Accueil

 
4D v16.3
SET CHANNEL

SET CHANNEL 


 

SET CHANNEL ( port ; param ) 
Paramètre Type   Description
port  Entier long in Numéro de port série
param  Entier long in Paramètres de communication
SET CHANNEL ( opération ; nomFichier ) 
Paramètre Type   Description
opération  Entier long in Opération à effectuer sur document
nomFichier  Chaîne in Nom du document

La commande SET CHANNEL permet d'ouvrir un port série ou un document. Vous ne pouvez ouvrir qu'un port série ou un document à la fois avec cette commande.

Note historique : A l'origine, SET CHANNEL a été la première commande 4D permettant de travailler avec les ports série et des documents sur disque. Depuis, de nouvelles commandes ont été ajoutées. Aujourd'hui, vous pouvez généralement travailler avec des documents sur disque à l'aide des commandes Open document, Create document et Append document, puis lire et écrire des caractères dans les documents avec Create document et RECEIVE PACKET (ces deux commandes fonctionnent aussi avec SET CHANNEL). Cependant, si vous souhaitez utiliser les commandes SEND VARIABLE, RECEIVE VARIABLE, SEND RECORD et RECEIVE RECORD, vous devez appeler SET CHANNEL pour accéder aux documents sur disque.

La description de la commande SET CHANNEL se compose de deux sections :

  • Travailler avec les ports série
  • Travailler avec des documents

La première syntaxe de SET CHANNEL ouvre un port série et définit le protocole de communication ainsi que des informations supplémentaires. Les données peuvent être envoyées par les commandes SEND PACKET, SEND RECORD ou SEND VARIABLE, et reçues par les commandes RECEIVE BUFFER, RECEIVE PACKET, RECEIVE VARIABLE ou RECEIVE RECORD.

  • Le premier paramètre, port, définit le port et le protocole utilisés. Vous pouvez adresser jusqu'à 99 ports série (un par un).
    Le tableau suivant liste les valeurs possibles du paramètre port :
    Valeurs portDescription
    0Port imprimante (Mac) ou COM2 (Windows) sans protocole
    1Port modem (Mac) ou COM1 (Windows) sans protocole
    20Port imprimante (Mac) ou COM2 (Windows) avec protocole logiciel tel que XON/XOFF
    21Port modem (Mac) ou COM1 (Windows) avec protocole logiciel tel que XON/XOFF
    30Port imprimante (Mac) ou COM2 (Windows) avec protocole matériel tel que RTS/CTS
    31Port modem (Mac) ou COM1 (Windows) avec protocole matériel tel que RTS/CTS
    101 à 199Communication série sans protocole*
    201 à 299Communication série avec protocole logiciel tel que XON/XOFF*
    301 à 399Communication série avec protocole matériel tel que RTS/CTS*

Important : La valeur que vous passez dans port doit désigner un port série "logique" reconnu par votre système d'exploitation. Par exemple, pour que vous puissiez utiliser les valeurs 101, 203 et 325, les ports série COM1, COM3 et COM25 doivent avoir été correctement configurés.

En standard, les systèmes Mac OS et Windows reconnaissent deux ports série logiques : sous Mac OS, le port modem et le port imprimante ; sous Windows, les ports COM1 et COM2. Toutefois, des ports série supplémentaires peuvent être ajoutés, par l'intermédiaire de cartes d'extension. 4D n’adressait à l'origine que les deux ports série standard, et a intégré par la suite la gestion des ports série supplémentaires. Pour des raisons de compatibilité, les deux systèmes d’adressage ont été conservés.

  • Si vous souhaitez adresser uniquement un port série standard (imprimante/COM2 ou modem/COM1), vous pouvez passer dans le paramètre port soit une des valeurs 0, 1, 20, 21, 30 et 31 (correspondant à l’ancien mode de fonctionnement de 4D), soit une valeur > 100 (cf. ci-dessous).
  • Si vous souhaitez adresser des ports série "étendus", vous devez passer dans port (pour adresser le Nième port série) la valeur N+100, augmentée éventuellement de 100 ou de 200, si vous voulez utiliser respectivement un protocole logiciel ou matériel.

Vous souhaitez utiliser le port imprimante/COM2 sans protocole, vous pouvez utiliser l'une des syntaxes suivantes :

 SET CHANNEL(0;param)

ou

 SET CHANNEL(102;param)

Vous souhaitez utiliser le port modem/COM1 avec le protocole XON/XOFF, vous pouvez utiliser l'une des syntaxes suivantes :

 SET CHANNEL(21;param)

ou

 SET CHANNEL(201;param)

Vous souhaitez utiliser le port COM25 avec le protocole RTS/CTS, vous devez utiliser la syntaxe suivante :

 SET CHANNEL(325;param)
  • Le second paramètre, param, permet de fixer la vitesse, le nombre de bits de données, le nombre de bits de stop et la parité. La valeur de param se calcule en additionnant les valeurs de vitesse, de bits de données, de bits de stop et de parité, telles que définies dans le tableau ci-dessous. Par exemple, pour paramétrer la communication à 1200 bauds, 8 bits de données, 1 bit de stop et aucune parité, passez 19550 (soit 94 + 3072 + 16384 + 0) dans le paramètre param.
    ContrôleValeur param (à cumuler)Fonction
    Vitesse (en bauds)380 300
    189 600
    941200
    62 1800
    46 2400
    30 3600
    22 4800
    14 7200
    10 9600
    4 19200
    2 28800
    1 38400
    0 57600
    1022115200
    1021230400
    Bits de données0 5
    2048 6
    1024 7
    3072 8
    Bits de stop 16384 1
    –32768 1,5
    –16384 2
    Parité0 Aucune
    4096 Impaire
    12288Paire

Astuce : Les différentes valeurs numérique à cumuler et à passer dans les paramètres port et param (à l'exception des valeurs de COM1...COM99) sont disponibles en tant que Constantes prédéfinies dans le thème Communications de l'Explorateur, en mode Développement. Pour les valeurs de COM1...COM99, vous devez utiliser des valeurs numériques littérales.

Lorsque vous n'avez plus besoin d'un port série, vous devez le refermer. Pour cela, appelez de nouveau SET CHANNEL et passez-lui la valeur 11. Exemple :

 SET CHANNEL(11) `Referme un port série préalablement ouvert

La seconde syntaxe de la commande SET CHANNEL vous permet de créer, ouvrir ou fermer un document. A la différence des commandes du thème Documents système, SET CHANNEL ne permet d'ouvrir qu'un document à la fois. Le document peut être "lu à partir de" ou "écrit dans". Reportez-vous à la section Présentation des documents système pour plus d'informations sur ce point.

Le premier paramètre, opération, définit l'opération à effectuer avec le document désigné par document. Le tableau suivant dresse la liste les valeurs d'opération et le résultat obtenu, en fonction de la valeur de document.
La première colonne fournit les valeurs possibles du paramètre opération. La deuxième colonne fournit les valeurs possibles du paramètre document. La troisième colonne décrit le résultat obtenu. Par exemple, pour afficher un fichier de type texte dans une boîte de dialogue standard d'ouverture de document, vous pouvez écrire l'instruction suivante :

 SET CHANNEL(13;"")
OpérationDocument Résultat
10 ChaîneOuvre le document dont le nom est spécifié par Chaîne. Si le document n'existe pas, il est créé et ouvert.
10 "" (chaîne vide) Affiche la boîte de dialogue d'ouverture de fichier. Tous les types de fichiers sont présentés.
11 Aucun Referme un fichier ouvert.
12 "" (chaîne vide) Affiche la boîte de dialogue standard d'enregistement de fichier, permettant de créer un nouveau fichier.
13 "" (chaîne vide) Affiche la boîte de dialogue d'ouverture de fichier. Seuls les fichiers de type Texte sont présentés.

Toutes les opérations décrites dans ce tableau modifient la variable système Document en conséquence. De plus, la variable système OK prend la valeur 1 si l'opération s'est déroulée correctement, 0 sinon.

Reportez-vous aux exemples des commandes RECEIVE BUFFER, SET TIMEOUT et RECEIVE RECORD.



Voir aussi  

Append document
Communications
Create document
GET SERIAL PORT MAPPING
Open document
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE
SEND PACKET
SEND RECORD
SEND VARIABLE
SET TIMEOUT

 
PROPRIÉTÉS 

Produit : 4D
Thème : Communications
Numéro : 77

Cette commande modifie la variable système OKCette commande modifie la variable système DocumentCommande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : < 4D v6

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)