Bucle Do Until ... Loop

28/10/2004 - 12:09 por Marcos Caballero | Informe spam
Buenos Días compañeros:

Como puedo optimizar la siguiente funcion?? si omito el primer IF del bucle
DO, me da un error al llegar a la ultima linea del fichero de texto.

Private Function AnalizarFicheroLog()
Dim ArchivoLog As StreamReader
Dim FicheroLog As String 'Donde guardaremos el nombre del fichero
del log
Dim LineaLog As String
Dim contador As Int32
contador = 0
'FicheroLog = "U:" & RutaLog & "\" & Trim(ComponerNbFichero)
FicheroLog = "C:\20041020.log"
ArchivoLog = File.OpenText(FicheroLog)
Do
LineaLog = ArchivoLog.ReadLine()
' analizar linea requerida
contador = contador + 1
If LineaLog Is Nothing Then
Exit Do
End If
If LineaLog.IndexOf("assigned") > -1 Then
DescomponerLinea(LineaLog)
End If
Loop Until LineaLog Is Nothing
ArchivoLog.Close()
End Function


gracias

Preguntas similare

Leer las respuestas

#1 Fco. Javier Bedoya
30/10/2004 - 16:44 | Informe spam
Hola :
Prueba con esto, a ver que tal.

Private Sub AnalizarFicheroLog()
Dim ArchivoLog As New StreamReader("C:\20041020.log")
Dim LineaLog As String
Dim contador As Int32 = 0

ArchivoLog = File.OpenText(FicheroLog)
LineaLog = ArchivoLog.ReadLine()
While (LineaLog is nothing)
contador =+ 1
If LineaLog.IndexOf("assigned") > -1 Then
DescomponerLinea(LineaLog)
End If
LineaLog = ArchivoLog.ReadLine()
Wend
ArchivoLog.Close()
End Sub

Por cierto, tu función no devuelve ningún valor, así que la he convertido en
un procedimiento ;)

Un saludo.


Javier Bedoya.
Web : http://javierbedoya.iespana.es
Para responder a mis mensajes de las usenet quitar de mi dirección
de correo.

"Marcos Caballero" escribió en
el mensaje news:
Buenos Días compañeros:

Como puedo optimizar la siguiente funcion?? si omito el primer IF del
bucle
DO, me da un error al llegar a la ultima linea del fichero de texto.

Private Function AnalizarFicheroLog()
Dim ArchivoLog As StreamReader
Dim FicheroLog As String 'Donde guardaremos el nombre del fichero
del log
Dim LineaLog As String
Dim contador As Int32
contador = 0
'FicheroLog = "U:" & RutaLog & "\" & Trim(ComponerNbFichero)
FicheroLog = "C:\20041020.log"
ArchivoLog = File.OpenText(FicheroLog)
Do
LineaLog = ArchivoLog.ReadLine()
' analizar linea requerida
contador = contador + 1
If LineaLog Is Nothing Then
Exit Do
End If
If LineaLog.IndexOf("assigned") > -1 Then
DescomponerLinea(LineaLog)
End If
Loop Until LineaLog Is Nothing
ArchivoLog.Close()
End Function


gracias

Respuesta Responder a este mensaje
#2 Pedro Luna Montalvo, MVP
30/10/2004 - 16:50 | Informe spam
Hmmmla siguiente linea:

While (LineaLog is nothing)



no deberia ser??

While Not (LineaLog is nothing)



Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu
Respuesta Responder a este mensaje
#3 Fco. Javier Bedoya
30/10/2004 - 18:14 | Informe spam
Upsss, cierto, una coladita ;)
Gracias.


Javier Bedoya.
Web : http://javierbedoya.iespana.es
Para responder a mis mensajes de las usenet quitar de mi dirección
de correo.

"Pedro Luna Montalvo, MVP" escribió en
el mensaje news:evqOL$
Hmmmla siguiente linea:

While (LineaLog is nothing)



no deberia ser??

While Not (LineaLog is nothing)



Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida