Visual Basic - Como guardar y leer de un TXT

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 27 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Como guardar y leer de un TXT

Publicado por J@m (195 intervenciones) el 27/09/2004 19:52:17
Como puedo guardar datos en un archivo .txt y como puedo leer esos datos desde VB. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como guardar y leer de un TXT

Publicado por miguel (1042 intervenciones) el 27/09/2004 20:29:19
Para Guardar:
Sub Guardar()
Open "C:\MiArchivo.txt" For Output As #1
Print #1, "Ok esta es mi primera linea"
Print #1, "Ok esta es mi segunda linea"
Print #1, "Ok esta es mi tercera linea"
Close #1
End Sub
Para Leerlo:
Sub Leer()
Dim a As String
Open "C:\MiArchivo.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, a
Text1=Text1& a
Loop
Close #1
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Parte 1

Publicado por Ruri (583 intervenciones) el 01/10/2004 02:39:25
Te paso algunos ejemplos de como utilizar el Scripting
Object para escribir texto. Está la instrucción Print,
pero me gusta más el Scripting. Para utilizarlo tenés
que agregar en las referencias (menú
proyecto\referencias) al Microsoft Scripting Runtime,
Buscalo en la lista. Si no está utilizá el botón
examinar y en System o System32 buscá scrrun.dll
(viene con Internet explorer 5 o superior, es opcional
en IE 4) se puede redistribuir sin problemas.

Option Explicit
DefLng A-Z

Private Sub cmdAbrir_Click()
On Error GoTo Salida
'Objeto scripting
Dim fso As Scripting.FileSystemObject, TxtStm As
Scripting.TextStream
Set fso = New FileSystemObject
'Abre el archivo de texto, si no existe lo crea
Set TxtStm = fso.OpenTextFile("C:\x.txt",
ForAppending, True)
'Guarda una cadena en el archivo
TxtStm.WriteLine "hola mundo"
Salida:
TxtStm.Close
Set TxtStm = Nothing
Set fso = Nothing
If Err.Number <> 0 Then MsgBox Err.Description,
vbInformation, App.Title & " - Error de escritura"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Parte 2

Publicado por Ruri (583 intervenciones) el 01/10/2004 02:41:11

Private Sub cmdBorrarCrear_Click()
On Error GoTo Salida
'Objeto scripting
Dim fso As Scripting.FileSystemObject, TxtStm As
Scripting.TextStream
Set fso = New FileSystemObject
'Abre el archivo de texto, si existe lo borra
Set TxtStm = fso.CreateTextFile("C:\x.txt", True)
'Guarda una cadena en el archivo
TxtStm.WriteLine "hola mundo"
Salida:
TxtStm.Close
Set TxtStm = Nothing
Set fso = Nothing
If Err.Number <> 0 Then MsgBox Err.Description,
vbInformation, App.Title & " - Error de escritura"
End Sub

Private Sub cmdLeer_Click()
'Objeto scripting
Dim fso As Scripting.FileSystemObject, TxtStm As
Scripting.TextStream
Set fso = New FileSystemObject
'Abre el archivo de texto, si no existe lo crea
Set TxtStm = fso.OpenTextFile("C:\x.txt",
ForReading, True)
'Lee el archivo desde la primera a la última línea
Do
Debug.Print TxtStm.ReadLine 'Imprime el
resultado en la ventana de depuración (CTRL +G, hay
que redimensionarla)
Loop Until (TxtStm.AtEndOfStream) 'AtEndOfStream
es el final del archivo
Salida:
TxtStm.Close
Set TxtStm = Nothing
Set fso = Nothing
If Err.Number <> 0 Then MsgBox Err.Description,
vbInformation, App.Title & " - Error de lectura"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE: Parte 3

Publicado por Ruri (583 intervenciones) el 01/10/2004 02:42:20

Private Sub Command1_Click()
'Objeto scripting
Dim fso As Scripting.FileSystemObject, TxtStm As
Scripting.TextStream
Set fso = New FileSystemObject
'Abre el archivo de texto, si no existe lo crea
Set TxtStm = fso.OpenTextFile("C:\x.txt",
ForAppending, True)
'Variables necesarias c1 as string, c2 as string
With Data1.Recordset
If .RecordCount < 1 Then GoTo Salida ' Me
deschabé, provengo de la época del QBasic
'Llena el recordset
.MoveLast
.MoveFirst
Dim k As Long, c1 As String, c2 As String
Const Separador As String = " " 'Yo
prefiero separar con tabulaciones (vbTab=CHR$(9))
For k = 1 To .RecordCount
c1 = String(20, " ") 'cadena con 20
espacios
c2 = String(255, " ") 'cadena con 255
espacios
LSet c1 = .Fields("Nombre").Value 'Alinea
el texto a la izquierda
LSet c2 = .Fields("Ubicacion").Value
'Alinea el texto a la izquierda
'Guarda la cadena en el archivo
TxtStm.WriteLine c1 & Separador & c2
'Busca el siguiente registro
.MoveNext
Next k
End With
Salida:
TxtStm.Close
Set TxtStm = Nothing
Set fso = Nothing

End Sub

Espero que te sean útiles

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar