Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 11-jun-2008, 11:40   #1 (permalink)
german_martin ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2006
Mensajes: 11
Leer una linea completa de un archivo de texto

Estimados,
Actualmente estoy haciendo una aplicacion en VB.2005 que busca en unos archivos txt la palabra error. Pero lo que yo necesito es que me devuelva la linea completa donde esta la palabra error, tambien (si se puede) que me devuelva la linea anterior y posteror.

Muchas gracias!!


Por las dudas les dejo mi humilde codigo:

Try
'Lo siguiente Busca en un directorio archivos que contengan una cadena de texto determinada


Dim Archivo As System.Collections.ObjectModel.ReadOnlyCollection( Of String)
' busca "Error" en un solo nivel ( SearchTopLevelOnly ) en el directorio c:
Archivo = My.Computer.FileSystem.FindInFiles( _
"C:\Utiles\LOGS", _
"Error", _
True, _
FileIO.SearchOption.SearchTopLevelOnly)
' recorre la lista
For Each name As String In Archivo
' Agrega
ListBox1.Items.Add(name)
Next
' error
Catch oe As Exception
MsgBox(oe.Message, MsgBoxStyle.Critical)
End Try
german_martin está desconectado   Responder Citando
Antiguo 11-jun-2008, 11:49   #2 (permalink)
Peterpay tiene algunos puntos positivos de karma
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 2.032
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Respuesta: Leer una linea completa de un archivo de texto

streamreader leer=new StreamReader(file);
string linea=leer.ReadLine();
while(linea!=null)
{
if(linea.Contains("error") )
return linea;
linea=leer.ReadLine();

}
__________________
Saludos
Peterpay
MCPD EAD
Directorio Gratuito
Peterpay está desconectado   Responder Citando
Antiguo 11-jun-2008, 12:01   #3 (permalink)
german_martin ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2006
Mensajes: 11
Respuesta: Leer una linea completa de un archivo de texto

Muchas gracias peterpay!!
Pero en visual 2005 no lo sabras no?
Soy novatito en todo esto :)
german_martin está desconectado   Responder Citando
Antiguo 11-jun-2008, 12:08   #4 (permalink)
Peterpay tiene algunos puntos positivos de karma
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 2.032
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Respuesta: Leer una linea completa de un archivo de texto

pues no hay mucho cambio

Dim line As String
Dim leer As System.IO.StreamReader = New System.IO.StreamReader(ruta)
line = leer.ReadLine()
While line <> Nothing
If line.Contains("error") Then
Return line
End If
line = leer.ReadLine()
End While
leer.Close()
__________________
Saludos
Peterpay
MCPD EAD
Directorio Gratuito
Peterpay está desconectado   Responder Citando
Antiguo 11-jun-2008, 12:27   #5 (permalink)
german_martin ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2006
Mensajes: 11
Respuesta: Leer una linea completa de un archivo de texto

muchas gracias!
ahi mas o menos pude entender ademas busque en el msdn como se usa el streamreader.
Ahora solo me queda una cosa, en la linea de Return me devuelve:
Return statement in a sub or a set cannot return a value

tu sabes que puede ser?
german_martin está desconectado   Responder Citando
Antiguo 11-jun-2008, 12:29   #6 (permalink)
Peterpay tiene algunos puntos positivos de karma
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 2.032
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Respuesta: Leer una linea completa de un archivo de texto

porq en tu sub no tienes un parametro de retorno te falta agregarle

sub ...... as String
......
end sub
__________________
Saludos
Peterpay
MCPD EAD
Directorio Gratuito
Peterpay está desconectado   Responder Citando
Antiguo 11-jun-2008, 12:44   #7 (permalink)
german_martin ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2006
Mensajes: 11
Respuesta: Leer una linea completa de un archivo de texto

Sip el SUB etc etc esta.
Lo que tuve que hacer fue dejar el Return solo quedando algo asi.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim stringReader As String
Dim fileReader As System.IO.StreamReader
fileReader = My.Computer.FileSystem.OpenTextFileReader("C:\Util es\prueba.txt")
stringReader = fileReader.ReadLine()
While stringReader <> Nothing
If stringReader.Contains("ERROR") Then
Return
End If
stringReader = fileReader.ReadLine()
Label1.Text = ("aca hay error " & stringReader)
End While


fileReader.Close()

End Sub



MUCHAS GRACIAS!!!
Saludos a Mexico desde Argentina y sus paros agropecuarios alpedisimos.
german_martin está desconectado   Responder Citando
Antiguo 11-jun-2008, 13:23   #8 (permalink)
german_martin ha deshabilitado el karma
 
Fecha de Ingreso: septiembre-2006
Mensajes: 11
De acuerdo Respuesta: Leer una linea completa de un archivo de texto

Ahora lo que me pasa es que cuando pasa por un renglon vacio, ej:

====
HOLA
====
<--------- (este es renglon vacio)

El mundo se esta recalentando


el While sale, se termina...
Lo voy a investigar esta noche pero si se te ocurre algo rapido te lo agradeceria.
Que termines bien el miercoles


German
german_martin está desconectado   Responder Citando
Antiguo 11-jun-2008, 13:34   #9 (permalink)
Peterpay tiene algunos puntos positivos de karma
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 2.032
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Respuesta: Leer una linea completa de un archivo de texto

podrias hacer mientras While(reader.Read()) o alguna condicion referente al fin de archivo y no a la nulidad.
__________________
Saludos
Peterpay
MCPD EAD
Directorio Gratuito
Peterpay está desconectado   Responder Citando
Antiguo 16-jun-2008, 10:39   #10 (permalink)
SOFT2k ha deshabilitado el karma
 
Avatar de SOFT2k
 
Fecha de Ingreso: junio-2008
Mensajes: 5
Respuesta: Leer una linea completa de un archivo de texto

Podrías hacer:

Using Lector As New StreamReader("Ruta y nombre del archivo")
Dim Linea As String

While Lector.EndOfStream = False
Linea = Lector.ReadLine()
If Linea.Contains("ERROR") Then
'acá podes llamar a una función que haga algo
End If
End While

End Using
SOFT2k está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:53.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93