PDA

Ver la Versión Completa : Guardar y recuperar


noipa
06-02-2006, 23:09:20
hola!
Tengo un Form con una serie de elementos:
Tedit,TMemo... Quisiera saber como hago para guardarlos toso en un archivo y tener la opcion de recuperar esos datos posteriormente, y q cada uno salga en su lugar original.Nose si me explico
gracias

vtdeleon
07-02-2006, 00:17:21
Nose si me explicoNo, no entiendo.

Chequea esta componente de la pagina de Neftali, a ver si te sirve:
http://neftali.clubdelphi.com/delphi_componentes.html#TSaveCompos_1.2

xavinet
07-02-2006, 14:32:53
Hola noipa!

A lo mejor algo así ya te servirá:


procedure Guardar(NombreFichero : string);
var
FicheroIni : TMemIniFile;
i : Integer;
Componente : TComponent;
begin
FicheroIni:= TMemIniFile.Create(NombreFichero);
try
// recorres todos los componentes
for i := 0 to (ComponentCount - 1) do begin
begin
Componente := Components[i]; // Componente actual
// haces el tratamiento de los componentes y sus propiedades
// ves guardando en el fichero ini lo que te interese de cada componente
FicheroIni.WriteString(...);
end;
FicheroIni.UpdateFile;
finally
FicheroIni.Free;
end;
end;

procedure Recuperar(NombreFichero : string);
var
FicheroIni : TMemIniFile;
Lista : TStringList;
Componente : TComponent;
i : Integer;
begin
FicheroIni := TMemIniFile.Create(NombreFichero);
try
Lista := TStringList.Create;
try
FicheroIni.ReadSections(Lista); // lista de todo lo guardado en el archivo.ini
for index := 0 to ListaItems.Count - 1 do
begin
// lees todas la variables que hayas guardado
FicheroIni.ReadString(...);
// o
FicheroIni.ReadInteger(...):
// etc, segun te convenga
end;
finally
if Assigned(Lista) then FreeAndNil(Lista);
end;
for i := 0 to (ComponentCount - 1) do
begin
Componente := Components[i]; // Componente actual
// haces el tratamiento de los componentes y sus propiedades
end;
finally
FicheroIni.Free;
end;
end;


suerte!

pd: el código es una pauta no una plantilla, habrá que currarselo un poco, lo siento ;P
pd: si no has trabajado nunca con componentes alomejor podría especificar un poco más, tu dirás

kalimero
07-02-2006, 14:46:21
Hola.
Yo tampoco entiendo lo que intentas decir. Pero en principio para eso tenmos los dfm ¿no?

Saludos