Envoyer au port série à l’aide de Mscomm32.ocx

Cet article explique comment envoyer des informations au port série à l’aide du contrôle Mscomm32.ocx.

Version d’origine du produit : Visual FoxPro
Numéro de la base de connaissances d’origine : 139526

Résumé

Cet article décrit les paramètres nécessaires pour envoyer des données au port série à l’aide de Mscomm32.ocx. Mscomm32.ocx est fourni avec Microsoft Visual FoxPro Professional Edition. Il peut être utilisé sur les ordinateurs qui exécutent Microsoft Windows 95 et versions ultérieures de Windows.

Informations supplémentaires

Les propriétés les plus fréquemment utilisées pour envoyer des données au port série à l’aide du contrôle mscomm sont les suivantes :

CommPort

La CommPort propriété spécifie le numéro de port de communication. Propriété numérique qui correspond au port Comm. Par défaut, cette propriété a la valeur 1 correspondant à com1. Les valeurs valides sont 1, 2, 3 ou 4 en fonction des ports série installés sur l’ordinateur et de leur configuration.

Paramètres

La Settings propriété configure le taux de bauds, la parité, les bits de données et les bits d’arrêt pour le port série. La propriété Settings est une chaîne de caractères qui contient des valeurs séparées par des virgules individuelles. Par défaut, la propriété Settings est la suivante : 9600,N,8,1 Cette propriété correspond à 9600 bauds, aucune parité, 8 bits de données et 1 bit stop.

Les valeurs de débit en bauds suivantes sont valides : 110, 300, 600, 1200, 2400, 4800, 9600 (par défaut), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.

PortOpen

La PortOpen propriété spécifie une valeur logique qui contrôle si le port série est ouvert et actif. Une fois que les propriétés précédentes sont définies pour commencer à utiliser le port série, vous pouvez définir cette propriété sur true.

Sortie

La propriété Output se voit attribuer la chaîne de caractères à envoyer au port série. Pour générer la chaîne « Hello World » sur le port série une fois les propriétés précédentes définies, utilisez la commande suivante :

 myform.mycomm.output = "Hello World"

Les autres propriétés qui peuvent également être nécessaires en fonction de l’application sont les suivantes :

CommEvent

La CommEvent propriété contient une valeur qui représente les erreurs ou événements de communication les plus récents.

Sthreshold

La Sthreshold propriété spécifie le nombre minimal de caractères envoyés dans la mémoire tampon de sortie.

OutBufferCount

Le contrôle OutBufferCount retourne le nombre de caractères en attente dans la mémoire tampon de transmission. Cette valeur doit toujours être égale à zéro si la Sthreshold propriété est égale à zéro. La définition de la OutBufferCount propriété sur zéro efface la mémoire tampon de transmission.

OutBufferSize

La OutBufferSize propriété spécifie la taille de la mémoire tampon de transmission. Par défaut, cette mémoire tampon est de 512 octets. Plus la mémoire tampon de transmission est grande, moins les autres applications disposent de mémoire. Les taux de bauds lents et les chaînes de texte volumineuses écrites sur le port série peuvent signifier que vous devez agrandir cette valeur.

Voici un exemple qui montre comment configurer le contrôle de communication et composer le numéro de téléphone 555-1234 à l’aide des commandes de modem Hayes standard.

 PUBLIC ComForm
 ComForm = CREATEOBJECT('Form')
 ComForm.AddObject("Testcom","Olecontrol","MSCOMMLib.MSComm")
 ComForm.Testcom.CommPort = 2 && Use Comm2, The second Serial Port.
 ComForm.Testcom.Settings = "14400,N,8,1" && 14.4 Kbaud, No Parity,
 && 8 data Bits, 1 Stop Bit
 ComForm.Testcom.PortOpen = .T.
 ComForm.Testcom.Output = "ATDT555-1234" + chr(13) && Dialing the number
 * The chr(13) is needed to complete the modem command sequence
 ComForm.Testcom.PortOpen = .F.
 ***** End Code *****

Remarque

Si vous l’utilisez dans une application, puis que vous distribuez l’application à l’aide de l’Assistant Installation de Visual FoxPro, l’erreur suivante peut s’afficher lorsque vous exécutez l’application :

Erreur de programme Code d’erreur OLE 0x80040112 : Licence appropriée pour cette classe introuvable.