Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Necesito Ayuda En Operaciones Con String Mediante TextArea .
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Necesito Ayuda En Operaciones Con String Mediante TextArea . 
 
Hola, necesito que alguien me ayude para realizar una operación de manejo de Strings, provenientes de un dispositivo GPS conectado al puerto Serie..

Bien, la lectura está quedando guardada en tiempo real en un TextArea. Hastá ahí, todo bien, porque incluso, las sentencias del protocolo son tomadas correctamente, separadas por un ENTER. Es decir que el primer paso, separar las sentencias, ya está hecho correctamente. Ahora necesito:

Tomar cada línea de texto del TEXT AREA, pasarla a un String y luego borrarla del TextArea para limpiarlo. Eso debo hacerlo cada vez que se completa una sentencia (cada vez que se produce el salto de línea en el text area.)

Entonces, el Text Area pasará de mostrar todas las sentencias recibidas tipo histórico, a mostrar solo una línea, o dos a lo sumo, que cambiará constantemente.  

El tamaño de la sentencias sentencias es variante.

Agradeceré cualquier aporte. He subido una imágen del Text area, pero no estoy seguro de que se haya cargado correctamente.

 pantallazo_1273536813_185747 .
 



 
francopenizzotto - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda En Operaciones Con String Mediante TextArea . 
 
Citar:

Ahora necesito:

Tomar cada línea de texto del TEXT AREA, pasarla a un String


¿Cada línea a una misma cadena o a cadenas diferentes?

En cualquier caso:

PRIVATE $sSentencias AS String
PRIVATE $aSentencias AS NEW String[]

. . .

'El contenido de TextArea a un arreglo de String:
'cada elemento del arreglo es una línea del TextArea

DIM Elemento AS String

  $aSentencias = Split(TextArea1.Text, gbNewLine)

  'Todas las sentencias a una única cadena
  FOR EACH Elemento IN $aSentencias
    $sSentencias &= Elemento
  NEXT

  'O más fácil
  $sSentencias = $aSentencias.Join("")

 


Citar:

 y luego borrarla del TextArea para limpiarlo. Eso debo hacerlo cada vez que se completa una sentencia (cada vez que se produce el salto de línea en el text area.)
Entonces, el Text Area pasará de mostrar todas las sentencias recibidas tipo histórico, a mostrar solo una línea, o dos a lo sumo, que cambiará constantemente.


No me queda claro cuántas líneas deben quedar en el TextArea y qué líneas son (¿las últimas, las primeras?).


DIM It AS Integer

'Limpiar el TextArea
TextArea1.Clear

. . .

'Últimas 3 líneas en el TextArea, conservando esas líneas en el arreglo
  IF $aSentencias.Count >= 3 THEN
    FOR It = $aSentencias.Max TO $aSentencias.Max - 2 STEP -1
      TextArea1.Text &= $aSentencias[It]
    NEXT
  ENDIF

'Últimas 3 líneas en el TextArea, eliminando esas líneas del arreglo
TextArea1.Text = $aSentencias.Extract($aSentencias.Max - 2, 3)

'Otra forma
  IF $aSentencias.Count >= 3 THEN
    REPEAT
      'Ups, un error muy obvio
      'It = 1
       It +=1
      TextArea1.Text &= $aSentencias.Pop
    UNTIL It = 3
  ENDIF

'Otra forma más
  IF $aSentencias.Count >= 3 THEN
    TextArea1.Text = $aSentencias.Pop & $aSentencias.Pop & $aSentencias.Pop
  ENDIF

 


No he probado - ni he demostrado - que el código anterior funcione, así que disculpa los errores que pueda tener.
 




===================
Cómo programar con Gambas

Speed Books: informática libre.
 
última edición por fabianfv el Martes, 11 May 2010, 18:23; editado 2 veces 
fabianfv - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Ayuda En Operaciones Con String Mediante TextArea . 
 
Voy a probarlo hoy día y te contesto las dudas según que logre hacer funcionar con lo que me pasaste.

Muchas gracias por tu tiempo, muy valioso tu aporte.
 



 
francopenizzotto - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron