
30-03-2007, 14:04
|
|
|
|
חבר מתאריך: 14.07.06
הודעות: 1,070
|
|
|
בוא נראה את הדוגמה של MSDN:
MSComm Control Example
The following simple example shows basic serial communications using a modem:
קוד:
Private Sub Form_Load ()
' Buffer to hold input string
Dim Instring As String
' Use COM1.
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "9600,N,8,1"
' Tell the control to read entire buffer when Input
' is used.
MSComm1.InputLen = 0
' Open the port.
MSComm1.PortOpen = True
' Send the attention command to the modem.
MSComm1.Output = "ATV1Q0" & Chr$(13) ' Ensure that
' the modem responds with "OK".
' Wait for data to come back to the serial port.
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' Read the "OK" response data in the serial port.
' Close the serial port.
MSComm1.PortOpen = False
End Sub
Note The MSComm control can use polling or an event-driven method to retrieve data from the port. This simple example uses the polling method. For an example of the event-driven method, see help for the OnComm event.
עכשיו אני סתם תוהה מה יקרה אם תוריד את ה-DoEvents מתוך הלולאה. זה לא יעשה בדיוק מה שאתה רוצה? שים לב שלתקוע את הטופס עד שלא מתקבלת תשובה זה פיתרון די גרוע, ועדיף פשוט שתהפוך את הכפתורים/לא-יודע-מה שמאפשרים שליחה נוספת ל-disabled, במקום לתקוע את כל התוכנה.
_____________________________________
סאשה הסוס, סוכן אוסינט.
|