Tengo esto :
6 cajas de texto en 3 de ellas inreso nombre apellido y edad y en las otras 3 muestro los resultados de mi archivo.
este es el codigo:
Private Type T_Registro
nombre As String * 20
apellido As String * 20
edad As String * 20
End Type
Dim registro As T_Registro
Private Sub Command1_Click()
Open "personas.txt" For Random As #1
registro.nombre = Text1.Text
registro.apellido = Text2.Text
registro.edad = Text3.Text
Put #i, 1, registro
Close #1
End Sub
Private Sub Command2_Click()
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
End Sub
Private Sub Command3_Click()
Open "personas.txt" For Random As #1
Put #1, 1, registro
Text4.Text = registro.nombre
Text5.Text = registro.apellido
Text6.Text = registro.edad
Close #1
End Sub
ahora mi duda es la siguiente se guardan en el archivo personas.txt pero si agrego otro se me borra el que tenia anteriormente y me deja el actual y yo quiero que el archivo me vaya guardando todos los usuarios que ingreso .
alguien que me ayude con esto porfavor o me de una idea bueno gracias saludos.
Put #i, 1, registro
reemplaza el 1 x el numero de registros,. si pones el ultimo numemro escribir al final del archivo
elmaro seria algo como esto o no?:
contador.
i=1
y el put quedaria de esta forma:
put #1,i,registro
y abajo de esto iria:
i=i+1
algo haci seria? porque si es haci no me resulta =P
tienes que cambiar el modo de acceso RANDOM por APPEND.
Como sabrás, los modos de acceso son los que determinan la forma en que serán agregadas las nuevas líneas. Ellos son: bianry, ramdom y append.
Si te interesa saber más me puedes contactar con toda tranquilidad ;D
si pero para acer ese tipo de trabajo se utiliza la opcion RANDOM ., ya que despues tiene que acceder a los datos guardados,. y para eso utiliza variables de tamaño especifico
utilis esto para saber el numero de rejistros y posisionarte en el ultimo
On Error Resume Next
Close
Open "personas.txt" For Random As #1 Len = 60 'este numero es la cantidad de caracteres que le reservas(20+20+20=60)
LONGITUDFICH = LOF(1)
NUMREGS = LONGITUDFICH / 60 ' el mismo numero
RegEscribir = NUMREGS + 1
ahora para escribir en el ultimo registro seria...
Put #i, RegEscribir, registro
espero que te sirva,. no lo he probado el codigo ,. pero supongo que funciona xq lo sake de una aplicacion que yo hize hace unos años
suerte man
El MaRo!
gracias.