Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 3
Ir a la página 1, 2, 3  Siguiente
 
Seleccionar Un Texto En Un TextEdit
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Seleccionar Un Texto En Un TextEdit 
 
Hola que tal amigos

tengo la siguiente duda...

en un TextEdit cargo un archivo html simple que se visualiza asi:

1.-texto del punto numero uno
2.-texto del punto numero dos
3.-texto del punto numero tres
etc
etc
etc

entonces necesito seleccionar lo que dice por ejemplo entre el punto 2.- al punto 3.- ahora si puedo cambiarle el color seria ideal :p... en VB6 lo hacia con la propiedad Find del Richtextbox... pero no se como hacerlo con un TextEdit o hacerlo con un TextArea

bueno... de antemano muchas gracias...

saludos
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
Que yo sepa no hay posibilidad de selstart, sellength y seltext en gambas.

Así que he pensado en alguna alternativa y se me ha ocurrido que se puede emplear el control textlabel que tiene la cualidad que funciona como un textbox, pero lo que recibe es código html y lo que muestra es el texto formateado.

Así que si muestras tu código en un textlabel y localizas el string que deseas destacar solo tienes que agregarle algún comando de cambiar letra, color, tamaño, etc.

textlabel="<div align=center<b>" &  textbox1.text &  "</b>"


Para localizar el string dispones de los métodos instr y rinstr
Citar:
posicion=instr("0123456789","23") ====> posición = 3
posicion=rinstr("0123456789","23") ====> posición = 6


De manera que si localizas la posición de inicio y final tendrás que hacer

textlabel=left(textohtml,posicioninicial-1)

textlabel &= "<b>" ---> activar negrita
textlabel &= mid(textohtml,posicioninicio,posicionfinal)
textlabel &="</b>" ---> quitar negrita
textlabel &= mid(textohtml,posicionfinal)


Habrías puesto en negrita la parte que quieres destacar

Por lo menos vale para hacer pruebas a ver si te sirve
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
bueeena... voy a probarlo...

ojo que estoy probando con un html pero también puede ser un texto plano simple... derrepente por ahí se puede hacer algo con un TextEdit o TextArea...

...publicaré como me fue....

saludos
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
Hola

El TextEdit dispone de varias propiedades para trabajar con texto como:

  • Pos, que devuelve la posición del cursor

  • Selected, que retorna true o false si un texto está seleccionado

  • Selection, que devuelve un objeto para manejar el texto seleccionado(solo lectura)

              Selection.Lenght
              Selection.Start    
              Selection.Text


          Estas propiedades hablan por sí solas, supongo que es lo que necesitas para manejar el texto del TextEdit.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
Ande

Pues gracias. Mira tu en que lio le estaba yo metiendo. Voy a mirar el textedit ese ...

Tengo que tener mas cuidado
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
he eliminado el texto en html... hice el mismo texto pero plano para no lidear con simbolos html.

quiero aclarar que lo que necesito es que con un boton pueda seleccionar el texto que exista entre cada punto... ejemplo:
el texto es mas o menos asi...

1:1 asdfasdfadfadsfadfasdfadsfasd
1:2 asdfasdfadsfadsfadsfadsfafsd
1:3 adsfasdfadsfasdfasdfadsf
...
entonces con un boton seleccionar lo que hay entre el 1:1 y el 1:2 o entre el 1:2 y el 1:3

y he hecho lo siguiente...


en un TexArea he cargado el archivo:
Código: [Descargar] [Ocultar]
  1. TextArea1.Text = File.Load("archivo") 


luego busco la posicion del punto numero uno.
Código: [Descargar] [Ocultar]
  1. Var1 = Instr(TextArea1.text, "1:1") 


luego selecciono 5 caracteres a partir del valor de Var1
Código: [Descargar] [Ocultar]
  1. TextArea1.select(Var1,5) 


ahi con el primer punto (1:1) no hay problema...
el problema esta cuando quiero buscar "1:2" o "1:5" etc... ya que cuando lo busco siempre me se va corriendo el resultado... por ejmplo... si el punto "1:2" se encuentra en el POS 56 entoces la seleccion comienza en el POS 59 y cada vez que se eincremente el punto (1:2,1:3,1:4...1:16) cada vez más se corre entonces no obtengo un valor exacto del POS del caracter que busco en el Instr... en definitiva el valor de Var1 no es exacto despues del "1:1".... si alguien sabe como lograrlo...

con respecto a lo que dice Jguardon con el tema del Pos, Selected, Selection etc etc... no me ayuda hacer lo que planteo anteriormente.

de todas formas estoy muy agradecido por la ayuda prestada hasta ahora...

saludos

esperando alguna manito...
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
aqui les subo el proyecto del ejercicio en cuestión...
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
Estuve curioseando un poco en la documentación de gambas. No he probado nada pero creo que esto que digo te funcionará.

El método adecuado es select que tiene el siguiente formato:
textedit.select(posicioninicial,longitud)

De manera que tu problema es encontrar ambos.

Al ver como hacer esto me doy cuenta que si eres capaz de encontrar una forma de localizar cualquier punto (1:2, 4:1, 10:1) entonces lo tienes solucionado porque si eres capaz de encontrar la posición de un punto también eres capaz de encontrar la posición del punto siguiente. La distancia entre ambos es la longitud que buscas.

Así que al final el problema únicamente es encontrar la posición de cualquier punto. Para ello has hecho bien en utilizar instring, pero tienes un error en sumarle cinco porque no siempre puede ser cinco. Si llegas a un punto 10.1 ahí serán 6 caracteres. No se si en tu caso existe esa posibilidad pero la solución sería buscar el espacio en esa subcadena y saber que el primer caracter es la posición de comienzo del párrafo.
Citar:

si el punto "1:2" se encuentra en el POS 56 entoces la seleccion comienza en el POS 59 y cada vez que se eincremente el punto (1:2,1:3,1:4...1:16) cada vez más se corre entonces no obtengo un valor exacto del POS del caracter que busco en el Instr... en definitiva el valor de Var1 no es exacto despues del "1:1".... si alguien sabe como lograrlo...

No lo entiendo. Si la posición es 56 y según tu dices le sumas cinco posiciones estás en la 61. No se porque dices la 59.

En definitiva: si eres capaz de encontrar el comienzo de un punto con buscar el comienzo del siguiente punto tienes la longitud que necesitas y luego haces  textedit.select(posicicioninicio,longitud)
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
teoricamente lo que me dices es ta super... y de hecho es eso lo que he estado probando hasta ahora pero con resultados poco exactos...

te explico... hablemos solmente del primer punto...

lo busco de la siguiente forma...
Código: [Descargar] [Ocultar]
  1. instr(texto en el cual busco, texto que deseo encontrar) 

de esta forma me devuelve el valor de la posicion del texto encontrado. Pero el problema está en el valor... porque no es exacto, sólo es exacto si busco el punto "1:1", pero si se incrementan los numeros (1:2, 1:3 ...) el valor de la posicion obtenido se va corriendo  como 2 espacios o más a medida que se va incrementando... por lo tanto sólo puedo seleccionar en forma correcta lo que hay en el punto "1:1" y todo el resto es incorrecto... osea la selección se va corriendo...

ojalá me puedas entender...
en el archivo adjunto del post anterior sale el ejemplo que estoy trabajando con el texto correspondiente.
saludos
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Seleccionar Un Texto En Un TextEdit 
 
Tu haces esto para pillar la posición del punto 1:1
posicion= Instr(TextArea1.text, "1:1")

Y dices que te funciona
¿Por qué no te funciona cuando haces?
posicion= Instr(TextArea1.text, "1:2")

No lo entiendo.

Si esa es la posición de comienzo de ese párrafo, el texto que buscas estará dos posiciones mas allá porque tras el 1:1 hay un espacio y luego va el primer caracter que te interesa.

Así que para seleccionar el texto del punto 1:2 tendrás que hacer
Posicion12= Instr(TextArea1.text, "1:2")

posicion13=Instr(TextArea1.text, "1:3")


De ahí concluímos que esa posicion mas cuatro caracteres es el comienzo del texto que te interesa
posicioninicial=posicion12+4

Y la longitud es
longitud=posicion13-posicioninicial

y para seleccionarlo
textedit.select(posicioninicial,longitud)

 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Imprimir Un TextEdit kotonfree General 4 Domingo, 20 Febrero 2011, 16:10 Ver último mensaje
kotonfree
No hay nuevos mensajes Seleccionar Texto O Enfocar La Linea De Te... kotonfree General 6 Lunes, 11 Abril 2011, 19:06 Ver último mensaje
soplo
No hay nuevos mensajes Seleccionar Un Fragmento De Texto De Un ED... BrunoIV General 2 Miercoles, 21 Diciembre 2011, 18:31 Ver último mensaje
Invitado
No hay nuevos mensajes Seleccionar Texto De Un Campo smorgerbowrg General 2 Miercoles, 21 Noviembre 2012, 00:42 Ver último mensaje
smorgerbowrg
 

Publicar nuevo tema  Responder al tema  Página 1 de 3
Ir a la página 1, 2, 3  Siguiente

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
No puede descargar archivos
No puede publicar eventos en el calendario