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 27-12-2005
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Validar Una ContraseÑa Y Cerrar La Ventana De Inicio De Sesion

Hola a todos. He buscado tanta cosa y no he podido solucionar mi problema. Tengo una aplicación en Delphi en donde el Form principal que aparece al ejecutar la aplicación corresponde a INICIO DE SESION, en donde uno puede ingresar su nombre de usuario y contraseña. Mi preguta es como lo hago para validar el nombre de usuario y contraseña y además cerrar la ventana de inicio de sesión cuando doy en ACEPTAR en el formulario. Uso Paradox 7 y Delphi 6. Por lo general llamo a mis formularios utilizando FORM.ShowModal; en el evento onclick de los botones. Por favor ayuda urgente.
Responder Con Cita
  #2  
Antiguo 27-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Se ha hablado bastante sobre el tema, has una busqueda para el caso. Chequeate este hilo
Suerte
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 27-12-2005
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Hola. Para que mi ventana de INICIO DE SESION se oculte (sin destruirla) cuando le doy en ACEPTAR, pongo este código en el evento Onclik del boton ACEPTAR o en otro evento?
Código Delphi [-]
Application.Initialize;
    with FSesion.Create(nil) do begin //FSesion=nombre Form INICIO SESION
      if ShowModal=mrok then begin
        frmPantEntr:=TfrmPantEntr.Create(nil);
        Application.CreateForm(TFPrincipal, FPrincipal); //FPrincipal=nombre Form que aparece después 
                                                //del logueo al pinchar en boton ACEPTAR
        FreeAndNil(frmPantEntr);
        Application.Run;
      end else
      begin
        application.Terminate;
      end;//If
    end;//With

Última edición por vtdeleon fecha: 27-12-2005 a las 19:59:26. Razón: Etiqueta Delphi
Responder Con Cita
  #4  
Antiguo 27-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
  • Ese codigo no esta en ningun evento, sino en el archivo DPR.
  • Por que no destruirlo, por que ocultarlo? lo vas a usar despues?
Si es asi,
Código Delphi [-]
Application.Initialize;
  Fsesion:=TFsesion.Create(nil);
    with FSesion do begin //FSesion=nombre Form INICIO SESION
      if ShowModal=mrok then begin
        frmPantEntr:=TfrmPantEntr.Create(nil);
        Application.CreateForm(TFPrincipal, FPrincipal); 
        FreeAndNil(frmPantEntr);
        Application.Run;
      end else
      begin
        application.Terminate;
      end;//If
    end;//With
Con esto tienes Fsesion aun en memoria, sin destruir
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 27-12-2005
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Hola vtdeleon... gracias por responder, con decirte que trabajo hace solo 2 meses con delphi y estoy realizando una aplicación para mi practica. Por esta razón quizás me complique la existencia. Bueno cuando habro el archivo .dpr automaticamente me abre el archivo Sesion.pas que es el primer Form de INICIO DE SESION. Puse el código en Sesion.pas y bueno me marca error de que no esta definido el frmPantEntr, obviamente pues es un nombre de un Form, pero quiero saber a que Form esta dirigido ese nombre para reeemplazarlo, ¿será FPrincipal?, ¿estaré bien con poner el código en Sesion.pas?. Quisiera destruir FSesion depués de haber validado la contraseña. ¿ Es necesario poner algo en Ondestroy?. De antemano gracias
Responder Con Cita
  #6  
Antiguo 27-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Vamos desde el principio.

FSesion ==> Form de acceso
FPrincipal ==> Form Principal

En el DPR poner esto:
Código Delphi [-]
Application.Initialize;
Fsesion:=tFsesion.create(nil);
with Fsesion do begin
 if ShowModal=mrok then begin
  Application.CreateForm(TFprincipal, Fprincipal);
  Application.Run;
 end else begin
  application.Terminate;
 end;//If
end;//With
En Fsesion solo pones tu codigo de validacion (comprobacion de usuairio y clave).
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 28-12-2005
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
OK con el código y los nombres de los Form, pero quisiera saber en que parte lo pongo, pues cuando abro el proyecto (archivo DPR) me habre mi primer FORM (Sesion.pas) y no sé si es lo mismo ponerlo ahí o en otra parte. Puse el código en una instrucción independiente del editor de código de Sesion.pas pero no resultó . Intento buscar el editor de código del DPR pero solo me manda a Sesion.pas siempre, es porque mi primer Form es el de inico de sesión, no se si sería bueno cambiarlo. Por el momento en el evento onclick del boton Aceptar de FSesion le puse FPrincipal.ShowModal; para ir a mi segundo Form (FPrincipal), pero no se cierra FSesion y menos se destruye. Agradecido y esperando en linea pues para mañana tengo que tenerlo hecho (sniff)

Última edición por TrUnkS fecha: 28-12-2005 a las 00:55:53.
Responder Con Cita
  #8  
Antiguo 28-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Para acceder al DPR en Delphi ve al menu Project==> View Source y el codigo que te muestra es del DPR. Alli veras el codigo de Application.Initialization y de ahi te puedes guiar.
Detente un poco y trata de entenderlo
Hasta Luego
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 28-12-2005
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Hola. La linea Application.CreateForm(TFprincipal, Fprincipal); ya existia en el editor de codigo del DPR asi que no la puse, la complementé con el codigo que estamos analizando, es decir, debajo de ella puse Application.Run; y elimine la linea Application.CreateForm(TFSesion, FSesion); que ya tenia, y la reeemplaze por FSesion:=TFsesion.Create(nil);.
Supongo que el codigo tiene el siguiente error:
if ShowModal=mrok ---->debe ir --->FSesion.ShowModal=mrok si no me equivoco, pero aun asi no me funciona pues no reconoce mrok. Revisalo bien pues yo ya lo he analizado y no me cabe la menor duda del error. Agradecido de antemano por tu pronta respuesta.

PD: El problema principal de esto es eliminar y destruir el primer Form llamado FSesion cuando apreto ACEPTAR en él, para que me dirija al segundo FORM llamado FPrincipal
Responder Con Cita
  #10  
Antiguo 28-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Seguro qeu te sale qeu esta undeclare "mrok", pues dale a F1 teniendo el cursor sobre la palabra para que te salga la ayuda y en esta sale la unidad qeu contiene declarada esta constante.

Agrega en la parte Use (arriba) en el DPR la unidad Controls
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #11  
Antiguo 28-12-2005
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Lo hice. Agregue la unidad que lo contiene debajo de USE y me funciona con este codigo:

Application.Initialize;
FSesion:=TFsesion.Create(nil);
with FSesion do begin if FSesion.ShowModal=mrok then begin Application.Terminate;
end else begin
Application.Run;
end; //if
end; //with
Application.CreateForm(TFprincipal, Fprincipal);

y de ahi vienen todas las demás FORM. De todas formas este código es diferente. Con el código en que habiamos quedado no me funcionaba pero no entiendo porqué. ¿Es necesario poner en FSesion caFree para que libere la memoria? o ya es suficiente con esto?. Gracias por la ayuda

Última edición por TrUnkS fecha: 28-12-2005 a las 13:40:21.
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 18:14:33.


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