Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Abrir Com RS232: Fayo en Settings al pasar variables

Estas en el tema de Abrir Com RS232: Fayo en Settings al pasar variables en el foro de Visual Basic clásico en Foros del Web. Código: Public vcom As Integer Public vbitss As Long Public vbitsd As Integer Public vparidad As String Public vbitsp As Long Dim vsettings As Variant ...
  #1 (permalink)  
Antiguo 11/05/2007, 11:55
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
Abrir Com RS232: Fayo en Settings al pasar variables

Código:
Public vcom As Integer
Public vbitss As Long
Public vbitsd As Integer
Public vparidad As String
Public vbitsp As Long

 Dim vsettings As Variant
 vsettings = vbitss & "," & vbitsd & "," & vparidad & "," & vbitsp
 Com.InputMode = comInputModeText
 Com.CommPort = vcom
 Com.Settings = vsettings
 If Com.PortOpen <> True Then
  Com.PortOpen = True
 End If
que es lo que hago mal que me da error en:

vsettings = vbitss & "," & vbitsd & "," & vparidad & "," & vbitsp

no llegan las variables llenas... estan vacias.

salu2

Última edición por cplus; 11/05/2007 a las 12:06
  #2 (permalink)  
Antiguo 11/05/2007, 19:22
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Abrir Com RS232: Fayo en Settings al pasar variables

1- com.settings es una variable string. Todas las variables que usás para formarla deben ser strings y no mezclas. Da error de no coinciden los tipos.
2- Esas variables que forman vsettings deben estar definidas en alguna otra parte del proyecto, si no son variable vacías.
3- El resultado de vsettings debe ser, por ejemplo "1200,N,8,1"
  #3 (permalink)  
Antiguo 11/05/2007, 19:39
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
Re: Abrir Com RS232: Fayo en Settings al pasar variables

Cita:
Iniciado por fero Ver Mensaje
1- com.settings es una variable string. Todas las variables que usás para formarla deben ser strings y no mezclas. Da error de no coinciden los tipos.
2- Esas variables que forman vsettings deben estar definidas en alguna otra parte del proyecto, si no son variable vacías.
3- El resultado de vsettings debe ser, por ejemplo "1200,N,8,1"

???????????????
las variables ya estan definidas... no es eso...

otra cosa-.-

Código:
var1 = var12+ var3+var4
si var1 es string.... o variant... y la var12 es string da lo mismo que var3 o var4 sean long o inter o lo que sea, por omision es string ya que la primera es string..

no estoy deacuerdo... necesito otra opinion, pero gracias por intentarlo.
  #4 (permalink)  
Antiguo 11/05/2007, 19:57
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Abrir Com RS232: Fayo en Settings al pasar variables

Entonces las variables están definidas en otro procedimiento.
Usar la declaración Public en un módulo y no en las declaraciones del formulario.
  #5 (permalink)  
Antiguo 11/05/2007, 20:07
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
Re: Abrir Com RS232: Fayo en Settings al pasar variables

Cita:
Iniciado por fero Ver Mensaje
Entonces las variables están definidas en otro procedimiento.
Usar la declaración Public en un módulo y no en las declaraciones del formulario.
insisto es asi como esta.... el problema no es ese.

el problema es el settins que no pilla en modo variable, si lo pongo manual osea ya definido perfecto....

mal: vsettings = vbitss & "," & vbitsd & "," & vparidad & "," & vbitsp
bien: vsettings = 1200,N,8,1

gracias
  #6 (permalink)  
Antiguo 11/05/2007, 20:28
 
Fecha de Ingreso: mayo-2007
Mensajes: 74
Antigüedad: 17 años
Puntos: 1
Re: Abrir Com RS232: Fayo en Settings al pasar variables

Ejemplo 1 (de la ayuda de vb)

Private Sub Form_Load ()
' Búfer para almacenar la cadena de entrada
Dim Instring As String
' Usar COM1.
MSComm1.CommPort = 1
' 9600 baudios, sin paridad, 8 bits de datos y 1
' bit de parada.
MSComm1.Settings = "9600,N,8,1"
' Indicar al control que lea todo el búfer al usar
' Input.
MSComm1.InputLen = 0
' Abrir el puerto.
MSComm1.PortOpen = True
' Enviar al módem el comando de atención.
MSComm1.Output = "ATV1Q0" & Chr$(13) ' Asegúrese de que
' el módem responde con "OK".
' Esperar a que vuelvan los datos al puerto serie.
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' Leer los datos de respuesta de aceptación en el
' puerto serie.
' Cerrar el puerto serie.
MSComm1.PortOpen = False
End Sub


Ejemplo 2:

Private Sub Form_Load ()
' Búfer para almacenar la cadena de entrada
Dim Instring As String
'variable para definir settings
Dim vsettings as string

vsettings= "9600,N,8,1"

' Usar COM1.
MSComm1.CommPort = 1
' 9600 baudios, sin paridad, 8 bits de datos y 1
' bit de parada.
MSComm1.Settings = vsettings
' Indicar al control que lea todo el búfer al usar
' Input.
MSComm1.InputLen = 0
' Abrir el puerto.
MSComm1.PortOpen = True
' Enviar al módem el comando de atención.
MSComm1.Output = "ATV1Q0" & Chr$(13) ' Asegúrese de que
' el módem responde con "OK".
' Esperar a que vuelvan los datos al puerto serie.
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' Leer los datos de respuesta de aceptación en el
' puerto serie.
' Cerrar el puerto serie.
MSComm1.PortOpen = False
End Sub

Los dos ejemplos funcionan.

En tu código,
break point en
vsettings = vbitss & "," & vbitsd & "," & vparidad & "," & vbitsp
inspección
vsettings = "9600,N,8,1" o vsettings="" ?
  #7 (permalink)  
Antiguo 11/05/2007, 22:07
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
Re: Abrir Com RS232: Fayo en Settings al pasar variables

ok voy a mirarlo que estoy terminando otra cosa... y me mareo, luego te comento

gracias.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:02.