Ir al contenido


Un programita con login de validacion.


  • Por favor identifícate para responder
67 respuestas en este tema

#1 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 08:05

Pues eso, me gustaria poder ponerle a un programita un login que si eres la personha correcta puedas acceder a el de lo contrario que te niegue la entrada.
Creo debe ser algo asi como que al entrar el programa te salga una ventana con el usuario y la clave.De ser la correcta pues termina de continuar el programa de lo contrario te niega la entrada.
No se si estoy en lo correcto.

Un Saludo.

#2 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 29 noviembre 2008 - 08:15

Tomando como ejemplo este que nos proporciona Caral (Aunque no lo he visto)

http://www.delphiacc...php?topic=102.0

Que haria yo... crearía un pequeño formulario como panel de acceso, este deberia mostrarse antes del formulario principal, el cual deberia estar invisble; si el login es correcto hacer visible el formulario principal, de lo contrario y habiendo agotado el número máximo de intentos: Application.Terminate  :D
  • 0

#3 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 08:29

Ese de Caral esta bueno, si tienes muchos usuarios.Yo no lo pude correr porque no logro cambiar el path, ya vi donde esta pero tendria que poner el file mio en una ruta parecida para no tener que cambiar tantos parametros creo que por eso me pierdo.Y esa era la idea mas o menos que tenia.Poner el formulario invicible no lo pence, pero si que si se validaba entonces pasara a otra ventana donde estaria el programa principal.
Para hacerla con un solo usuario es bien sencillo.Pero me gustaria poder entender bien la que postio Carlos que trae una base de datos tambien.

Un Saludo.

#4 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 08:36

Dentro de la carpeta del programita de  Carlos esta este file UFLogin (Delphi Form)


delphi
  1. object ADOConnection1: TADOConnection
  2.     Connected = True
  3.     ConnectionString =
  4.       'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Bo' +
  5.       'rland\Delphi6\Projects\Loguearse\Facturacion.mdb;Persist Securit' +
  6.       'y Info=False'
  7.     LoginPrompt = False
  8.     Mode = cmShareDenyNone
  9.     Provider = 'Microsoft.Jet.OLEDB.4.0'
  10.     Left = 168
  11.   end


Se encuentra este codigo.Creo que aqui es donde hace falta darle el direcionamiento correcto.

Un Saludo.

#5 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 29 noviembre 2008 - 08:38

No claro Jose, es que precisamente con la idea que te doy se valida según el usuario en la base de datos...
Esperamos que Caral te ayude a acomodar el codigo  :D
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 29 noviembre 2008 - 08:39

Así es amigo José, ahi es donde debes colocar la ubicación correcta, en connectionString en la parte del Source ahí colocas la ubicación.

Saludos.
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 08:40

Hola
Lo quieres para tu programa amigo Jose?.
Saludos
  • 0

#8 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 29 noviembre 2008 - 08:46

Así es amigo José, ahi es donde debes colocar la ubicación correcta, en connectionString en la parte del Source ahí colocas la ubicación.

Saludos.

Es verdad, no hay de que preocuparse... el detalle a corregir es simple.



delphi
  1. ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Mi proyecto\Mi base de datos\basedatos.mdb;Persist Security Info=False'



Solo cambié por esta linea C:\Mi proyecto\Mi base de datos\basedatos.mdb como ejemplo de la ruta.

  • 0

#9 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 08:51

Hola
Lo quieres para tu programa amigo Jose?.
Saludos

Hola Carlos, si seria una buena idea, asi no le meterian mano y se pongan a jugar con el. :)

Un Saludo.

PD:Tambien quiero estudiar bien ese concepto y pues ponerlo en la lista de las cosas ya aprendidas. ;)

#10 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 09:06

Hola
Vamos paso a paso:
En delphi, abrimos el programa (al que le vamos a poner el loguin incorporado).
1-File, New, Form.
Con esto creamos un nuevo form dentro del proyecto.
Le damos la forma que queramos, para que sirva de loguin, algo asi:

Imagen Enviada

Le cambiamos al form el nombre FLogin y lo guardamos el unit como UFLogin
Ya tenemos la primera parte.
Vamos por la segunda, sigues?.
Saludos

  • 0

#11 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 09:17

Claro, le estamos metiendo mano al asunto. ;)

#12 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 09:23

Hola
Seguimos:
2- Abrimos el form FCamas (osea el principal).
En el evento OnCreate añadimos esto:



delphi
  1. procedure TFCamas.FormCreate(Sender: TObject);
  2. Var BaseDeDatos, ConStr : String;
  3.     IniFile: TIniFile;
  4. begin
  5.     // Obtiene la ruta y el nombre de la base de datos
  6.   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Direccion.ini');
  7.   BasedeDatos := IniFile.ReadString('BD','Path','');
  8.   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
  9.   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
  10.             'Data Source='+BaseDeDatos+';'+
  11.             'Persist Security Info=False;'+
  12.             'Jet OLEDB:Database Password=admin';
  13.   ADOConnection1.ConnectionString := ConStr;
  14.   ADOConnection1.Open;
  15.  
  16.   // creamos el loguin antes que el form principal
  17.     FLogin:=TFLogin.Create(self);
  18.   try
  19.     FLogin.ShowModal;
  20.   finally
  21.     FLogin.Free;
  22.   end;
  23.     // si es correcto, seguira aqui
  24.  
  25.   ADOQuery1.Open;
  26.   DateTimePicker1.Date:= now;
  27.   DTP1.Date:= now;
  28.   DTP2.Date:= now;
  29.   Panel6.Visible:= false;
  30.  
  31. end;



Como ves, primero busca la ruta de la base de datos, luego ejecuta el loguin y si es correcto, correra el programa (ya lo pondremos a funcionar).
Fíjate que lo llamo con el nombre que le pusimos al form.
Si corres el programa veras que sale primero el loguin, como no tiene nada lo cierras y saldra el principal.
Seguimos.
Saludos
  • 0

#13 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 09:36

Hola
Seguimos.
3- Abrimos la base de datos y vamos a crear una tabla mas.
Campos:
CodUsuario       Texto
Clave               Texto
La guardamos como Usuarios.
la abrimos y ponemos
Usuario
jose
clave
jose1
Bueno, ya sabemos quien podra entrar al programa.
seguimos.
Saludos


  • 0

#14 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 09:37

Ok todo esta correcto y funcionando como dices. :)
Un Saludo.

#15 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 09:49

Hola
Seguimos.
3- Abrimos la base de datos y vamos a crear una tabla mas.
Campos:
CodUsuario        Texto
Clave                Texto
La guardamos como Usuarios.
la abrimos y ponemos
Usuario
jose
clave
jose1
Bueno, ya sabemos quien podra entrar al programa.
seguimos.
Saludos


Aqui creo que cometi un error no mire bien y cree no una tabla mas.Lo que paso fue que agregue dos campos mas.
Ya reparo eso.

La guardamos como Usuarios.

Aqui fue donde me di cuenta que algo no estaba bien.

Un Saludo.


#16 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 09:54

Hola Carlos, cuando yo abro la base de datos tengo tres obciones y la tabla ya creada, ¿cual es la que tengo que selicionar?

Un Saludo

#17 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 09:57

Hola
La primera
Crear una tabla en vista diseño
Saludos
  • 0

#18 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 10:06

Hola
Seguimos, esta parte es importante.
4- Nos posicionamos en el form del loguin (FLogin).
a-Le colocamos un AdoQuery.
b-Le vamos a cambiar el name por: ADLogin
c-En la propiedad Connection le ponemos: FCamas.ADOConnection1
.....Estamos haciendo referencia a que busque la conexion en el form camas.
d-Nos posicionamos en el adoquery (ADLogin)
.....En la propiedad SQL presionamos el boton, nos saldra una pantallita, vamos a ponerle esto y le damos OK:


sql
  1. SELECT CodUsuario, Clave  FROM Usuarios WHERE
  2. CodUsuario = nom


e- Le damos doble click al ADLogin, nos saldra una pantallita.
....Nos posicionamos en la pantallita y con el raton derecho buscamos ADD Fields.
....Nos saldra otra pantalla con los campos seleccionado, le damos OK.
....Esto nos pasara los campos a la pantallita.
f- Nos posicionamos en el ADLogin.
....En la propiedad parameters, presionamos el boton.
....Nos saldra otra pantallita, deberia estar un parametro con el nombre (nom).
Si no esta, me dices y seguimos.
Saludos
  • 0

#19 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 29 noviembre 2008 - 10:47

Hola
Sigues'''?'????
Te perdiste en el camino al baño??? :D :D
Saludos

jajajajajaja se me formo un conflicto aqui. Todo estaba bien hasta donde le doy doble click al Ado y seleciono Add fields me da un error donde me dice que ese path es un error.
Creo entender la naturaleza del problema Yo no tengo Delphi6 asi que es un conflicto que me ponga eso como parte de una ruta en mi pc. ;)

Un Saludo.
PD:Creo que tiene algo que ver con tu programita y que esta en mi pc tambien.

#20 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 noviembre 2008 - 10:51

Hola
Estas seguro que lo sigues paso a paso.
Saludos
  • 0




IP.Board spam blocked by CleanTalk.