Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   forma login (https://www.clubdelphi.com/foros/showthread.php?t=68427)

m8estrella83 13-06-2010 00:03:41

forma login
 
Hola !

Mi pregunta es la siguiente. tengo una aplicacion pequeña de dos formas todo bien hasta ahi, pero me han pedido que se le agrege una ventana de loguin donde se pida usuario y cotraseña ya investigue como hacerlo y parece sencillo el problema es ya tengo dos formas creadas y cree una nueva, lo que necesito es, que al correr el programa solo abra la forma tres es decir la ultima forma que agrege que es donde puse el loguin. puse en el main form esa forma pero lo corro y se abre la primer forma que tenia en un principio y tambien abre esta ultima y no tengo ide de que mas hacer

espero haberme explicado

si pueden ayudarme les agradeceria mucho

Caral 13-06-2010 00:20:47

Hola
Project, option.
En la primera pantalla Forms.
Ahi en Main Form colocas el primer form que se inicia en el programa.
Saludos

Master23 13-06-2010 04:58:57

Mira yo tuve el mismo problema , lo que hice fue entrar a proyecto , opciones y poner el formulario de login de main form para que abra de primero entonces , en ves de cerrar ese mini formulario de login lo que hago es inhabilitar todo los edit de contraseña y usuario y el boton de entrar y entonces mostrar el otro formulario y dejar el otro abierto con todo inhabilitado para que en caso de que la persona salga no puedan robarle la contraseña pero sin cerrarlo porque al hacerlo se cierran los demás ya sabes.

ElKurgan 14-06-2010 07:37:05

Otra forma consiste en llamar primero al formulario de Login antes de ejecutar el formulario principal, que es el que gestiona los mensajes de windows; Aqui tienes un ejemplo de como hacerlo.

Un saludo

m8estrella83 14-06-2010 19:28:19

Gracias Por sus aportaciones amigos.


Ya intente lo que me recomiendas caral, pero al correr la aplicacion me abre las dos ventanas al mismo tiempo la del login y la que anteriormente iniciaba la aplicacion y no entiendo por que.

espero me puedan ayudar

Gracias

mightydragonlor 14-06-2010 20:09:31

es muy simple, solo pones para que cuando se cree la aplicación unicamente cargue el form del login, al cerrar el form login este deberá crear los demas formularios.

radenf 14-06-2010 22:41:15

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


La franja horaria es GMT +2. Ahora son las 12:10:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi