elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como reconocer una linea de texto dentro de un rich text box (solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como reconocer una linea de texto dentro de un rich text box (solucionado)  (Leído 9,104 veces)
Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Como reconocer una linea de texto dentro de un rich text box (solucionado)
« en: 12 Abril 2009, 19:40 pm »

buenas
bueno esa es mi duda. ya que solo me reconocer un texto pero no se como reconocer toda una linea.
que alguien me ayude

de ante mano gracias por su ayuda


« Última modificación: 15 Abril 2009, 04:18 am por Zeroql » En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Como reconocer una linea de texto dentro de un rich text box
« Respuesta #1 en: 13 Abril 2009, 00:34 am »

Hola, podes poner un ejemplo de lo que queres ?, es que no entendi muy bien lo que queres...

saludos.


En línea

invisible_hack


Desconectado Desconectado

Mensajes: 978


Invisible_Hack™ Nick Registrado ^^


Ver Perfil WWW
Re: Como reconocer una linea de texto dentro de un rich text box
« Respuesta #2 en: 13 Abril 2009, 19:01 pm »

No sé si entendi bien lo que quieres, pero si es lo que yo pienso, creo que te puede servir la funcion Split.

En línea

"Si no visitas mi blog, Chuck te dará una patada giratoria"
Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Como reconocer una linea de texto dentro de un rich text box
« Respuesta #3 en: 13 Abril 2009, 23:59 pm »

holas
miren lo que busco es si tengo las siguientes lineas....

Public sub Matematicas(N as integer, X as integer)
   Matematicas=N*X
end sub

Necesito reconocer que la parte que es: Matematicas=N*X como una linea de texto en un richtextbox, como se puede hacer.
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

ElKraken

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Como reconocer una linea de texto dentro de un rich text box
« Respuesta #4 en: 14 Abril 2009, 01:13 am »

Buenas, Zeroql.

Lo que quieres es extraer una línea concreta del RichTextBox.
Como supongo debes saber, con el RichTextBox puedes lidiar con dos tipos de texto: sin formato o texto enriquecido.
En esta respuesta supongo que te interesa tratar el texto sin formato. Si no es así, se puede adaptar fácilmente la solución para texto con formato enriquecido.

Dicho esto, te he programado dos funciones para tratar con líneas individuales en un RichTextBox.

La primera, GetLinesText, es un procedimiento que toma una matriz Lines() de Strings pasada por referencia y un objeto RTB de tipo RichTextBox también por referencia.
Una vez hecha la llamada al procedimiento, la matriz de Strings Lines() estará cargada con las líneas de texto del RichTextBox.
Esta es la función:
Código:
Public Sub GetLinesText(ByRef Lines() As String, ByRef RTB As RichTextBox)
  Dim cnt As Long, p1 As Long, p2 As Long
  p1 = 1
  Do
    p2 = InStr(p1 + 1, RTB.Text, vbCrLf)
    p1 = IIf(p1 = 1, 1, p1 + 2)
    ReDim Preserve Lines(cnt)
    Lines(cnt) = Mid(RTB.Text, p1, IIf(p2 = 0, Len(RTB.Text) + 1, p2) - p1)
    cnt = cnt + 1
    If p2 = 0 Then Exit Do
    p1 = p2
  Loop
End Sub

Ejemplo de uso:

Código:
  Dim Lineas() As String, i As Long
  GetLinesText Lineas(), RichTextBox1
  Me.Autoredraw=True
  For i = 0 To UBound(Lineas)
     Me.Print Lineas(i)
  Next i

Esto carga en la matriz Lineas() todas las líneas del RichTextBox1.

La otra, es una función llamada GetNLineText, que toma un parámetro RTB de tipo RichTextBox y un parámetro  NLine que contiene el número de línea a devolver.
Si el número de línea no existe o no tiene sentido, la función devuelve una cadena nula.
Si el número de línea se corresponde con una línea del texto, la función devuelve la línea número correspondiente, contando desde arriba a partir de 1.
Esta es la función:

Código:
Public Function GetNLineText(ByRef RTB As RichTextBox, ByVal NLine As Long) As String
  Dim cnt As Long, p1 As Long, p2 As Long
  p1 = 1
  Do
    p2 = InStr(p1 + 1, RTB.Text, vbCrLf)
    If cnt + 1 = NLine Then
      p1 = IIf(p1 = 1, 1, p1 + 2)
      GetNLineText = Mid(RTB.Text, p1, IIf(p2 = 0, Len(RTB.Text) + 1, p2) - p1)
      Exit Function
    End If
    cnt = cnt + 1
    If p2 = 0 Then Exit Do
    p1 = p2
  Loop
End Function

Ejemplo de uso:

Código:
 Me.Print GetNLineText(RichTextBox1, 2)

Esto muestra en el fondo de ventana la línea segunda.

Espero que estas funciones te sean de ayuda y se correspondan con la solución de tu problema.

El Kraken
En línea

Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Como reconocer una linea de texto dentro de un rich text box
« Respuesta #5 en: 14 Abril 2009, 01:55 am »

El Kraken muchas gracias por tu ayuda..
aunk yo estaba pensando en una solucion algo drastica.... era algo asi.
Código:
Private Sub RichTextBox_Change()
  line=line & RichTextBox.selStart -1
  if chr(13) then
     'Llamar a la funcion que se encarga de hacer lo k se deba hacer con la linea
  end if
End Sub

al igual me gusta tu code.. muchas gracias. los ensayare a ver ketal.
« Última modificación: 14 Abril 2009, 04:49 am por Zeroql » En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Como reconocer una linea de texto dentro de un rich text box
« Respuesta #6 en: 15 Abril 2009, 04:17 am »

bueno probando con muchos codes. mas que todo el que me facilito El Kraken me parceio mas facil hacerlo de la siguiente manera:

Código
  1. Private Sub richTextBox_KeyPress(KeyAscii As Integer)
  2.  'En caso de que selFile sea 0 entonces determinar donde comienza la linea nueva
  3.  If selFile = 0 Then
  4.     selFile = 1
  5.     posIni = richTextBox.SelStart   'posIni es para saber la posicion donde comienza la linea
  6.  End If
  7.  If KeyAscii = 13 Then       'En caso de que se presione enter
  8.     selFile = 0
  9.    'Llamar a la funcion que se encarga de darle color a la linea
  10.   call FindLine(posIni, richTextBox.selStart)   'Se le envia posIni que es la posicion inicial de la linea, y el  richTextBox.selStart es enviarle la posicion final de la linea
  11.  End If
  12. End Sub

Bueno espero que les sirva....
hasta la proxima
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como imprimir una linea de texto en C Basico
Programación C/C++
wirelesswifi 2 17,405 Último mensaje 14 Enero 2011, 03:50 am
por wirelesswifi
Poner Texto en Text Area javascript
Desarrollo Web
Pafate 1 11,705 Último mensaje 21 Febrero 2011, 03:53 am
por Nakp
¿Cómo puedo hacer un UPDATE?:) (Dentro BD 8) ) (Solucionado)
Nivel Web
isopo 7 4,074 Último mensaje 12 Julio 2011, 19:23 pm
por Shell Root
ajustar a lo ancho un texto dentro de un div. css [SOLUCIONADO]
Desarrollo Web
OssoH 8 53,262 Último mensaje 15 Abril 2012, 21:46 pm
por OssoH
[BATCH] Como buscar y eliminar una linea de texto (Solucionado)
Scripting
RS_cool 6 14,582 Último mensaje 17 Abril 2012, 22:49 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines