• Sábado 8 de Noviembre de 2025, 23:33

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - aura

Páginas: [1]
1
Visual Basic 6.0 e inferiores / Comunicacion Con Puerto Serie
« en: Miércoles 17 de Marzo de 2004, 10:30 »
Estimados amigos:
Estoy trabajando en un programa de comunicaciones (de dispositivos de peso), con puertos serie, y necesito algunas ideas, envio codigo para que veais lo que hasta ahora he hecho, me gustaria profundizar mas en este tema, pero desconozco su funcionamiento al completo

Código: Text
  1.  
  2. Option Explicit
  3. Dim Cadena As String
  4.  
  5.  
  6. Private Sub Conectar_Click()
  7. Dim Velocidad As String, Paridad As String, Bits As String, Parada As String
  8.  
  9.     'comprueva que el puerto este cerrado para poder abrirlo
  10.     If MSComm1.PortOpen = False Then
  11.         'determina el puerto que hemos seleccionado
  12.         If Combo1.ListIndex = 0 Then
  13.             MSComm1.CommPort = 1
  14.         Else
  15.             MSComm1.CommPort = 2
  16.         End If
  17.         'determina: 9600-Velocidad en Baudios, N-No utiliza ninguna paridad,
  18.         '8-Cantidad de bits de envio y recepcion por paquete,
  19.         '1-Determina los bits de parada
  20.         Velocidad = Trim(TxVelocidad.Text)
  21.         Paridad = Trim(TxParidad.Text)
  22.         Bits = Trim(TxBits.Text)
  23.         Parada = Trim(TxParada.Text)
  24.        
  25.         MSComm1.Settings = Velocidad & "," & Paridad & "," & Bits & "," & Parada
  26.         'lee todo el buffer de entrada para que quede vacio
  27.         MSComm1.InputLen = 0
  28.         'Abre el puerto seleccionado
  29.         MSComm1.PortOpen = True
  30.         Me.Caption = "Conectado por el puerto " & MSComm1.CommPort
  31.     End If
  32. End Sub
  33.  
  34. Private Sub Desconectar_Click()
  35.     If MSComm1.PortOpen Then
  36.         'cierra el puerto
  37.         MSComm1.PortOpen = False
  38.         Me.Caption = "Desconectado"
  39.     End If
  40. End Sub
  41.  
  42. Private Sub Enviar_Click()
  43.     'envia el texto escrito.
  44.     MSComm1.Output = TextoEnviar.Text & vbCr
  45.     'coloca el texto que enviamos en la pantalla
  46.     Texto.Text = Texto.Text & vbCrLf & "<Ordenador 1>" & TextoEnviar.Text
  47.     TextoEnviar.SetFocus
  48. End Sub
  49.  
  50. Private Sub Form_Load()
  51.     Combo1.AddItem "Com1"
  52.     Combo1.AddItem "Com2"
  53.     Combo1.ListIndex = 0
  54. End Sub
  55.  
  56. Private Sub Form_Unload(Cancel As Integer)
  57.     Desconectar_Click
  58. End Sub
  59.  
  60. 'El evento OnComm se genera siempre que cambia el valor de la propiedad
  61. 'CommEvent e indica que se ha producido un evento o un error en la comunicación.
  62. Private Sub MSComm1_OnComm()
  63.     Dim i As Integer
  64.     Dim Valor As String
  65.    
  66.     'recoge el valor de entrada
  67.     Valor = MSComm1.Input
  68.     'busca la posicion del caracter de salto de linea
  69.     i = InStr(Valor, Chr(13))
  70.    
  71.     'si no hay ningun salto de linea, quiere decir que la informacion que recibe
  72.     'es parte de una cadena recibida con anterioridad.
  73.     If i = 0 Then
  74.         Cadena = Cadena & Valor
  75.     Else
  76.         Cadena = Cadena & Left(Valor, i - 1)
  77.         Texto.Text = Texto.Text & vbCrLf & "<Ordenador 2>" & Cadena
  78.         Texto.SelStart = Len(Texto.Text)
  79.         Cadena = ""
  80.     End If
  81. End Sub
  82.  
  83.  
[/QUOTE]

Páginas: [1]