PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Divers
  • Ouverture et initialisation d'un port infrarouge en spécifiant son nom (syntaxe 2)
  • Utilisation d'une librairie externe : RXTX
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Ouvre et initialise :
  • soit un port série.
  • soit un port parallèle.
  • soit un port infrarouge. Dans ce cas, il est nécessaire d'utiliser la deuxième syntaxe.
Les valeurs par défaut sont les suivantes :
  • Taux de transfert : 9600 Bauds
  • Parité : Aucune
  • 8 bits de données
  • 1 bit stop
WINDEV Si le fichier WIN.INI contient des valeurs d'initialisation pour le port série spécifié, ces valeurs sont utilisées.
Windows Il est possible d'obtenir la liste des ports séries et des ports parallèles grâce aux entrées suivantes de la base de registre :
  • "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM" pour les ports séries
  • "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL PORTS" pour les ports parallèles
WEBDEV - Code Serveur Cette fonction concerne le poste serveur.
Windows Mobile Attention : Pour que la fonction sOuvre fonctionne, l'option "Recevoir tous les envois entrants" doit être décochée sur le Pocket PC utilisé. Pour afficher cette option :
  • Sélectionnez l'option "Démarrer .. Paramètre".
  • Affichez l'onglet "Connexion".
  • Cliquez sur l'icône "Envoyer".
Versions 16 et supérieures
Java Cette fonction est désormais disponible pour les applications Java.
Nouveauté 16
Java Cette fonction est désormais disponible pour les applications Java.
Java Cette fonction est désormais disponible pour les applications Java.
// Ouverture de COM1
LigneCom1 = sOuvre(1, 2000, 2000)
SI LigneCom1 = Vrai ALORS
        // Paramétrage de COM1 : Taux 9600, parité paire,
        // 8 bits de données, 1 bit de stop
        sFixeParamètre(1, 9600, 1, 8, 0)
        // Suite traitement...
        // Fermeture de COM1
        sFerme(1)
SINON
        Erreur("Erreur d'ouverture de COM1")
FIN
// Ouverture de IR1
IR1 = sOuvre("IR1", 2000, 2000)
SI IR1 <> 0 ALORS
        // Paramétrage de IR1
        sFixeParamètre(1, 9600, 1, 8, 1)
        // Suite traitement...
        // Fermeture de IR1
        sFerme(IR1)
SINON
        Erreur("Erreur d'ouverture de IR1")
FIN
Syntaxe

Ouvrir et initialiser un port en spécifiant son numéro Masquer les détails

<Résultat> = sOuvre(<Numéro de port> , <Taille du buffer d'entrée> , <Taille du buffer de sortie> [, <Durée d'attente> [, <Gestion des événements>]])
<Résultat> : Booléen
  • Vrai si le port a été ouvert et initialisé,
  • Faux dans le cas contraire.
<Numéro de port> : Entier
Numéro du port concerné :
  • Numéro du port série : 1, 2, 3, ... 256 pour COM1, COM2, COM3, ... COM256.
  • Numéro de port parallèle : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
<Taille du buffer d'entrée> : Entier
Taille en octets du buffer d'entrée (32768 au maximum).
<Taille du buffer de sortie> : Entier
Taille en octets du buffer de sortie (32768 au maximum).
<Durée d'attente> : Entier optionnel ou Durée optionnelle
Durée (exprimée en millisecondes) accordée pour la lecture ou l'écriture d'un caractère.
Ce paramètre permet d'éviter un blocage lors d'un problème de lecture ou d'écriture sur le port d'impression.
  • Lorsque la <Durée d'attente> est expirée, la fonction de lecture ou d'écriture renvoie 0.
  • La valeur par défaut de ce paramètre est définie au niveau du système.
    Pour utiliser la durée d'attente définie par défaut, utilisez la constante sTimeoutDéfaut.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    Nouveauté 23
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
Versions 16 et supérieures
Java Si ce paramètre n'est pas spécifié, aucun délai d'attente ne sera appliqué. La constante sTimeoutDéfaut n'est pas disponible. Si un délai est spécifié, il sera appliqué uniquement sur les opérations de lecture sur les ports série.
Nouveauté 16
Java Si ce paramètre n'est pas spécifié, aucun délai d'attente ne sera appliqué. La constante sTimeoutDéfaut n'est pas disponible. Si un délai est spécifié, il sera appliqué uniquement sur les opérations de lecture sur les ports série.
Java Si ce paramètre n'est pas spécifié, aucun délai d'attente ne sera appliqué. La constante sTimeoutDéfaut n'est pas disponible. Si un délai est spécifié, il sera appliqué uniquement sur les opérations de lecture sur les ports série.
<Gestion des événements> : Booléen optionnel
  • Vrai pour détecter des événements sur le port série,
  • Faux (valeur par défaut) pour ne pas gérer les événements. Ces événements pourront être gérés par la fonction sEvénement.

Ouvrir et initialiser un port en spécifiant son nom Masquer les détails

<Résultat> = sOuvre(<Nom du port> , <Taille du buffer d'entrée> , <Taille du buffer de sortie> [, <Durée d'attente>])
<Résultat> : Entier
Numéro du port série (ou parallèle) ouvert, 0 en cas d'erreur. Ce numéro correspond :
  • soit au numéro du port série concerné : 1, 2, 3, ... 256 pour COM1, COM2, COM3, ... COM256.
  • soit au numéro de port parallèle concerné : -1, -2, -3 ou -4 pour LPT1, LPT2, LPT3 ou LPT4.
  • soit au numéro du port infrarouge concerné : 1, 2, 3, ... 256 pour IR1, IR2, IR3, ... IR256.
    Versions 16 et supérieures
    Java La gestion des ports infrarouges n'est pas disponible en Java.
    Nouveauté 16
    Java La gestion des ports infrarouges n'est pas disponible en Java.
    Java La gestion des ports infrarouges n'est pas disponible en Java.
Ce numéro de port peut être directement utilisé dans les fonctions de gestion des ports.
<Nom du port> : Chaîne de caractères avec guillemets
Nom du port concerné :
  • Nom du port série : COM1, COM2, COM3, ... COM256.
    Java Nom du port série en Java : /dev/ttyS4, /dev/ttyS5, ... /dev/ttyS9.
  • Nom du port parallèle : LPT1, LPT2, LPT3 ou LPT4.
  • Nom du port infrarouge : IR1, IR2, ... IR256.
    Versions 16 et supérieures
    Java La gestion des ports infrarouges n'est pas disponible en Java.
    Nouveauté 16
    Java La gestion des ports infrarouges n'est pas disponible en Java.
    Java La gestion des ports infrarouges n'est pas disponible en Java.
<Taille du buffer d'entrée> : Entier
Taille en octets du buffer d'entrée (32768 au maximum).
<Taille du buffer de sortie> : Entier
Taille en octets du buffer de sortie (32768 au maximum).
<Durée d'attente> : Entier optionnel
Durée (exprimée en millisecondes) accordée pour la lecture ou l'écriture d'un caractère. Ce paramètre permet d'éviter un blocage lors d'un problème de lecture ou d'écriture sur le port d'impression.
  • Lorsque la <Durée d'attente> est expirée, la fonction de lecture ou d'écriture renvoie 0.
  • La valeur par défaut de ce paramètre est définie au niveau du système.
    Pour utiliser la durée d'attente définie par défaut, utilisez la constante sTimeoutDéfaut.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • Versions 23 et supérieures
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    Nouveauté 23
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
    l'indication directe de la durée (par exemple 1 s ou 10 ms).
Versions 16 et supérieures
Java Si ce paramètre n'est pas spécifié, aucun délai d'attente ne sera appliqué. La constante sTimeoutDéfaut n'est pas disponible. Si un délai est spécifié, il sera appliqué uniquement sur les opérations de lecture sur les ports série.
Nouveauté 16
Java Si ce paramètre n'est pas spécifié, aucun délai d'attente ne sera appliqué. La constante sTimeoutDéfaut n'est pas disponible. Si un délai est spécifié, il sera appliqué uniquement sur les opérations de lecture sur les ports série.
Java Si ce paramètre n'est pas spécifié, aucun délai d'attente ne sera appliqué. La constante sTimeoutDéfaut n'est pas disponible. Si un délai est spécifié, il sera appliqué uniquement sur les opérations de lecture sur les ports série.
Remarques

Divers

  • L'ouverture d'un port ne peut s'effectuer que si ce port a été correctement fermé.
  • Important : Un port doit être ouvert avec la fonction sOuvre avant d'être paramétré par la fonction sFixeParamètre.
  • Le WLangage ne permet pas de gérer les signaux de contrôle.
  • Deux postes s'envoient des caractères par un port : si le second poste utilise la fonction sOuvre après l'envoi des caractères par le premier poste, ces caractères sont ignorés.
Windows Mobile

Ouverture et initialisation d'un port infrarouge en spécifiant son nom (syntaxe 2)

L'utilisation d'un port infrarouge ouvert avec la fonction sOuvre correspond à l'utilisation simulée d'un port série. Cette simulation ne fonctionne pas correctement sur tous les Pockets PC.
Pour ouvrir un port infrarouge, nous vous conseillons d'utiliser les fonctions SocketConnecteInfraRouge et SocketCréeInfraRouge. Ainsi, le port infrarouge utilise le protocole IRDA. Ce protocole permet une communication plus fiable et plus rapide avec tous les appareils compatibles IRDA (Pockets PC, imprimantes, téléphones portables, ...).
Remarque : Pour communiquer avec un appareil qui n'est pas compatible IRDA (une télé par exemple), il est cependant nécessaire d'utiliser la fonction sOuvre.
Versions 16 et supérieures
Java

Utilisation d'une librairie externe : RXTX

En Java, l'utilisation des fonctions de manipulation des ports séries et parallèles (fonctions sOuvre, sEcrit, sLit, ...) nécessite la présence d'une librairie externe : RXTX.
Cette librairie est composée d'une archive Jar et d'une ou plusieurs librairies natives dépendantes du système d'exploitation sur lequel s'exécute l'application. Pour utiliser ces fonctions :
  • l'archive jar (RXTXComm.jar) doit :
    • soit se trouver dans le même répertoire que l'application Java générée par WINDEV,
    • soit se trouver dans le classpath d'exécution de l'application,
    • soit être directement intégrée dans l'application générée (depuis l'assistant de génération Java).
  • la ou ou les librairies natives correspondant au système d'exploitation sur lequel s'exécute l'application doivent se trouver:
    • soit dans le même répertoire que l'application Java générée par WINDEV,
    • soit dans le chemin des librairies de l'application (librarypath).
Il est possible de télécharger la librairie RXTX et sa documentation grâce au lien suivant : http://users.frii.com/jarvi/rxtx/index.html (lien valide lors de l'écriture de cette documentation).
Attention : La gestion des ports infrarouges n'est pas disponible en Java.
Nouveauté 16
Java

Utilisation d'une librairie externe : RXTX

En Java, l'utilisation des fonctions de manipulation des ports séries et parallèles (fonctions sOuvre, sEcrit, sLit, ...) nécessite la présence d'une librairie externe : RXTX.
Cette librairie est composée d'une archive Jar et d'une ou plusieurs librairies natives dépendantes du système d'exploitation sur lequel s'exécute l'application. Pour utiliser ces fonctions :
  • l'archive jar (RXTXComm.jar) doit :
    • soit se trouver dans le même répertoire que l'application Java générée par WINDEV,
    • soit se trouver dans le classpath d'exécution de l'application,
    • soit être directement intégrée dans l'application générée (depuis l'assistant de génération Java).
  • la ou ou les librairies natives correspondant au système d'exploitation sur lequel s'exécute l'application doivent se trouver:
    • soit dans le même répertoire que l'application Java générée par WINDEV,
    • soit dans le chemin des librairies de l'application (librarypath).
Il est possible de télécharger la librairie RXTX et sa documentation grâce au lien suivant : http://users.frii.com/jarvi/rxtx/index.html (lien valide lors de l'écriture de cette documentation).
Attention : La gestion des ports infrarouges n'est pas disponible en Java.
Java

Utilisation d'une librairie externe : RXTX

En Java, l'utilisation des fonctions de manipulation des ports séries et parallèles (fonctions sOuvre, sEcrit, sLit, ...) nécessite la présence d'une librairie externe : RXTX.
Cette librairie est composée d'une archive Jar et d'une ou plusieurs librairies natives dépendantes du système d'exploitation sur lequel s'exécute l'application. Pour utiliser ces fonctions :
  • l'archive jar (RXTXComm.jar) doit :
    • soit se trouver dans le même répertoire que l'application Java générée par WINDEV,
    • soit se trouver dans le classpath d'exécution de l'application,
    • soit être directement intégrée dans l'application générée (depuis l'assistant de génération Java).
  • la ou ou les librairies natives correspondant au système d'exploitation sur lequel s'exécute l'application doivent se trouver:
    • soit dans le même répertoire que l'application Java générée par WINDEV,
    • soit dans le chemin des librairies de l'application (librarypath).
Il est possible de télécharger la librairie RXTX et sa documentation grâce au lien suivant : http://users.frii.com/jarvi/rxtx/index.html (lien valide lors de l'écriture de cette documentation).
Attention : La gestion des ports infrarouges n'est pas disponible en Java.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd230com.dll
Windows Mobile wp230com.dll
Java wd230java.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Permettre à chaque poste client de lire et écrire sur son port série
Est-il possible de permettre à chaque utilisateur de l'application sur chacun des postes clients (3 par exemple) d'accéder chacun au port série de sa machine? Si oui comment?
Merci.
Franck
19 déc. 2016