Veo que no has logrado solucionar tu problema, algo que a muchos nos puso alguna vez de cabeza. Te incluyo el código que yo uso en mis aplicaciones, aportado hace mucho tiempo por
Caral,que funciona de maravillas.
Primero debes tener una base de datos con una tabla llamada usuarios, que contenga los campos nombre ( string o varchar = 40) y clave ( string o varchar = 20). En el form del login que llamarás FLogin debes poner un edit para el nombre que llamarás EUsuario y otro para la clave que llamaras EClave. Colocarás dos buttons, Ok y Cancel y un Query que llamarás ADLogin, conectado al datasource de la tabla usuarios. En el string del Query debes colocar la siguiente consulta sql:
Código SQL
[-]Select nombre, clave
From usuarios
y utilizar el siguiente código en el Form de tu login
Código Delphi
[-]var
FLogin: TFLogin;
Usuario, Nombre : String;
LoginOK : boolean;
consulta : string;
msg : String;
cuenta: Integer;
implementation
uses TuFormPrincipal;
{$R *.dfm}
procedure TFLogin.FormCreate(Sender: TObject);
begin
Cuenta := 0;
Usuario := '';
Nombre := '';
end;
procedure TFLogin.BtnOkClick(Sender: TObject);
begin
consulta := '';
ADLogin.Close;
ADLogin.SQL.Clear;
if EUsuario.Text = '' then
begin
MessageDlg('Ingrese Nombre de Usuario ',mtWarning, [mbOk], 0);
EUsuario.SetFocus;
exit;
end
else if EClave.Text = '' then
begin
MessageDlg('Contraseña no válida ',mtWarning, [mbOk], 0);
EClave.SetFocus;
exit;
end
else
consulta := 'SELECT * FROM usuarios WHERE Nombre = ' +
QuotedStr(EUsuario.Text) + ' AND Clave = ' +
QuotedStr(EClave.Text);
ADLogin.SQL.Add(consulta);
ADLogin.Open;
if ADLogin.Eof then
begin
Cuenta := Cuenta + 1;
MessageDlg('Usuario ó Contraseña no válidos ', mtWarning, [mbOk], 0);
EUsuario.Clear;
EClave.Clear;
EUsuario.SetFocus;
exit;
end
else
begin
EUsuario.Clear;
EClave.Clear;
TuFormPrincipal:=TTuFormPrincipal.Create(self);
try
FLogin.Visible:= False;
TuFormPrincipal.ShowModal;
Finally
TuFormPrincipal.Free ;
end;
end;
end;
procedure TFLogin.BtnCancelClick(Sender: TObject);
begin
LoginOK :=False;
Close;
end;
end.
En la barra superior de Delphi, en Project/Options/MainForm deberás seleccionar FLogin.
Recuerda que TuFormPrincipal corresponde al nombre del Form de tu aplicación y deberás cambiarlo por el que tú uses.
Espero haber podido ayudarte. Prueba y nos cuentas.
Salu2 y suerte