Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Quiero que en mi aplicación me aparezca antes que la ventana principal de mi programa una form que pida nombre de usuario y contraseña, que controle la entrada de un usuario al mismo.
Que propiedades tengo que darle ha ésta para que haga lo que quiero?, en que evento?, creo que tendría que crearla de forma modal, pero la verdad es que probé varias maneras pero no funciona.
Gracias.
Responder Con Cita
  #2  
Antiguo 28-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Hola

Esto se ha preguntado en varias ocasiones en los foros

Tirando un poco de la búsqueda, he encontrado este hilo

Espero te sirva
Responder Con Cita
  #3  
Antiguo 28-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Cadetill:
estuve viendo el hilo al que te referias pero no me quedó claro la parte cuando creo el fromulario de forma modal, ya que me da error cuando ejecuto el programa.
El código que puse es el siguiente:
Código:
Begin

//otras sentencias: Creaciones de Form etc,...
...
...
...

FAcceso:=FAcceso.Create(Application);
FAcceso.ShowModal;

Application.Run;

end.
El error que me da cuando quiero compilar es el siguiente:
'Cannot make a visible windows modal'
Gracias.

Silvio.-
Responder Con Cita
  #4  
Antiguo 28-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Perdón transcribí mal ésta línea:
Código:
FAcceso:=TFAcceso.Create(Application);
Responder Con Cita
  #5  
Antiguo 28-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por silviodp
El error que me da cuando quiero compilar es el siguiente:
'Cannot make a visible windows modal'
Dudo que el error te lo de al compilar pero de cualquier manera asegúrate que la propiedad Visible de FAcceso sea false.

// Saludos
Responder Con Cita
  #6  
Antiguo 28-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre pregunta de Password

Román:
si la propiedad Visible está en Flase.
Lo probé de las dos formas.

Silvio.-
Responder Con Cita
  #7  
Antiguo 28-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Y el FormStyle, es un fsNormal???
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 28-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Es conveniente que revises también el código del evento OnCreate de tu form, no sea que alli lo estes poniendo visible o llamando a su método show...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 28-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de password

Las propiedades del Form están así:

FormStyle:=fsNormal
Visible:=True
Project -> Options -> Auto-Create Form.

Silvio.-
Responder Con Cita
  #10  
Antiguo 28-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
En primer lugar, quitalo de los Autocreate Forms, pues tengo entendido que las estas creando "a mano" con FAcceso:=FAcceso.Create(Application);

Ademas, pone su propiedad visible a False. Salvo que estes alterando el valor de esta propiedad, o llamando a su método Show/ShowModal mas de una vez, no tendrias porque obtener el mensaje de error.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #11  
Antiguo 29-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Hola, ya solucioné el problema de la ventana modal, pero ahora lo que no puedo hacer es controlar la entrada al programa ya muestro los mensajes en caso de el susuario o la pass sean incorrectas pero entra lo mismo.
El código de mi ventana modal es:
Código:
procedure TForm23.EntrarClick(Sender: TObject);
begin
  Modelodatos.TblLogin.Active:=True;
  If Modelodatos.TblLogin.Locate('Usuario',User.Text,[]) Then
  begin
    If ModeloDatos.TblLogin.FieldByName('Clave').AsString<>Pass.Text Then
     ShowMessage('Clave Inconrrecta');
     Pass.SetFocus;
  end
  else
   ShowMessage('usuario inexistente');
   User.SetFocus;
end;
Gracias.

Silvio.-
Responder Con Cita
  #12  
Antiguo 29-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Pero aqui debiera quedarse en la misma ventana, y no "pasar" como vos le decis... aun cuando el usuario y password sean correctos. Otra vez creo que no estas dando la información completa.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #13  
Antiguo 29-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pero, es que, a ver, el control de entrar o no en la app lo has de hacer desde el DPR del proyecto, NO desde el form que lanzas para capturar user/pass

Mirate nuevamente el hilo que te mencioné para ver como controlar eso
Responder Con Cita
  #14  
Antiguo 30-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Si el usuario y la pass son correctas también entra al programa..., dije que lo hacía SIEMPRE.
Y desde el proyecto como tengo que hacerlo porque al hilo donde explica lo hace igual.
Es:
Código:
var
 n:Variant;
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TModeloDatos, ModeloDatos);
  Application.CreateForm(TForm22, Form22);
  ModeloDatos.TblEmpresa.Active:=True;
  n:=ModeloDatos.TblEmpresa.FieldValues['Nombre'];
  Form1.Caption:='BIENES DE USO 1.0'+'  -  '+n;
  ModeloDatos.TblEmpresa.Active:=False;
  Form23:=TForm23.Create(Application);// lo creo 
  Form23.ShowModal; //y lo muestro.-
  Application.Run;
end.
Gracias.

Silvio.-
Responder Con Cita
  #15  
Antiguo 30-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
no se tu, pero......

Cita:
Empezado por silviodp
Código Delphi [-]
var
 n:Variant;
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TModeloDatos, ModeloDatos);
  Application.CreateForm(TForm22, Form22);
  ModeloDatos.TblEmpresa.Active:=True;
  n:=ModeloDatos.TblEmpresa.FieldValues['Nombre'];
  Form1.Caption:='BIENES DE USO 1.0'+'  -  '+n;
  ModeloDatos.TblEmpresa.Active:=False;
  Form23:=TForm23.Create(Application);// lo creo 
  Form23.ShowModal; //y lo muestro.-
  Application.Run;
end.
Cita:
Empezado por cadetill
Código Delphi [-]
  Application.Initialize;
  // DataModule que da acceso a la conexion
  Application.CreateForm(TBDades, BDades);

  Login := TLogin.Create(Application);
  try
     try
        Respuesta := Login.ShowModal;
     finally
            FreeAndNil(Login);
     end;
  except
       ShowMessage('error creando form');
  end;

  if Respuesta = mrOK then
   begin
        Application.CreateForm(TfmMenu, fmMenu);
        Application.Run;
   end
  else FreeAndNil(BDades);
Yo veo algo de diferencias entre tu código y el propuesto en el hilo mencionado
Responder Con Cita
  #16  
Antiguo 30-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Si es cierto, no era ese el código que yo había visto, perdón.-
Voy a probar con ese.
Gracias.

Silvio.-
Responder Con Cita
  #17  
Antiguo 30-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
Sobre ventana de Password

Cadetill:
por que cuando escribo el código:
Código:
begin
  Application.Initialize;
  Application.CreateForm(TModeloDatos, ModeloDatos);
  Application.CreateForm(TForm22, Form22);
  ModeloDatos.TblEmpresa.Active:=True;
  n:=ModeloDatos.TblEmpresa.FieldValues['Nombre'];
  Form1.Caption:='BIENES DE USO 1.0'+'  -  '+n;
  ModeloDatos.TblEmpresa.Active:=False;
  Form23:=TForm23.Create(Application);
  Form23.ShowModal;
  if Form23.ShowModal=mrYes then
   begin
        Application.CreateForm(TForm1, Form1);
        Application.Run;
   end
Y quiero ejecutar me da el siguiente error: [Error] CStock.dpr(43): Undeclared identifier: 'mrYes'.
Gracias.

Silvio.-
Responder Con Cita
  #18  
Antiguo 30-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por silviodp
Y quiero ejecutar me da el siguiente error: [Error] CStock.dpr(43): Undeclared identifier: 'mrYes'.
Si buscas un poco en la ayuda de Delphi, verás que necesitas la unit Controls

Cita:
Empezado por Delphi Help
TModalResult represents the return value from a modal dialog.

Unit

Controls
Responder Con Cita
  #19  
Antiguo 30-04-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Poder: 22
silviodp Va por buen camino
sobra ventana de Password

Podrían decirme si éste código está bien o le falta algo, está asociado al botón que tengo en mi ventana de password, el cual tiene en la propiedad ModalResult el valor mrYes;
Código:
procedure TForm23.EntrarClick(Sender: TObject);
begin
  Modelodatos.TblLogin.Active:=True;
  If Modelodatos.TblLogin.Locate('Usuario',User.Text,[]) Then
  begin
    If ModeloDatos.TblLogin.FieldByName('Clave').AsString<>Pass.Text Then
       ShowMessage('Clave Incorrecta');
       Pass.SetFocus;
  end
  else
   ShowMessage('usuario inexistente');
   User.SetFocus;
end;
Gracias.

Silvio.-
Responder Con Cita
  #20  
Antiguo 30-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Este es el mismo código que el expuesto en el mensaje #11 (por tí) y sinceramente el compilador será más eficaz que nosotros para detectar si está bien o mal.

// 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


La franja horaria es GMT +2. Ahora son las 23:05:10.


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