Programación General > Visual Basic para principiantes
Problema con TextBox y ListBox Resuelto..
IAO:
Hola para todos...
Amigos tengo un pequeño inconveniente, he buscado por todas partes algo similar pero no logro
dar con la solución a esto.
Tengo recibiendo por el MSCOMM unos datos en formato texto y los coloco en un TextBox.
Todo trabaja bien hasta allí.
Al tratar de operar o manipular el texto en dicho control se tranca la comunicación o no me muestra nada
el el segundo textbox.
Un poco de código, para hacerme entender.
--- Código: Text --- If Option1.Value = True Then Select Case MSComm1.CommEvent Case comEvReceive '''Recibe y lo almacena en sData. sData = MSComm1.Input For i = 1 To Len(sData) 'svar1 = Mid$(sData, i, 1) svar2 = sData 'svar1 = Mid(svar1, 12, 4) sDatos(i) = sDatos(i) & svar2 Text1.Text = Text1.Text & sDatos(i) Next i For j = 1 To Len(sData) svar1 = svar1 & sDatos(j) 'svar3 = Mid(svar1, 11, 5) Text3.Text = Text3.Text + sDatos(j) Next j End Select End If End Sub
Puede que este haciendo algo mal, tengo muchos intentos de todo tipo, pero ninguno me resulta.
No estoy seguro si el svar3 = Mid(svar1, 11, 5) funciona con los textbox. Estoy frustrado de verdad.
Yo recibo estos datos por el Pto Serial:
......
8ms 00.3mV
9ms 00.1mV
10ms 00.4mV
11ms 00.1mV
12ms 00.1mV
13ms 00.3mV
......
Y lo que quiero tomar y meterlo en una variable o arreglo es lo que está en color azul, para graficarlo.
Me parece que debo mandar esto a un archivo de texto.txt, y manipularlo desde el archivo pero lo veo
como infuncional.
No puedo modificar lo recibido, porque es un Multimetro Digital que envía en ese formato.
Puede alguien entender esto y ayudarme?
Cualquier comentario, o ayuda lo agradecería muy grandemente.....
Bye('_')....
Nota: Perdón aquí dejo un link del codigo VB6 funcionando... Pero sin manipular el TextBox.
http://www.box.net/shared/lp89o3rrdg
IAO:
Holaaaaaa:
Okey por fin luego de dos semanas ya puedo ver una luz....
--- Código: Text --- If Option1.Value = True Then Select Case MSComm1.CommEvent Case comEvReceive '''Recibe y lo almacena en sData. sData = MSComm1.Input 'Datos que se quieren modificar. Los retiro de la Variable sData = Replace$(sData, "m", "") sData = Replace$(sData, "s", "") sData = Replace$(sData, "V", "") Text1.Text = Text1.Text & sData '''& sDatos(i) '& vbCr 'svar2 a = Right(sData, 4) b = Right(Text2, 4) Text2 = Right(Text2, 4) & a '''& vbCrLf 'Mid(Text1.Text, 11, 5) 'Text3.Text & End Select End If End Sub
Con este cambio los datos que recibo les elimino las letras: s, m, V. !!!BUENIIIIIISIMO
......
8 tab 00.3
9 tab 00.1
10 tab 00.4
11 tab 00.1
12 tab 00.1
13 tab 00.3
......
Pero sigo teniendo el mismo problema, cuando uso el Right(sData, 4) o Right(a, 4),, me muestra todo el texto que ingresa menos los caracteres que eliminé.
Text2 = Right(Text2, 4) & Right(a, 4) --> de este modo me muestra como quiero ( 00.3 ) pero siempre en la
primera linea del TextBox, no me lo desplaza hacia bajo del textbox.
Bueno sigo intentando....
Bye('_').....
F_Tanori:
--- Cita de: "IAO" ---Pero sigo teniendo el mismo problema, cuando uso el Right(sData, 4) o Right(a, 4),, me muestra todo el texto que ingresa menos los caracteres que eliminé.
Text2 = Right(Text2, 4) & Right(a, 4) --> de este modo me muestra como quiero ( 00.3 ) pero siempre en la
primera linea del TextBox, no me lo desplaza hacia bajo del textbox.
Bueno sigo intentando....
Bye('_').....
--- Fin de la cita ---
A que te refieres con que no te lo desplaza hacia abajo? , tiene un salto de linea al inicio? , el textbox es multilinea?
No entiendo bien a que te refieres
Saludos
IAO:
Holaaaa:
Gracias sr. F_Tanori, por atender mi solicitud.
Si, es un TextBox multilinea. Es complicado explicar esto porque no es con un boton para que arranque,
es el evento del mscomm que recibe la data y la coloco en el textbox. Me enredo un poco o bastante. :)
Te dejo una captura de la parte que recibo. A ver si captas la idea.
[IMG]
Observa como el Text1 recibe los numeros, porque pude eliminar unas letras que me tenía loco.
Ahora en el Text2, que es el mayor problema desde el principio, no me desplaza y es justamente cuando
utilizo el Right(), Left() o Mid().
También traté de colocarlo en una variable, en un arreglo, pero cuando trato de llevarlo al Text2 o a un List1,
Me muestra todo como en el Text1, sin variación de ningún tipo. Solo con Right(), Left() o Mid(), se aprecia
algún cambio pero solo en la primera linea del Text2. Me parece que la opción multilinea, no admite el uso de estas.
He llegado a pensar que no funciona con Mscomm, falta algo o algo estoy omitiendo.
Espero puedas entender mejor.
Bye('_').....
m0skit0:
Creo que tu problema radica en que sobreescribes el contenido del Text2 y por eso sólo aparece un elemento en vez de todos. ¿Por qué tienes comentado vbCrLF?
Navegación
[#] Página Siguiente
Ir a la versión completa