[Duda] Problema con archivos

Iniciado por Dreamaker, 20 Octubre 2010, 04:45 AM

0 Miembros y 1 Visitante están viendo este tema.

Dreamaker

Bueno chicos la verdad es que recién estoy empezando a ver archivos, por lo que me cuesta todavía, lo que quiero hacer es un programa como el siguiente:



Quiero que vaya cargando los datos en un archivo aleatorio, y la primera vez lo ponga en la primera línea del archivo, la segunda vez que coloca datos en la línea siguiente (la segunda) y así sucesivamente

Este es el código que tengo pero no me funciona (aparte la edad en el archivo se ve mal, se ve así)

Código (vb) [Seleccionar]

Public Type Persona
   Nombre As String * 10
   Apellido As String * 10
   Edad As Byte
End Type

Private Sub cmdAceptar_Click()

Dim Alumno As Persona
Static i As Byte: i = 1

Open App.Path + "\datos.dat" For Random As #1 Len = Len(Alumno)

Alumno.Nombre = txtNombre.Text
Alumno.Apellido = txtApellido.Text
Alumno.Edad = txtEdad.Text

Put #1, i, Alumno

Close #1

i = i + 1

End sub


Alguien me puede decir como hago que me grabe los datos una línea abajo de otro y por qué los números se me ven en el archivo como puse en la imagen??

Gracias! :D

Once

¿Te sirve esto?

Código (vb) [Seleccionar]

  Open "C:\prueba1.txt" For Append As #1
     Print #1, Nombre
     Print #1, Apellido
     Print #1, Tel
  Close


Saludos.

Dreamaker

Claro pero eso no es acceso aleatorio, yo lo que ando buscando es poder hacerlo con archivos de acceso aleatorio

Gracias igual! A ver si alguien me puede dar una mano :-\

Once

ok, omiti esa parte del acceso aleatorio,

prueba con esto:

Código (vb) [Seleccionar]

Private Sub Command2_Click()
FF = FreeFile
   Open "C:\datos.dat" For Random As FF Len = 255
      Get FF, Num, Alumno
      Me.TxtApellido = Alumno.Apellido
      Me.TxtEdad = Alumno.Edad
      Me.TxtNombre = Alumno.Nombre
   Close
End Sub


esto es para leer lo que esta en el .dat

Tal parece que no importa como quede guardado,siempre y cuando leas este archivo tambien de forma aleatoria.

Saludos.