Inviare alla porta seriale tramite Mscomm32.ocx
Questo articolo illustra come inviare informazioni alla porta seriale usando il controllo Mscomm32.ocx.
Versione originale del prodotto: Visual FoxPro
Numero KB originale: 139526
Riepilogo
Questo articolo descrive le impostazioni necessarie per inviare dati alla porta seriale tramite Mscomm32.ocx. Mscomm32.ocx viene fornito con Microsoft Visual FoxPro Professional Edition. Può essere usato nei computer che eseguono Microsoft Windows 95 e versioni successive di Windows.
Ulteriori informazioni
Le proprietà usate più di frequente per inviare dati alla porta seriale tramite il controllo mscomm sono le seguenti:
CommPort
La CommPort
proprietà specifica il numero di porta delle comunicazioni. Proprietà numerica che corrisponde alla porta Comm. Per impostazione predefinita, questa proprietà è impostata su 1 corrispondente a com1. I valori validi sono 1, 2, 3 o 4 a seconda delle porte seriali installate nel computer e della relativa configurazione.
Impostazioni
La Settings
proprietà configura la velocità in baud, la parità, i bit di dati e i bit di arresto per la porta seriale. La proprietà Settings è una stringa di caratteri che contiene singoli valori delimitati da virgole. Per impostazione predefinita, la proprietà Settings è la seguente: 9600,N,8,1 Questa proprietà corrisponde a 9600 baud, nessuna parità, 8 bit di dati e 1 bit di arresto.
I valori di velocità in baud seguenti sono validi: 110, 300, 600, 1200, 2400, 4800, 9600 (impostazione predefinita), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.
PortOpen
La PortOpen
proprietà specifica un valore logico che controlla se la porta seriale è aperta e attiva. Dopo aver impostato le proprietà precedenti per iniziare a usare la porta seriale, è possibile impostare questa proprietà su true.
Output
Alla proprietà Output viene assegnata la stringa di caratteri da inviare alla porta seriale. Per restituire la stringa "Hello World" alla porta seriale dopo l'impostazione delle proprietà precedenti, usare il comando seguente:
myform.mycomm.output = "Hello World"
Di seguito sono elencate altre proprietà che possono essere necessarie a seconda dell'applicazione:
CommEvent
La CommEvent
proprietà contiene un valore che rappresenta l'evento o gli errori di comunicazione più recenti.
Sthreshold
La Sthreshold
proprietà specifica il numero minimo di caratteri nel buffer di output inviati.
OutBufferCount
Il controllo OutBufferCount restituisce il numero di caratteri in attesa nel buffer di trasmissione. Deve essere sempre zero se la Sthreshold
proprietà è zero. Se si imposta la OutBufferCount
proprietà su zero, il buffer di trasmissione verrà cancellato.
OutBufferSize
La OutBufferSize
proprietà specifica le dimensioni del buffer di trasmissione. Per impostazione predefinita, questo buffer è di 512 byte. Maggiore è il buffer di trasmissione, minore è la memoria disponibile per altre applicazioni. Velocità in baud lente e stringhe di testo di grandi dimensioni scritte sulla porta seriale possono significare che è necessario rendere questo valore più grande.
Di seguito è riportato un esempio che mostra come configurare il controllo comm e comporre il numero di telefono 555-1234 usando i comandi standard di Modem di Hayes.
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 *****
Nota
Se si usa questa opzione in un'applicazione e quindi si distribuisce l'applicazione usando l'installazione guidata di Visual FoxPro, quando si esegue l'applicazione potrebbe essere visualizzato l'errore seguente:
Errore del programma codice di errore OLE 0x80040112: licenza appropriata per questa classe non trovata.