Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como utilizar el control Mscomm en VB6?

Estas en el tema de Como utilizar el control Mscomm en VB6? en el foro de Programación General en Foros del Web. Hola a tod@s: MI nombre es Juan Alvarez, soy nuevo programando en VB y necesito que por favor me ayuden a comprender el funcionamiento del ...
  #1 (permalink)  
Antiguo 04/10/2004, 14:55
Avatar de jmaquino  
Fecha de Ingreso: octubre-2004
Mensajes: 26
Antigüedad: 20 años, 1 mes
Puntos: 0
Como utilizar el control Mscomm en VB6?

Hola a tod@s:

MI nombre es Juan Alvarez, soy nuevo programando en VB y necesito que por favor me ayuden a comprender el funcionamiento del control MSComm o de generar un código para enviar un dato por el puerto serial del PC.

Muchas gracias por su colaboración
  #2 (permalink)  
Antiguo 05/10/2004, 23:06
 
Fecha de Ingreso: septiembre-2004
Mensajes: 72
Antigüedad: 20 años, 2 meses
Puntos: 0
Cita:
Iniciado por jmaquino
Hola a tod@s:

MI nombre es Juan Alvarez, soy nuevo programando en VB y necesito que por favor me ayuden a comprender el funcionamiento del control MSComm o de generar un código para enviar un dato por el puerto serial del PC.

Muchas gracias por su colaboración
Hola,

Private Sub Command1_Click()
'Envia un comando al puerto para recibir un dato
MSComm1.Output = Chr$(5) & vbCrLf
End Sub

Private Sub Form_Load()

'Indicamo en numero del puerto a usar

MSComm1.CommPort = 1

'Otros seteos basicos

MSComm1.Settings = "2400,e,7,1"
MSComm1.InBufferSize = 1024
MSComm1.OutBufferSize = 512
MSComm1.RThreshold = 15
MSComm1.SThreshold = 1
MSComm1.InputLen = 15
MSComm1.ParityReplace = "?"
MSComm1.RTSEnable = True
MSComm1.DTREnable = True
MSComm1.NullDiscard = False
MSComm1.Handshaking = comNone

' Abrimos el puerto

MSComm1.PortOpen = True

End Sub

Private Sub Form_Unload(Cancel As Integer)

' Cerramos el puerto.

MSComm1.PortOpen = False

End Sub

Private Sub MSComm1_OnComm()

' declaramos una variable donde quedaran los datos recibidos

Static strData As String

With MSComm1
Select Case .CommEvent
Case comEventBreak
MsgBox "Error", "1comEventBreak"
Case comEventFrame
MsgBox "Error", "1comEventFrame"
Case comEventOverrun
MsgBox "Error", "1comEventOverrun"
Case comEventRxOver
MsgBox "Error", "1comEventRxOver"
Case comEventRxParity
MsgBox "Error", "1comEventRxParity"
Case comEventTxFull
MsgBox "Error", "1comEventTxFull"
Case comEventDCB
MsgBox "Error", "1comEventDCB"
Case comEvReceive

' se guardan los datos en la variable
strData = strData & MSComm1.Input

' borramos la variable para los proximos datos
strData = ""
End Select
End With

End Sub

bueno, espero te sirva,
Saludos y buena suerte!!!
__________________
Pablo F. Savino
---------------

Para aficionados a la Simulacion Aerea Virtual ,
visiten:
http://www.cargovirtual.com
  #3 (permalink)  
Antiguo 06/10/2004, 17:26
Avatar de jmaquino  
Fecha de Ingreso: octubre-2004
Mensajes: 26
Antigüedad: 20 años, 1 mes
Puntos: 0
Gracias pablo, con el código ya puedo terminar el proyecto.
  #4 (permalink)  
Antiguo 20/07/2013, 11:15
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Como utilizar el control Mscomm en VB6?

Aqui un ejemplo para una bascula TORREY:


Private Function LeerPuertoBascula() As String
Dim cBuffer As String

With MSCOMM1
If .PortOpen = True Then .PortOpen = False

.CommPort = 1 'Numero de puerto que deseas capturar, puede ser cualquier otro numero
.Settings = "9600,N,8,1"
.InputLen = 0 'Leer todos los datos
.InputMode = comInputModeText 'Los datos se dan en modo texto
.Handshaking = 0
.PortOpen = True

'limpiamos la variable que almacenara el peso que envie la bascula
cBuffer = ""
'En las basculas TORREY debes enviar el caracter 'P' para que te devuelva el peso, en este caso lo envio con Chr$(80)
.Output = Chr$(80)

'En este ciclo esta el truco para que tome la lectura de la bascula
Do
DoEvents
cBuffer = cBuffer & .Input
Loop Until InStr(cBuffer, "kg")
'cerramos el puerto
.PortOpen = False
End With

LeerPuertoBascula = cBuffer
MsgBox cBuffer
End Function
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 23:34.