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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  contar saltos de linea RichTextBox VB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: contar saltos de linea RichTextBox VB  (Leído 10,847 veces)
Carlosnuel


Desconectado Desconectado

Mensajes: 526


www.carlosnuel.com


Ver Perfil WWW
contar saltos de linea RichTextBox VB
« en: 4 Abril 2007, 03:42 am »

Hola estoy haciendo un proyecto para la escuela el cual consiste en abrir un documento de texto contar los saltos de linea y cortar el documento ejemplo

#de lineas maximo por hoja = 25
# numero de lineas del documento = 100

Total de paginas generadas = 100/25 = 4

todo esto lo estoy manejando por medio de un richtextbox pero al momento de realizar la búsqueda no funciona mi código llevo toda la tarde y no encuentro solución podrían ayudarme


Código:
Dim sText, sFnd
Dim lPos
Dim cont As Integer

  cont = 1
  sText = RichTextBox1.Text 
  sFnd = vbCrLf     'Texto buscado (salto de linea).

'pretendo ir avanzando por el texto para hacer una comparacion
'buscando el salto de linea
 
While Len(RichTextBox1.Text) > cont

 lPos = InStr(1, sText, sFnd)
  If lPos > 0 Then    'Se encontró la cadena

    call MsgBox("La cadena se encontró en la posición " & lPos, vbExclamation)
 ' estos msgbox son temporales, después los sustituiré por la continuación del programa
  Else
    call MsgBox("No se encontró la cadena")
  End If
   cont = cont + 1
   Wend



el problema que tengo es que no puedo moverme entre todos los caracteres que hay en el richtexbox1 para buscar los saltos de linea

ojala puedan ayudarme


« Última modificación: 4 Abril 2007, 03:44 am por -Charles- » En línea

Syphroot

Desconectado Desconectado

Mensajes: 268


All You Need To Do Is Follow The Worms


Ver Perfil WWW
Re: contar saltos de linea RichTextBox VB
« Respuesta #1 en: 4 Abril 2007, 04:04 am »


El problema al parecer esta en la primer linea dentro del bucle while:

Código:
lPos = InStr(1, sText, sFnd)

el primer argumento ponle tu contador "cont", ya que es la posicion  en la va a empezar a buscar las coincidencias

Código:
lPos = InStr(cont, sText, sFnd)

asi en cada iteración el contador incrementa y busca en la siguiente posición...



En línea

Carlosnuel


Desconectado Desconectado

Mensajes: 526


www.carlosnuel.com


Ver Perfil WWW
Re: contar saltos de linea RichTextBox VB
« Respuesta #2 en: 5 Abril 2007, 23:21 pm »

gracias por el consejo... pero lo he implementado de la siguiente forma (con un ciclo FOR) y funciona pero por ejemplo si tengo en el espacio 3 un salto de linea, en el espacio 5 otro y en el 7 otro, lo que hace mi programa es que se detiene en el espacio 3 e imprime como 20 veces que esta en el espacio 3 y asi para el 5 y 7

este es el codigo ayudenme porfavor

Código:
Dim sText, sFnd
Dim lPos
Dim cont As Integer

    cont = 1
  'Texto en el cual se va a buscar, puede ser un cuadro de texto o cualquier String.
 
  sText = RichTextBox1.Text
  sFnd = vbCrLf 'Texto buscado.

  NumText = Len(RichTextBox1.Text)
 
  For i = 1 To NumText
   lPos = InStr(i, sText, sFnd)
  If lPos > 0 Then
    Call MsgBox("La cadena se encontró en la posición " & lPos, vbExclamation)
  Else
    Call MsgBox("No se encontró la cadena")
  End If
   'cont = cont + 1
 Next i

En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: contar saltos de linea RichTextBox VB
« Respuesta #3 en: 6 Abril 2007, 01:22 am »

creo que el problema es el contador "i" si tienes un salto de linea en la posicion 3 al entrar al ciclo te va a mandar 3 veces el mensaje.


lo que debes hacer es mover tu contador al encontar un salto de linea, tú código quedaría asi:
Código:
Dim sText, sFnd
Dim lPos
Dim cont As Integer

    cont = 1
  'Texto en el cual se va a buscar, puede ser un cuadro de texto o cualquier String.
 
  sText = RichTextBox1.Text
  sFnd = vbCrLf 'Texto buscado.

  NumText = Len(RichTextBox1.Text)
 
  For i = 1 To NumText
   lPos = InStr(i, sText, sFnd)
  If lPos > 0 Then
    Call MsgBox("La cadena se encontró en la posición " & lPos, vbExclamation)
   

      'Aqui mueves "i" despues del salto de linea encontrado
      i = lpos+2



  Else
    Call MsgBox("No se encontró la cadena")
  End If
   'cont = cont + 1
 Next i

En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Carlosnuel


Desconectado Desconectado

Mensajes: 526


www.carlosnuel.com


Ver Perfil WWW
Re: contar saltos de linea RichTextBox VB
« Respuesta #4 en: 6 Abril 2007, 01:36 am »

hay si funciona T.T

Celaya eres mi nuevo dios en Visual Basic...

gracias por el consejo

oye una pregunta

porque i = lpos + 2

no entiendo porque lo incrementas 2 veces

En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: contar saltos de linea RichTextBox VB
« Respuesta #5 en: 6 Abril 2007, 01:55 am »

el salto de linea se compone de dos partes:


vb       cr              lf
       Fin de      Salto de
        linea         linea

cuando usas la función InStr te va a devolver la posición del fin de linea, en esta caso 3, lo incremento en dos para que sigua el bucle despues del fin de linea(cr, posición 3) y el salto de linea(lf, posición 4) y continue en el siguiente caracter de la cadena (posición 5)

En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Se pueden hacer saltos de linea en las variables?
Desarrollo Web
Ori-chan 4 1,388 Último mensaje 28 Febrero 2013, 17:24 pm
por 1mpuls0
Función fread y saltos de línea
Programación C/C++
NathanD 8 4,052 Último mensaje 20 Marzo 2013, 20:25 pm
por NathanD
Echo sin saltos de linea en Windows
Scripting
WHK 4 4,592 Último mensaje 13 Mayo 2013, 18:02 pm
por WHK
Saltos de linea en PHP.
PHP
Akise 2 1,184 Último mensaje 25 Junio 2013, 03:33 am
por Akise
[Pregunta]: Contar saltos de lineas de una cadena (PHP)
PHP
Leguim 4 566 Último mensaje 4 Diciembre 2019, 16:14 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines