PDA

Ver la Versión Completa : login cuando el programa se inicia


unreal4u
23-04-2005, 06:35:57
buenas. He buscado muchìsimo a través de los foros, pero ninguno me servía o bien ninguno la entendi. Así que aprovecho la ocasión para lanzar un nuevo hilo.

Mi problema es el siguiente:

Necesito hacer un trabajo para la universidad. Ahora bien, instalé mi base de datos, (sin seguridad alguna, no tengo internet en la casa, y el server está conectado con un simple cable cruzado a mi pc); PERO dentro de la base de datos tuve que hacer una tabla que me almacene el nombre de usuario y password. (Si bien entiendo, es esta la forma de crear cuentas, porque en una sola base de datos hay algunas cosas a las que algunos usuarios NO pueden acceder). La base de datos que ocupo es PostgreSQL.

Hasta aquí, ningún problema, el problema surge cuando en el cliente, al iniciar el programa, necesito iniciar sesión. Sucede que ZeosLib trae una opción de Login; PERO no me sirve, puesto que necesito indicar la dirección IP, la base de datos a ingresar y finalmente user y pass. Además de esto, su evento DoBeforeConnect es ANTES de pedir usuario y contraseña, no DESPUÉS como debería ser. (Es lo que hay)

Ahora bien, buscando dentro de la ayuda de delphi 6, al escribir "splashscreen", me dice que dentro de implementation tengo que declarar una variable, pero... ¿Cómo lo hago?

En resumen; necesito entrar con una cuenta, hacer una consulta SQL a la base de datos para ver si el usuario/password existe/coincide, para luego otorgar acceso al sistema. Todo esto cuando se inicie el programa.

Es por esto que nuevamente solicito su ayuda, esperando y agradeciendo a aquel que se de el tiempo de responder. Repito además, que la seguridad en este caso no me interesa. Si faltan datos, me dicen y los coloco.

Lepe
23-04-2005, 13:48:09
Hay muchas formas, yo lo hago en Projects--> view Source;

uses
Forms,
Controls,
MOVE in 'MOVE.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.res}
var login:TForm2;
begin
Application.Initialize;
// crear datamodules necesarios para poder acceder a las consultas
login := TForm2.Create(nil);

if login.ShowModal = mrok then
begin
Application.CreateForm(TForm1, Form1);

Application.Run;
end
else
Application.Terminate;
end.

en la ventana de login, en el evento OnClose, debes poner Action := caFree; para que se libere al cerrarlo.

La ventana login tendrá 2 botones, uno para comprobar el nombre y contraseña y el otro para salir.

Si el usuario y contraseña existe, en la ventana de login pones
login.ModalResult := mrOk y si no, lo pones a mrCancel.

Un saludo

papote654
20-11-2006, 14:04:24
Fijate este es un codigo q yo lo utilizo mucho y me resulta de lo mas bien espero te sirva.

en el evento onclick del boton aceptar.

if tabla1.findkey(edit1.text:='USUARIO') and tabla2.findkey(edit2.text:='CONTRASEÑA') = true then
begin
form1.hide;
form2.showmodal;
end
else
showmessage('contraseña incorrecta');
edit2.setfocus;

suerte!!