La lectura no es más complicada, claro, partiendo del supuesto de lo que se puede grabar, no puede ser mucho más compleja.
Module Ejemplo
Sub main()
Dim Canal As Int16 = FreeFile()
Dim Nombre As String = "Prueba.Txt"
Console.WriteLine()
Console.WriteLine("Probamos a leer un archivo secuencial ")
FileOpen(Canal, Nombre, OpenMode.Input)
Do While Not EOF(Canal)
Input(Canal, Valor)
Console.WriteLine("Leído {0} ", Valor)
Loop
' Cierre del Archivo
FileClose(Canal)
End Sub
End Module
Dim Canal As Int16 = FreeFile()
Dim Nombre As String = "Prueba.Txt"
Utilizamos las mismas instrucciones que antes, pero para la lectura abrimos el archivo en modo lectura, entrada.
FileOpen(Canal, Nombre, OpenMode.Input)
Solo nos queda establecer una estructura repetitiva
Console.WriteLine("Probamos a leer un archivo secuencial ")
Do While Not EOF(Canal)
Input(Canal, Valor)
Console.WriteLine("Leído {0} ", Valor)
Loop
Se ejecuta el While mientras haya datos en el archivo.
Para que todo funcione correctamente, a las clases importadas anteriormente hay que sumar ahora
Además para que todo lo visto, tanto en lectura como en escritura, funcione adecuadamente conviene establecer una captura de errores, por lo que todo lo expuesto debería ir entre
try
‘ todo el ejemplo visto anteriormente
catch Ex as Io.Ioexception
Console.WriteLine("Error en acceso al archivo")
End try
Como se puede apreciar al inicio del ejemplo.
Cerrar el archivo solo precisa de la utilización del método close.
FileClose(Canal)
Mientras la instrucción de grabar
WriteLine(Canal, Valor) ‘ con marca fin de registro
Permite que en la misma línea de código se graben varios campos
WriteLine(Canal, Codigo, Denominación, Cantidad)
Su equivalente en lectura no lo permite ya que solo admite un campo en cada instrucción, por lo tanto la lectura para
WriteLine(Canal, Codigo, Denominación, Cantidad)
sería
Input(Canal, Codigo)
Input(Canal, Denominacion)
Input(Canal, Cantidad)
Una línea para cada campo.
![]() |
Síguenos en: Facebook Sobre aulaClic Política de Cookies