FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problemas al guardar datos en un archivo.
Hola de nuevo, el motivo de mi consulta es que tengo un array del que guardo los datos en un archivo por medio de un procedimiento, pero no los guarda como yo quiero, especifico, cuando me guarda los datos me los guarda en el archivo con un cuadrado transparente separando cada valor del array y ni siquiera sé que código ASCII tiene. Mi intención es que me separe los valores del Array por otro carácter (me da igual cual) o que no me los separe. Por otra parte quisiera que cuando acaba de grabar todos los valores de un Array (Array[1].Nombre, Array[1].Apellidos...) cuando acabe y antes de pasar al siguiente (Array[2].Nombre, Array[2].Apellidos...) me ponga un retorno de carro al final.
Código:
procedure TPagesDlg.guardadades; Var F: file of TUsuari; I:Integer; begin AssignFile(F,'Usuari.txt'); Rewrite(F); For I:=Low(Usuari) to High(Usuari) do Write(F,Usuari[i]); CloseFile(F); end;
__________________
"La perseverancia es el camino del éxito" |
#2
|
|||
|
|||
Delimitar linea.
Hola, sigo dándole vueltas al caso anterior y no encuentro la manera. Tengo muchas dudas, pero sobre todo:¿Cómo puedo hacer para indicarle hasta cuando quiero que me grabe en una línea del archivo?. Muchas gracias por vuestra ayuda.
__________________
"La perseverancia es el camino del éxito" |
#3
|
||||
|
||||
La verdad, creo que te estas complicando la vida, que más dá como se guarden los datos, siempre y cuando se guarden y recuperen bien desde el programa.
Es más, en tu caso, guardaría el TRecord al completo, en lugar de guardar linea a linea. LA VENTAJA: con una linea de código ya tienes leido todo el registro. Por otra parte, si dejas el archivo como texto, cualquiera lo puede modificar, y como no sabe como funciona el programa, puede dejar retornos de carro sobrantes / de falta, haciendo que falle tu programa. Un saludo |
#4
|
|||
|
|||
Sigue dando problemas.
Gracias Lepe, tu consejo de antes me ha servido de mucho, el problema que tengo ahora es que al guardarse el array al archivo me sobreescribe los datos. He probado con poner un Append (pero me da error)...., llevo toda la mañana con la historia de grabar arrays en archivo que hasta ahora me iba bien, pero eso de utilizar el mismo archivo para 2 programas y cargarlos en array y tener que guardarlos del Array, uffffffffffffffffff....
Código:
procedure TPagesDlg.guardadades; Var F: file of TUsuari; I:Integer; s:String; begin AssignFile(F,'c:\Usuari.txt'); Rewrite(F); For I:=Low(Usuari) to High(Usuari) do Write(F,Usuari[i]); CloseFile(F); end;
__________________
"La perseverancia es el camino del éxito" |
#5
|
|||
|
|||
Ha!, se me olvidaba.
Muchas gracias por cualquier ayuda o aportación.
__________________
"La perseverancia es el camino del éxito" |
#6
|
||||
|
||||
Algo así ??
Saludos |
#7
|
|||
|
|||
Sigue el mismo problema.
He incluido la función Seek pero es igual, sigue sobrescribiendo el archivo. Gracias.
__________________
"La perseverancia es el camino del éxito" |
#8
|
||||
|
||||
Upps, me pasé de listo, el problema está en el Rewrite:
Cita:
|
#9
|
||||
|
||||
Me queda una duda, que en la ayuda no lo dice, despues de usar AssignFile, el descriptor del archivo donde queda?, al principio, en medio, al final ???
Lo mejor es asegurarse: Saludos Última edición por Lepe fecha: 26-03-2005 a las 13:56:19. |
|
|
|