Ver Mensaje Individual
  #8  
Antiguo 21-06-2005
Avatar de Crazyro
Crazyro Crazyro is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 14
Reputación: 0
Crazyro Va por buen camino
Además de guardar los datos del user y pass en el fichero, deberías guardar una opción que te diga si se guardan o no desde la última vez, para que cuando ejecutes la aplicación primero veas si tiene que estar el check activo, si es así, recoge los datos del user y pass, si desmarcas esta opción deberías guardarla tambien el en txt, para que a la proxima vez que ejecutes la aplicación, no introduzca los datos.

// Para guardar los datos cuando haces click en recordar los datos

procedure TfrmPrincipal.recordarClick(Sender: TObject);
var
fText : TextFile;
fFichero : String; // Nombre del fichero
lFichero : String; // Linea del fichero
bEstado : Boolean; // Si está o no marcada la opción de guardar los datos

begin
Try
lFichero := ' ';
fFichero := 'Nombrefichero.txt' // Con la ruta claro...;-)

AssignFile(fText, fFichero);
Rewrite(fText);


if checkbox.enabled then begin
bEstado := 'T';
// Los ';' son para separar los datos en el fichero
sFichero := bEstado + ';' + edUser.Text + ';' + edPass.Text;
end else begin
bEstado := 'F';
sFichero := bEstado;
end;

Writeln(fText, sFichero);
CloseFile(fText);
except
MessageDlg('Error en el fichero de user', mtConfirmation, [mbYes], 0);
CloseFile(fText);
end;

end;

// Este código se debería poner antes de realizar el application.run
// Jugamos con las mismas variables de antes

AssignFile(fText, fFichero);
Reset(fText);
Readln(fText, sLinea);

// en sLinea tenemos la linea que guardamos la última vez, lo que hay que
// buscar, si el primer caracter es 'T' ó 'F', para seguir o no
// Crearse una función que busque el caracter ';' en la linea sLinea
// cuidado, si hay ';', porque puede ser el primero ; o él último eso
// hay que controlarlo.

nPos := buscar(sLinea, ';');

if nPos = 0 then begin
// no hay ; esto es que no se quiso guardar
end else begin
// hay ; pues recoger todos los datos del user y pass, y marcar el clic como
// activo
end;

CloseFile(fText);



Espero que te haya servido, lo hice rapido y no se si le falta algún control, o que?

salu2.
__________________
Te va a faltar cielo para dar vueltas... by Calico.
Responder Con Cita