
Un programita con login de validacion.
#21
Escrito 29 noviembre 2008 - 10:54
Esto no tiene que ver con delphi.
El path es parte del adoconnection, revisa bien eso, que este enlazado a la base de datos
Saludos
#22
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 10:56

#23
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 11:07
entonces si le digo (conectate true) me sale lo mismo que si entro al Add fields de el mismo.
este es el error:

Comico porque esa direcion no existe en mi PC.
Un Saludo.
#24
Escrito 29 noviembre 2008 - 11:08

Porque no pruebas Jose con crear la conexión de nuevo, desde cero; constatando de que la ruta sea la correcta...
#25
Escrito 29 noviembre 2008 - 11:10

Saludos.
#26
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 11:14

Dejame ver por que no tiene otra explicacion.Esa es la ruta de la PC de Carlos a este programa.No toque eso jejejeje lo juro.



Regreso ahora.
#27
Escrito 29 noviembre 2008 - 11:15
Paso a paso
En el form FCamas te posicionas en el adoconnection
Le das dobleclick
te saldra una pantalla, le das Build
Te saldra otra pantalla
en el punto 1 (select or enter a database name)
Ahi hay un edit y un boton con tres puntos, dale click al boton y busca la direccion de la base de datos, dale OK.
Abajo hay un boton (test Connection), presionalo, te saldra una pantalla OK, si esta todo correcto.
Saludos
#28
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 11:27

Regresando al Add fields me da un error dice que algunos parametros no estan definidos.
#29
Escrito 29 noviembre 2008 - 11:34
Perfecto, eso es asi,
El error debe decir: (Parameter nom has no default value)
Vamos a la siguiente parte.
Posicionate en el ADLogin
En las propiedades veras una que se llama parameters, le das click, te saldra una pantallita con un parametro de nombre nom.
Posicionate en ese nombre (nom)
En properties hay una que se llama value y debajo una que se llama type
Presiona Type y busca NULL
Quedara colocada en value.
Regresa al ADLogin, dale dobleclick, te saldra la pantallita, raton derecho, add files, en la otra pantallita OK.
Listo?.
saludos
#30
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 11:41

Ahora que sigue?
Un Saludo.
#31
Escrito 29 noviembre 2008 - 11:43
Ahora ya no me acuerdo despues de todo esto jajajaja
Espera.
Siguiente
Saludos
#32
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 11:44
jajajajajajajajajaja unas chelas pa refrescar.Hola
Ahora ya no me acuerdo despues de todo esto jajajaja
Espera.
Siguiente
Saludos







Salud!
#33
Escrito 29 noviembre 2008 - 11:49
Vamos a poner unas variables y despues de implementacion una referencia al fom camas en el fom FLoguin
var FLogin: TFLogin; // esto es lo nuevo Cuenta : integer; Usuario : String; LoginOK : boolean; implementation // esto hace referencia al form camas uses UCamas;
Si ejecutas el programa podria ser que te saliera un mensaje diciendo que el objeto esta abierto.
Solo sigue los pasos del adoconnection, pero solo dale test connection, eso lo arregla.
Seguimos
Saludos
#34
Escrito 29 noviembre 2008 - 11:53
Dale dobleclick al floguin, asi saldra el evento OnCreate.
Vamos a poner esto:
procedure TFLogin.FormCreate(Sender: TObject); begin Cuenta := 0; Usuario := ''; end;
Aqui ponemos la cuenta en 0 y el usuario indefinido.
Seguimos,
saludos
#35
Escrito 29 noviembre 2008 - 11:58
Cuando Hicimos el form del loguin pusimos:
2 edit
2 label
2 botones
Vamos a cambiarle los nombres a los edit.
El que esta delante de usuario lo llamaremos EUsuario
El que esta delante de Clave lo llamaremos EClave
Seguimos
Saludos
#36
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 11:58
Un Saludo.
#37
Guest_Jose Fco_*
Escrito 29 noviembre 2008 - 12:01
Hola
Cuando Hicimos el form del loguin pusimos:
2 edit
2 label
2 botones
Vamos a cambiarle los nombres a los edit.
El que esta delante de usuario lo llamaremos EUsuario
El que esta delante de Clave lo llamaremos EClave
Seguimos
Saludos
Listo.
Un Saludo.
#38
Escrito 29 noviembre 2008 - 12:05
Presionamos el boton OK del form (Dobleclick).
Nos saldra el evento de ese boton.
Ponemos esto:
procedure TFLogin.BtnOkClick(Sender: TObject); begin // de aqui en adelante LoginOK := False; ADLogin.Parameters.ParamByName('nom').Value:= EUsuario.Text; ADLogin.Active:= True; EUsuario.Text:= ADLogin.Fields[1].AsString; If ADLogin.RecordCount < 1 then Begin Cuenta := Cuenta + 1; MessageDlg('Usuario no encontrado',mtError, [mbOK], 0); EUsuario.Text := ''; EClave.Text := ''; ADLogin.Active := False; If Cuenta = 3 then Close; end else If ADLoginClave.AsString = EClave.Text then Begin LoginOk := True; ADLogin.Active := False; FClientes:=TFClientes.Create(self); try FLogin.Visible:= False; FClientes.ShowModal; finally FClientes.Free; end; Close; end else Begin Cuenta := Cuenta + 1; MessageDlg('Clave Inválida',mtError, [mbOK], 0); EClave.Text := ''; ADLogin.Active := False; If Cuenta = 3 then Close; end; end;
Presionamos el otro boton (cancelar)
Ponemos este otro codigo:
procedure TFLogin.BtnCancelClick(Sender: TObject); begin LoginOK :=False; Close; end;
Correlo a ver que pasa.
Seguimos?
Saludos
#39
Escrito 29 noviembre 2008 - 12:15
Si, a mi tambien me da ese problema, espera.
saludos
#40
Escrito 29 noviembre 2008 - 12:21
Vamos a corregir el error.
Paso a paso:
1- Vamos al form FCamas, en el evento OnCreate, vamos a quitarle el acceso al loguin.
Quedaria asi:
procedure TFCamas.FormCreate(Sender: TObject); Var BaseDeDatos, ConStr : String; IniFile: TIniFile; begin // Obtiene la ruta y el nombre de la base de datos IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Direccion.ini'); BasedeDatos := IniFile.ReadString('BD','Path',''); If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos'); ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source='+BaseDeDatos+';'+ 'Persist Security Info=False;'+ 'Jet OLEDB:Database Password=admin'; ADOConnection1.ConnectionString := ConStr; ADOConnection1.Open; { // creamos el loguin antes que el form principal FLogin:=TFLogin.Create(self); try FLogin.ShowModal; finally FLogin.Free; end; // si es correcto, seguira aqui } ADOQuery1.Open; DateTimePicker1.Date:= now; DTP1.Date:= now; DTP2.Date:= now; Panel6.Visible:= false; end;
o bien se lo quitamos del todo, asi:
procedure TFCamas.FormCreate(Sender: TObject); Var BaseDeDatos, ConStr : String; IniFile: TIniFile; begin // Obtiene la ruta y el nombre de la base de datos IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Direccion.ini'); BasedeDatos := IniFile.ReadString('BD','Path',''); If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos'); ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source='+BaseDeDatos+';'+ 'Persist Security Info=False;'+ 'Jet OLEDB:Database Password=admin'; ADOConnection1.ConnectionString := ConStr; ADOConnection1.Open; ADOQuery1.Open; DateTimePicker1.Date:= now; DTP1.Date:= now; DTP2.Date:= now; Panel6.Visible:= false; end;
Me sigues?
Saludos