Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Login screen personalizado mysql (https://www.clubdelphi.com/foros/showthread.php?t=64034)

chino150 13-03-2009 02:22:44

Login screen personalizado mysql
 
Hola a todos necesito ayuda para desarrollar un login personalizado para accesar desde mi aplicación a mysql con los usuarios de mysql e estado usando el login estanard pero pienso que se ve un poco anteproffesional y ademas cuando le das a cancelar puedes acceder al programa.

roman 13-03-2009 02:29:25

¿De qué login estandar hablas?

// Saludos

chino150 13-03-2009 02:35:31

Cita:

Empezado por roman (Mensaje 341311)
¿De qué login estandar hablas?

// Saludos

Ok se me olvido que utilizo zeos 6.6 y delphi6 el login estandar es el que sale cuando en los componetes de conección le ponemos en la propiedad loginPromt a True

Neftali [Germán.Estévez] 13-03-2009 11:49:04

Cita:

Empezado por chino150 (Mensaje 341312)
Ok se me olvido que utilizo zeos 6.6 y delphi6 el login estandar es el que sale cuando en los componetes de conección le ponemos en la propiedad loginPromt a True

Coloca la propiedad LoginPrompt a False, diseña tu pantalla pantalla de login como desees y una vez introducidos los datos pásalos a la conexión.
Capturas el error que pueda haber al conectar y visuyalizas la pantalla de nuevo si es necesario.

chino150 13-03-2009 21:58:13

Cita:

Empezado por Neftali (Mensaje 341332)
Coloca la propiedad LoginPrompt a False, diseña tu pantalla pantalla de login como desees y una vez introducidos los datos pásalos a la conexión.
Capturas el error que pueda haber al conectar y visuyalizas la pantalla de nuevo si es necesario.

ok lo intente pero cuando le hago click al botton aceptar do muestra el formulario principal pero cuando le dio click a cancelar si este es el codigo que
utilize
Código Delphi [-]
procedure TfrmLogin.btnAceptarClick(Sender: TObject);
var
   sUsuario, sContra : String;
begin
    sUsuario := txtUsuario.Text;
    sContra := txtContra.Text;
    md.BD.Disconnect;
    md.BD.User := sUsuario;
    md.BD.Password := sContra;
    md.BD.Connect;
end;

end.
no se que estoy haciendo mal.

Neftali [Germán.Estévez] 16-03-2009 09:51:58

No te entendí muy bien lo que quieres y lo que te esa pasando, discúlpame.

¿Cuando pulsas ACEPTAR funciona? ¿Qué te sale?
¿Cuando pulsas CANCELAR te funciona? ¿Qué deseas hacer en ese caso?

chino150 16-03-2009 21:17:09

Cita:

Empezado por Neftali (Mensaje 341547)
No te entendí muy bien lo que quieres y lo que te esa pasando, discúlpame.

¿Cuando pulsas ACEPTAR funciona? ¿Qué te sale?
¿Cuando pulsas CANCELAR te funciona? ¿Qué deseas hacer en ese caso?

cuando pulso Aceptar no hace nada.
cuando pulso Cancelar muestra el formulario principal.
Lo que deseo es lo basico de un login varificaciones de usuarios y contraseñas

roman 16-03-2009 21:37:07

Hola,

Los pasos básicos a seguir son:

1. Colocar un Edit por cada dato que requieras: host, user, password, database, etc.
2. Colocar dos botones: Aceptar y Cancelar. Al primero le pones su propiedad ModalResult en mrOk y su propiedad Default en true. Al segundo le pones su propiedad ModalResult en mrCancel y su propiedad Cancel en true.
3. En el evento OnCloseQuery del formulario verificas qué botón se oprimió:

Código Delphi [-]
if ModalResult = mrOk then
begin
    (* Aquí verificas que los datos sean correctos    *)
    (* Si no lo son puedes lanzar una excepción o     *)
    (* ajustar el parámetros CanClose del evento a    *)
    (* false, para evitar que se cierre el formulario *)
end;

Observa que no programas nada en el evento OnClick del botón. Aunque podrías hacerlo así, lo normal es hacerlo en el OnCloseQuery como te he mostrado.

4. Cuando muestres el formulario de login, lo haces usando ShowModal y el valor de regreso de esta función es el que te indica si el usuario aceptó o canceló, y con base en ello muestras o no tu formulario principal. Si este cuadro de login lo vas a mostrar al inicio de la aplicación, lo más adecuado es hacerlo en el archivo dpr (Project|View source). Aquí un ejemplo:

Código Delphi [-]
program LoginDemo;

uses
    Windows,
    Forms,
    Main in 'Main.pas' {MainForm},
    Login in 'Login.pas' {LoginForm};

{$R *.res}

begin
    Application.Initialize;

    LoginForm := TLoginForm.Create(Application);
    if LoginForm.ShowModal = idOk then
    begin
        LoginForm.Free;

        Application.CreateForm(TMainForm, MainForm);
    end;

    Application.Run;
end.

Observa que el formulario principal sólo se crea en caso de que el usuario haya oprimido Aceptar (ShowModal = idOk). Si cancela, el formulario no se crea y, no habiendo uno, la aplicación termina inmediatamente después de Application.Run.

// Saludos

chino150 21-03-2009 05:23:25

Cita:

Empezado por roman (Mensaje 341606)
Hola,

Los pasos básicos a seguir son:

1. Colocar un Edit por cada dato que requieras: host, user, password, database, etc.
2. Colocar dos botones: Aceptar y Cancelar. Al primero le pones su propiedad ModalResult en mrOk y su propiedad Default en true. Al segundo le pones su propiedad ModalResult en mrCancel y su propiedad Cancel en true.
3. En el evento OnCloseQuery del formulario verificas qué botón se oprimió:

Código Delphi [-]if ModalResult = mrOk then begin (* Aquí verificas que los datos sean correctos *) (* Si no lo son puedes lanzar una excepción o *) (* ajustar el parámetros CanClose del evento a *) (* false, para evitar que se cierre el formulario *) end;


Observa que no programas nada en el evento OnClick del botón. Aunque podrías hacerlo así, lo normal es hacerlo en el OnCloseQuery como te he mostrado.

4. Cuando muestres el formulario de login, lo haces usando ShowModal y el valor de regreso de esta función es el que te indica si el usuario aceptó o canceló, y con base en ello muestras o no tu formulario principal. Si este cuadro de login lo vas a mostrar al inicio de la aplicación, lo más adecuado es hacerlo en el archivo dpr (Project|View source). Aquí un ejemplo:

Código Delphi [-]program LoginDemo; uses Windows, Forms, Main in 'Main.pas' {MainForm}, Login in 'Login.pas' {LoginForm}; {$R *.res} begin Application.Initialize; LoginForm := TLoginForm.Create(Application); if LoginForm.ShowModal = idOk then begin LoginForm.Free; Application.CreateForm(TMainForm, MainForm); end; Application.Run; end.


Observa que el formulario principal sólo se crea en caso de que el usuario haya oprimido Aceptar (ShowModal = idOk). Si cancela, el formulario no se crea y, no habiendo uno, la aplicación termina inmediatamente después de Application.Run.

// Saludos

Gracias Mil todo esta bien Muchas Gracias!!!!!!!!


La franja horaria es GMT +2. Ahora son las 04:54:56.

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