Visual Basic - pasar (Mscomm1.input) a una variable

Life is soft - evento anual de software empresarial
 
Vista:

pasar (Mscomm1.input) a una variable

Publicado por barataria256 (3 intervenciones) el 03/08/2006 08:26:42
Hola gracias por prestar atencion a mi pregunta.

Mi problema esta al pasar (Mscomm1.input) a una variable. Yo hago esto

a = Len(MSComm1.Input)
Label1.Caption = (MSComm1.Input)

d = MSComm1.Input
s = Len(d)
stop

Cuando llega el stop:

a = 1024 ' es el tamaño del buffer asta aqui todo bien pero

label1.caption = ""

d = "" 'y

s = "0"

He probado a declarar las variables tanto public como no, a nivel de modulo , de form , y de funcion.

y sigue sin funcionar.

Tambien he:

call Prueba ( Mscomm1.input)

pero en prueba aunque si que la variable donde queda ( Mscomm1.input) tiene "algo" su Len rara vez para de tener un valor de 100

Muchas 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

RE:pasar (Mscomm1.input) a una variable

Publicado por Javi RM (187 intervenciones) el 03/08/2006 09:29:23
Buenas, por lo que veo tienes el problema a la hora de asignar el valor. Tengo que comenterte que cada vez que llamas a "input", sea para lo que sea, el buffer se inicializa. Es decir cuando recuperas el tamaño en "a = Len(MSComm1.Input) ", estas inicializando el buffer de recepción al mismo tiempo, por lo que es erróneo.

Para recuperar correctamente el tamaño de los datos del buffer de entrada debes utilizar la función "InputLen" o "InBufferCount".

Por ejemplo tu código sería:

a = MSComm1.InputLen
Label1.Caption = (MSComm1.Input)

o también

a = MSComm1.inBufferCount
Label1.Caption = (MSComm1.Input)

Un saludo y espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar (Mscomm1.input) a una variable

Publicado por barataria256 (3 intervenciones) el 03/08/2006 11:35:27
Muchas gracias por tu ayuda.
Por lo que he probado el problema es que no me pasa los valores de mscomm1a una variable de ninguna manera.
en
a = MsComm1.inBufferCount
a = o ' y
MsComm1.inBufferCount = 1024 ' no siempre tiene el mismo valor

igual con:

a = MSComm1.InputLen

Esto lo pruebo con un stop y parsando el mouse por encima

Pasa lo mismo que con Mscomm1.input´cuando le paso el mouse pone los datos que estoy metiendo en Com1

Tambien he modificado

Call prueba ( MsComm1.input)

Que en
Public Sub prueba ( Mscom)
A =len ( Mscom)

A tiene un valor muy bajo no suele paasar de 80

Lo cambie por

Call prueba ( Me.MsComm1.input)

y A toma unos valores aceptables

Que pasa ?

Para que sirve Me. Creo que dimensiona el valor en una variable de forma implicita . Pero no se que quiere decir exactamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar (Mscomm1.input) a una variable

Publicado por Javi RM (187 intervenciones) el 03/08/2006 12:29:51
Veamos, el "Me." hace referencia al formulario sobre el que estás trabajando, no tiene ninguna acción directa sobre el valor de puerto serie.
Por otro lado, no realices inspecciones ni recuperes el valor de input, ya que estas acciones pueden inicializar el buffer. Mejor inspecciona las variables donde guardas los valores.

también veo que la declaración de Pureba, no especificas el tipo de dato. Yo lo haría de este modo:

' El procedimiento recibe directamente la instancia del objeto MSComm
Private Sub Prueba(MSCOM As MSComm)
Dim a As Long
Dim BufferIn As String

a = MSCOM.InBufferCount
BufferIn = MSCOM.Input

End Sub ' Yo pondría el punto de interrupción aquí

Para llamar a la función:
Call prueba ( Me.MsComm1)

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar (Mscomm1.input) a una variable

Publicado por barataria256 (3 intervenciones) el 03/08/2006 12:47:31
Muchas gracias
He hecho lo que e dices y FUNCIONA
Al declarar As MSComm me pasan todos los datos a variables si ningun problema. Y al consultar los datos no inicializa el puerto.
Repito muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar (Mscomm1.input) a una variable

Publicado por William Cardona (1 intervención) el 01/08/2011 20:11:08
Hola a todos
he probado con lo que indica Javier, es ese momento, existe la posibilidad que me ayudasen con el codigo, yha que me ocurre lo mismo.

Saludos

atte

Willima Cardona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar (Mscomm1.input) a una variable

Publicado por Leopoldo (1 intervención) el 18/09/2011 22:49:05
Hola william que es loq ue te pasa exactamente, yo probe loq ue aqui decian y me funciono bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar