Visual Basic - VB Mscomm1 para interactuar Con PBX

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

VB Mscomm1 para interactuar Con PBX

Publicado por Levis (1 intervención) el 31/03/2009 00:04:29
Hola

Estoy tratando de hacer un programa para interactuar con una PBX Meridian de Nortel, Para programar manualmente estas PBX se pueden usar un emulador de terminal como Hyperterminal, Quiero hacer un programa para hacer cambios automaticos en la PBX, Hice un pequeño programa para detectar si uno esta ya Log-in en la PBX. Para esto si envio "*" + VbCr a la PBX esta deberia responder con "OVL000", Mi problema es que recibo el mensaje pero en dos partes:
"OVL0"
"00".

Este es el programa:

Dim text As String
Private Sub Command2_Click()
Cls
text = "*" & vbCrLf
MSComm1.Output = text
End Sub
Private Sub Form_Load()
MSComm1.InputLen = 0 ' Read all in the port
MSComm1.RThreshold = 1
MSComm1.CommPort = 1 'Port 1
MSComm1.PortOpen = True '
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As String
Dim pos As Integer
Dim Vari As String
Select Case MSComm1.CommEvent
Case comEvReceive
Buffer = Buffer & MSComm1.Input
RichTextBox1.SelStart = Len(RichTextBox1.text)
RichTextBox1.SelText = Buffer 'Show data on RechTextBox
If InStr(Buffer, vbCr) Then 'If I detect VbCr
Vari = Buffer
Call ProcessData(Vari) 'Goto Procress Data
End If
End Select
End Sub
Private Sub ProcessData(Vari As String)
Print Vari
If InStr(Vari, "OVL0") Then 'If A Detect OVL000 Goto Logout to PBX
Print "Root Menu"
Call logo
Buffer = ""
End If
End Sub
Private Sub logo()
texto = "LOGO" + vbCr 'Send Logout to PBX
MSComm1.Output = texto
End Sub

Si pruebo este mismo programa en una PC mas lenta si recibo el "OVL000" completo (el Mscomm esta trabajando a 9600,n,8,1). Alguien se lo ocurre algo? por favor

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder