Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como hago para leer una parte del texto

Estas en el tema de Como hago para leer una parte del texto en el foro de Visual Basic clásico en Foros del Web. Private Sub Form_Load() Text1.Text = GetUrlSource("http://web.com/test.txt") End Sub http://web.com/test.txt <!-- COMENTARIO --> (SOLO LEER ESTO) <!-- FIN COMENTARIO --> En este caso solo quiero que ...
  #1 (permalink)  
Antiguo 03/03/2011, 16:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 1
Antigüedad: 13 años, 1 mes
Puntos: 0
Como hago para leer una parte del texto

Private Sub Form_Load()
Text1.Text = GetUrlSource("http://web.com/test.txt")
End Sub

http://web.com/test.txt
<!-- COMENTARIO -->
(SOLO LEER ESTO)
<!-- FIN COMENTARIO -->

En este caso solo quiero que lea: (SOLO LEER ESTO)

no manejo mucho visual, si alguién me podria decir, gracias.
  #2 (permalink)  
Antiguo 04/03/2011, 02:11
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Como hago para leer una parte del texto

Hazte una función que vaya leyendo y discriminas lo que quieres leer y lo que no.
  #3 (permalink)  
Antiguo 05/03/2011, 03:42
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Como hago para leer una parte del texto

Hola, lo que pretendes es realmente sencillo son un simple bucle y un Flag de control de inicio de datos correctos, pero deberías indicar que es lo que tienes hecho ya que no se puede adivinar lo que pretendes hacer con el texto leido ni donde quieres guardarlo.
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #4 (permalink)  
Antiguo 06/03/2011, 02:45
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como hago para leer una parte del texto

Si el comentario esta en varias lineas como en el ejemplo, esta funcion deberia servir, aunque algo excesiva en detalles, se puede reducir quitando opciones
.
Para quien quiera aprender os pongo unos comentarios con lo que va haciendo.

Código vb:
Ver original
  1. Function ExtraeComentarioL(ByVal sTexto As String, Optional ByVal sIniCom As String = "<!-- COMENTARIO -->", Optional ByVal sFinCom As String = "<!-- FIN COMENTARIO -->", Optional ByVal SensibleMayMin As Boolean = True) As String
  2.   Dim F As Long ' variable para los bucles for next
  3.  Dim MatrizU() As String ' creamos una matriz de tamaño variable
  4.  Dim MatrizR() As String ' creamos OTRA matriz de tamaño variable
  5.  
  6.   MatrizR = Split(sTexto, vbCrLf) ' cargamos la matriz REAL con las lineas del texto NORMAL. cada linea se convierte en un elemento de la matriz.
  7.  
  8.   If SensibleMayMin = False Then ' si no hay que distinguir entre mayusculas/minusculas...
  9.    sIniCom = UCase$(sIniCom) ' lo pasamos todo a...
  10.    sFinCom = UCase$(sFinCom) ' mayusculas para hacer las...
  11.    sTexto = UCase$(sTexto) ' comparaciones insensibles a may/min.
  12.    MatrizU = Split(sTexto, vbCrLf) ' cargamos la matriz UCASE con las lineas del texto EN MAYUSCULAS. cada linea se convierte en un elemento de la matriz.
  13.  
  14.   Else ' si hay que ser sensible a may/min...
  15.    MatrizU = Split(sTexto, vbCrLf) ' cargamos la matriz UCASE con las lineas del texto NORMAL. cada linea se convierte en un elemento de la matriz.
  16.  End If
  17.  
  18.   If InStr(1, sTexto, sIniCom) Or sIniCom = "" Then ' si existe el texto inicial dentro del texto completo o no hay texto inicial que buscar...
  19.    
  20.     If sIniCom <> "" Then ' si el texto inicial no es una cadena en blanco...
  21.      For F = 0 To UBound(MatrizU) ' buscamos la linea con ese texto entre los elementos de la matriz.
  22.        If MatrizU(F) = sIniCom Then Exit For ' si encontramos la linea con el texto inicial salimos del bucle for next
  23.      Next F ' vamos comprobando todos los elementos
  24.    
  25.     Else ' si el texto inicial es una cadena en blanco...
  26.      F = -1 ' vamos a capturar todas las líneas desde el comienzo hasta el texto final si existe, y si no existe, hasta el fin del texto completo
  27.    End If
  28.    
  29.     If F < UBound(MatrizU) Then ' si hemos buscado el texto inicial y lo hemos encontrado en la matriz, F tendra un valor inferior al ubound de la matriz.
  30.      For F = F + 1 To UBound(MatrizU) ' de modo que capturamos elementos desde F+1 en adelante. recordaremos que F es el indice del elemento de la matriz que contiene el texto inicial, asi que capturamos desde el siguiente elemento en adelante.
  31.        
  32.         If MatrizU(F) = sFinCom Then Exit For ' si llegamos al "fin de comentario" dejamos de capturar elementos y se acaba la funcion devolviendo el texto capturado.
  33.        
  34.         If ExtraeComentarioL <> "" Then ExtraeComentarioL = ExtraeComentarioL & vbCrLf ' si no es la primera captura le añadimos un salto de linea para separar los elementos capturados
  35.        
  36.         ExtraeComentarioL = ExtraeComentarioL & MatrizR(F) ' y añadimos el elemento (F) actual DE LA MATRIZ REAL a la cadena que devolveremos al salir de la funcion. Asi el texto devuelto es el original, y no el que se ha podido pasar antes a mayusculas.
  37.      
  38.       Next F ' y asi hasta encontrar el fin de comentario o llegar al final del texto si sFinCom = "" o no se encuentra el texto final indicado.
  39.    
  40.     End If
  41.  
  42.   End If
  43.  
  44. End Function
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:24.