DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Ports série et parallèle
  • Détection des événements et threads
  • Gestion d'événements très rapprochés
  • Débranchement d'un ou de plusieurs événements
  • Fermeture du port
  • Utilisation d'une librairie externe : RXTX
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Branche un événement sur un port série.
WEBDEV - Code Serveur Cette fonction renvoie les informations concernant le poste serveur.
Exemple
// Détection de caractères sur le port COM1
sEvénement(1, sEveCaractèreReçu, "LectureCaractère")
// -- Procédure LectureCaractère
PROCÉDURE LectureCaractère(NumPort, NumEvénement)
Trace(sLit(1, sDansFileEntrée(1)))
Syntaxe
<Résultat> = sEvénement(<Numéro de port> , <Événement géré> , <Procédure WLangage>)
<Résultat> : Booléen
  • Vrai si la fonction a été exécutée,
  • Faux dans le cas contraire. Si le port n'a pas été préalablement ouvert en mode "Gestion des événements" (avec la fonction sOuvre), la fonction sEvénement n'a aucun effet.
<Numéro de port> : Entier
  • Numéro de port série concerné (1, 2, 3, ...32 pour COM1, COM2, COM3, ... COM32).
  • Numéro de port renvoyé par la fonction sOuvre (si cette fonction a été appelée avec un nom de port).
<Événement géré> : Constante ou combinaison de constantes de type Entier
Evénement à repérer sur le port :
sEveBreak
(valeur : 64)
Réception d'un événement "Break line"
sEveCaractèreReçu
(valeur : 1)
Réception d'un caractère
sEveCTS
(valeur : 8)
Changement d'état CTS
sEveDSR
(valeur : 16)
Changement d'état DSR
sEveEnvoiTerminé
(valeur : 4)
Le buffer de sortie est vide
sEveErreur
(valeur : 128)
Détection d'une erreur sur la ligne
Java Cette constante n'est pas disponible.
sEveErreurImprimante
(valeur : 512)
Erreur d'imprimante détectée
Java Cette constante n'est pas disponible.
sEveFileEntrée80
(valeur : 1024)
Le buffer d'entrée est plein à 80%
Java Cette constante n'est pas disponible.
sEveRing
(valeur : 256)
Détection du signal "Ring" (sonnerie)
sEveRLSD
(valeur : 32)
Changement d'état RLSD
Java Cette constante n'est pas disponible.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage appelée chaque fois que l'événement spécifié est détecté. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Numéro de port>, <Numéro de l'événement>)
où <Numéro de port> correspond au port où l'événement est survenu
où <Numéro de l'événement> correspond à une des constantes événement.
Remarques

Détection des événements et threads

La détection des événements est réalisée dans un thread spécifique du WLangage. L'appel de la procédure WLangage est réalisé dans ce thread. Cette procédure est donc soumise aux limitations sur les threads (notamment au niveau de l'affichage).
Pour plus de détails sur la gestion des threads, consultez Gestion des threads.

Gestion d'événements très rapprochés

Si au cours de la procédure déclenchée par l'événement, un autre événement se déclenche, ce dernier événement ne sera pas détecté.
Si des événements très proches sont susceptibles de se déclencher, il est conseillé :
  • de lire uniquement les données de l'événement (avec la fonction sLit) dans la procédure déclenchée par la fonction sEvénement,
  • d'effectuer la suite du traitement dans un autre thread.

Débranchement d'un ou de plusieurs événements

Pour débrancher la gestion d'un ou de plusieurs événements, utilisez la fonction sFinEvénement.

Fermeture du port

Lors de la fermeture du port, tous les événements gérés sur ce port sont débranchés. Lors de la ré-ouverture du port, il est donc nécessaire de ré-exécuter la fonction sEvénement pour définir les événements gérés sur ce port.
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.
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale