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.