Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Trasferimento stringa da modem
lunedì 04 agosto 2003 - 17.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 4 ago 2003 - 17:39
Come trasferire una stringa testo tra 2 modem
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 4 ago 2003 - 17:43
Ragazzi,
sto facendo un piccolo progettino che connette 2 modem per il trasferimento di un stringa testo.
La composizione del numero e la risposta positivi del modem che deve ricevere funziona, solo che come stringa il modem ricevente, riceve la stringa "RING" ripetuta per il numero delle volte che il modem squilla.
Vi posto il mio codice gli potete dare un'occhiata e dirmi dove sbaglio ed eventualmente correggermelo?
Ciao
DialString$ = "ATDT" + "0773700000" + ";" + vbCr
' Impostazioni della porta per le comunicazioni.
' Si presume che un mouse sia connesso a COM1. CommPort viene quindi impostata su 2
MSComm1.CommPort = 4
MSComm1.Settings = "9600,N,8,1"
' Apre la porta per le comunicazioni.
On Error Resume Next
MSComm1.PortOpen = True
If Err Then
MsgBox "COM4 non disponibile. La proprietà CommPort verrà impostata su un'altra porta.", , "Telefono MSComm"
Exit Sub
End If
' Svuota il buffer di input.
MSComm1.InBufferCount = 0
' Compone il numero.
MSComm1.Output = DialString$
MSComm1.Output = "ATV1Q0" & Chr$(13) ' Verifica che il
' modem risponda con "OK".
' Attende il ritorno di dati attraverso la porta
' seriale.
MSComm1.OutBufferCount = 0
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK" & vbCrLf)
il codice che utilizzo per trasmettere è il seguente:
' Legge il file in blocchi pari alle dimensioni del buffer di trasmissione.
Dim temp As String
temp = "C:\fabio.txt"
Dim hSend, BSize, LF&
hSend = FreeFile
Open temp For Binary Access Read As hSend
BSize = MSComm1.OutBufferSize
LF& = LOF(hSend)
Do Until EOF(hSend) Or CancelSend
' Non legge più del necessario alla fine.
If LF& - Loc(hSend) <= BSize Then
BSize = LF& - Loc(hSend) + 1
End If
' Legge un blocco di dati.
temp = Space$(BSize)
Get hSend, , temp
' Trasmette il blocco.
MSComm1.Output = temp & vbCr
If Err Then
MsgBox Error$, 48
Exit Do
End If
' Attende che tutti i dati vengano inviati.
Do
Ret = DoEvents()
Loop Until MSComm1.OutBufferCount = 0 Or CancelSend
Loop
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !