El codigo que me diste lo adapte a mi programa, este es el codigo actual de la ventana...
Código Delphi
[-]
unit EntradaUsuario;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, ADODB;
type
TFrmEntradaUsuario = class(TForm)
BtnAceptar: TButton;
BtnCancelar: TButton;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery1NombredeUsuario: TWideStringField;
ADOQuery1Contrasena: TWideStringField;
Label1: TLabel;
Label2: TLabel;
EUsuario: TEdit;
EContrasena: TEdit;
ADOConnection1: TADOConnection;
procedure BtnCancelarClick(Sender: TObject);
procedure BtnAceptarClick(Sender: TObject);
private
public
end;
var
FrmEntradaUsuario: TFrmEntradaUsuario;
implementation
uses Menu;
{$R *.dfm}
procedure TFrmEntradaUsuario.BtnCancelarClick(Sender: TObject);
begin
FrmEntradaUsuario.close
end;
procedure TFrmEntradaUsuario.BtnAceptarClick(Sender: TObject);
begin
ADOQuery1.Parameters.ParamByName('nom').Value:= EUsuario.Text;
ADOQuery1.Active:= True;
EUsuario.Text:= ADOQuery1.Fields[1].AsString;
If ADOQuery1.RecordCount < 1 then
Begin
MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
EUsuario.Text := '';
EContrasena.Text := '';
ADOQuery1.Active := False;
end
else
If ADOQuery1Contrasena.AsString = EContrasena.Text then
Begin
ADOQuery1.Active := False;
FrmMenu:=TFrmMenu.Create(self);
try
FrmEntradaUsuario.Visible:= False;
FrmMenu.ShowModal;
finally
FrmMenu.Free;
end;
Close;
end
else
end;
end.
Pero ahora hay otro incidente. Es que cuando voy a entrar cualquier clave, me sale una ventana con un error diciendo que falta un operador en la expresion de consulta 'Nombre de Usuario'.
Creo que se refiere al contenido del String List Editor:
SELECT Nombre de Usuario, Contrasena FROM
Usuarios WHERE
Nombre de Usuario = :nom
Bueno creo que ya estoy cerca de dar con el problema, pero necesito un empujon, jejeje.