Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-01-2012
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Exclamation Login Automatico segun usuario pre-definido

Estimado foro..Feliz año 2012.. Tengo el siguiente problema.

En un sistema que estoy desarrollando tengo la necesidad de solicitar usuario y contraseña para acceder al sistema.

En el codigo principal de la aplicacion tengo lo siguiente
Código Delphi [-]
Application.Initialize;
Application.CreateForm(TfrmSplashScreen, frmSplashScreen);
try
    frmSplashScreen.ShowModal;
finally
    frmSplashScreen.Free;
end;

Application.MainFormOnTaskbar := True;
Application.CreateForm(TDM, DM);                  // datamodule
Application.CreateForm(Tfrm_Main, frm_Main);  // main form

if TLoginform.Execute then Application.Run;     // form de login de entrada
Si el LoginForm devuelve True entonces la aplicacion se ejecuta. Creo que lo saque de algun libro o de este foro, no recuerdo bien.

En dicho Form tengo una clase llamada execute que devuelve True o False, comprobando el usuario y la contraseña contra la base de datos.

Tengo ademas un boton en el cual se realiza esta validacion, el cual asigna el valor mrResult en True o False segun lo dicho anteriormente.

La clase es la siguente:

Código Delphi [-]

class function TLoginForm.Execute: boolean;
begin
    with TLoginForm.Create(nil) do
    try
         Result := ShowModal = mrOk;
    finally
         Free;
    end;
end;

Ademas tengo obviamente un par de edits para digitar nombre de usuario y contraseña, los cuales inicializo en el evento oncreate del form.

Mi duda es como evitar que me pida los valores de los edits ( nombre y contraseña ), y me devuelva True siempre. La necesidad es porque en uno de los pcs que van a utilizar el sistema debe "asumir" un usuario por defecto y no mostrar ninguna posible seleccion y acceder directamente a la aplicacion, porque ademas este usuario tiene un nivel minimo tambien de acceso.

Logro conectarme a la base , validad el usuario y todo, antes de seleccionar algo, pero siempre termina haciendo el create y show del formulario...

Espero haber sido claro.

Saludos y gracias por vuestra ayuda..

Leo
Responder Con Cita
  #2  
Antiguo 02-01-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Te recomiendo ampliamente los componentes TUserControl, son brasileños y libres, están bastante bien realizados y te ahorran horas y horas de trabajo tan solo para gestión de usuarios, me parece que tienen opción para hacer lo necesitas. Desgrraciadamente la poca documentación que hay esta en protugués pero es entendible, entre otras cosas te permite ir creando perfiles, usuarios y accesos según vaya creciendo tu desarollo. Muy buenas, es un "must have"
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 02-01-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por lbidi Ver Mensaje
Logro conectarme a la base , validad el usuario y todo, antes de seleccionar algo, pero siempre termina haciendo el create y show del formulario...
Pues pasa eso porque es lo que exactamente le estas indicando por codigo que debes hacer.

Ese es el problema de mezclar logica de negocios con interface de usuario... pero se resuelve extrayendo la logica de la interfaz.

Podrias hacer un api masomenos asi:

Código Delphi [-]
if LoginManager.PerformLogin() then Application.Run; 

//En loginManager
function LoginManager.PerformLogin:Boolean
begin
  if //Algo que te indique de debes hacer autologin, como el nombre del pc, una configuracion del INI etc// then
     Result:=True;
  else
    //Creas el formulario como antes...
end
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 03-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
En dicho Form tengo una clase llamada execute que devuelve True o False
Hola Ibidi.

Sólo a modo de aclaración, la función Execute no es una clase, es un método de clase que se aplica a la clase misma y no a una instancia de ella. Y en este caso se aprovecha para definir el método ShowModal dentro del mismo form y no depender de una función extra en otro form para ese fin.
Esto es posible por que los métodos de clase no necesitan de la existencia de una instancia para ser invocados.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 03-01-2012
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Gracias a todos por las respuestas y aclaraciones.

Se sigue aprendiendo dia a dia.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
objeto parameter mal definido gen@rozug MySQL 1 08-02-2012 19:49:24
Firebird 2.1 Usuario login (solo una conexion) jconnor82 Firebird e Interbase 2 13-03-2009 16:20:54
error funcion login usuario en c# con SQL server Ariel03 .NET 2 20-02-2008 23:27:30
Copiar fichero con origen/destino definido por usuario TrUnkS API de Windows 2 28-08-2007 07:11:57
Login automatico ramonibk MS SQL Server 8 12-06-2005 07:54:11


La franja horaria es GMT +2. Ahora son las 01:41:27.


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
Copyright 1996-2007 Club Delphi