Ver Mensaje Individual
  #20  
Antiguo 02-06-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JuancaDJ.

Otra opción que podrías considerar es usar un TClientDataSet en memoria y manejarlo como si estuviera conectado a una bd usando los métodos LoadFromFile y SaveFromFile para plasmar y recuperar los datos en tu archivo.

Te pongo un ejemplo básico del control de ingreso:
Código Delphi [-]
...
implementation

var
  gFileName : string;

procedure TForm1.FormCreate(Sender: TObject);
var
  fld: TField;
  cds: TClientDataSet;
begin
  cds := ClientDataSet1;

  // ~ (*)
  fld := TStringField.Create(cds);
  fld.FieldName := 'NAME';
  fld.DataSet   := cds;
  fld := TStringField.Create(cds);
  fld.FieldName := 'PASSWORD';
  fld.DataSet   := cds;
  // ~

  cds.CreateDataSet;
  gFileName := ExtractFilePath(Application.ExeName) + 'ARCHIVO.CDS';
  if FileExists(gFileName) then
    cds.LoadFromFile(gFileName);
  cds.Open;
end;

procedure TForm1.btnAceptClick(Sender: TObject);
begin
  if not ClientDataSet1.Locate('NAME', EditName.Text, []) then
    raise Exception.Create('Nombre de usuario inexistente');

  if EditPassword.Text <> ClientDataSet1.FieldByName('PASSWORD').AsString then
    raise Exception.Create('Contraseña incorrecta');
  //...
  ShowMessage('¡ Bienvenido !');
end;

//....
procedure TForm1.FormDestroy(Sender: TObject);
begin
  ClientDataSet1.SaveToFile(gFileName);
end;
(*) los campos podes crearlos en tiempo de diseño pero lo hice en ejecución para clarificar.

Me valí de Edits para simplificar el ejemplo, pero no tendrías problemas en beneficiarte usando los controles de la pestaña DataControls como si el CDS estuviese conectado con una BD.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita