Ver la Versión Completa : Formulario de login!!
ElCherchu
23-09-2003, 15:29:14
Hola amigos!!!
Necesito saber como puedo mostrar el formulario de login inmediatamente despues de haber mostrado el menu principal, esto para introducir la clave y a trabajar...
Cuento con ustedes..
ElCherchu..
delphi.com.ar
23-09-2003, 15:51:08
Si quieres que se muestre el principal y a partir de ahí aparezca el login, lo disparas en el OnShow del principal:procedure TFrmPrincipal.FormShow(Sender: TObject);
begin
with TFrmLogin.Create(Self) do
try
if ShowModal = mrCancel Then
Self.Close;
finally
Free;
end;
end;
Saludos!
Leonard
16-05-2004, 19:06:07
En mi Caso muestro Una ventana de Dialogo donde el usuario debe mostrar de clave o acceso justo antes de ver el menu principal es decir antes de ejecutar la aplicacion.
Lo hago del siguiente Modo el programa principal coloco lo siguiente
begin
Application.Initialize;
Application.Title := 'Facturacion';
Application.CreateForm(TF_Principal, F_Principal);
Application.CreateForm(TMdatos, Mdatos);
Application.CreateForm(TF_Clave, F_Clave);
F_Clave.ShowModal;
If F_Clave.Tiene_Acceso
Then begin
Application.Run;
End
Else Begin
Mdatos.Conexion_BD.Close;
Application.Terminate;
End
end.
y en el formulario clave le creas las propiedades
private
{ Private declarations }
Acceso : Boolean;
public
{ Public declarations }
Property Tiene_Acceso : Boolean Read Acceso Write Acceso;
end;
y por ultimo en el boton aceptar coloco lo siguiente
if Mdatos.T_UsuarioClave_Usuario.Value = Clave_Usuario.Text
Then Tiene_Acceso := True;
Espero que te sea util..!!
DarkByte
16-05-2004, 20:46:26
Leonard, prueba a encerar tu código en las etiqueta [ Delphi ] [ / Delphi ] (sin espacios), verás que tiene mejor presentación.
Así quedaría tu codio con dichas etiquietas:
begin
Application.Initialize;
Application.Title := 'Facturacion';
Application.CreateForm(TF_Principal, F_Principal);
Application.CreateForm(TMdatos, Mdatos);
Application.CreateForm(TF_Clave, F_Clave);
F_Clave.ShowModal;
If F_Clave.Tiene_Acceso
Then begin
Application.Run;
End
Else Begin
Mdatos.Conexion_BD.Close;
Application.Terminate;
End
end.
private
{ Private declarations }
Acceso : Boolean;
public
{ Public declarations }
Property Tiene_Acceso : Boolean Read Acceso Write Acceso;
end;
if Mdatos.T_UsuarioClave_Usuario.Value = Clave_Usuario.Text
Then Tiene_Acceso := True;
Tampoco estaría mal que identases tu código.
MITOPE
18-05-2004, 17:33:26
Amigos Disculpen que me meta en su conversacion, pero tambien necesitaba algo asi , probe y me funciono , lo que no se es que poner en el boton cancelar del formulario login, solo trabajo con el principal y el form del login
begin
Application.Initialize;
Application.CreateForm(TFrmPrincipal, FrmPrincipal);
Application.CreateForm(TFrmIngreso, FrmIngreso);
FrmIngreso.ShowModal;
if FrmIngreso.TieneAcceso then
Application.Run
else
Application.Terminate;
end;
end.
En el boton cancelar puse esto pero me sale un error 'EAcces violation....'
Begin
Acceso := False;
Close;
end;
el error me sale justo despues de ejecutar correctamente el comando 'Application.Terminate', cuando se ubica en el End..como que quisiera ejecutar algo mas...que no se que es , no se si me pueden ayudar
eduarcol
18-05-2004, 17:51:55
mira primero que todo, utiliza por favor las etiquetas para encerrar el codigo:
yo cambiaria algunas lineas de tu codigo algo asi:
begin
Application.Initialize;
Application.CreateForm(TFrmPrincipal, FrmPrincipal);
Application.CreateForm(TFrmIngreso, FrmIngreso);
if FrmIngreso.ShowModal = mrOk then
Application.Run;
Application.Terminate;
end.
y el boton cancelar la propiedad modal result le das mrCancel
por supuesto en el de aceptar cuando asignesel valor a la variable tiene accesocambia esa linea por ModalResult := mrOk, listo
__cadetill
18-05-2004, 17:55:02
te aconsejo te leas este hilo (http://www.clubdelphi.com/foros/showthread.php?t=3810&highlight=usuario). En él se explicó como funciona el tema del loggin
MITOPE
18-05-2004, 18:47:23
Gracias Amigo , Ya Funciono Con Tu Ayuda...!!
Saludos..
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.