Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Dreamaker en 20 Octubre 2010, 04:45 am



Título: [Duda] Problema con archivos
Publicado por: Dreamaker en 20 Octubre 2010, 04:45 am
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:

(http://i54.tinypic.com/2ywy4v9.jpg)

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í (http://i56.tinypic.com/2hfkz1j.jpg))

Código
  1. Public Type Persona
  2.    Nombre As String * 10
  3.    Apellido As String * 10
  4.    Edad As Byte
  5. End Type
  6.  
  7. Private Sub cmdAceptar_Click()
  8.  
  9. Dim Alumno As Persona
  10. Static i As Byte: i = 1
  11.  
  12. Open App.Path + "\datos.dat" For Random As #1 Len = Len(Alumno)
  13.  
  14. Alumno.Nombre = txtNombre.Text
  15. Alumno.Apellido = txtApellido.Text
  16. Alumno.Edad = txtEdad.Text
  17.  
  18. Put #1, i, Alumno
  19.  
  20. Close #1
  21.  
  22. i = i + 1
  23.  
  24. End sub
  25.  

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


Título: Re: Problema con archivos
Publicado por: Once en 20 Octubre 2010, 06:35 am
¿Te sirve esto?

Código
  1.   Open "C:\prueba1.txt" For Append As #1
  2.      Print #1, Nombre
  3.      Print #1, Apellido
  4.      Print #1, Tel
  5.   Close
  6.  

Saludos.


Título: Re: Problema con archivos
Publicado por: Dreamaker en 20 Octubre 2010, 07:08 am
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 :-\


Título: Re: [Duda] Problema con archivos
Publicado por: Once en 20 Octubre 2010, 07:47 am
ok, omiti esa parte del acceso aleatorio,

prueba con esto:

Código
  1. Private Sub Command2_Click()
  2. FF = FreeFile
  3.   Open "C:\datos.dat" For Random As FF Len = 255
  4.      Get FF, Num, Alumno
  5.      Me.TxtApellido = Alumno.Apellido
  6.      Me.TxtEdad = Alumno.Edad
  7.      Me.TxtNombre = Alumno.Nombre
  8.   Close
  9. End Sub
  10.  

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.