Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-08-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Caral, precisamente lo tengo asi, el login en forma alvailable y el main en auto-create form y el error persiste todavia
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #2  
Antiguo 20-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Te as fijado que en uses del login este el datamodule?
No va a tener conexion si no lo incluye.
Revisalo, no se me ocurre nada.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 20-08-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
efectivamente esta incluido en el uses del form
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 20-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Este es el codigo del login:
Código Delphi [-]
unit UFLogin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls;

type
  TFLogin = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    EUsuario: TEdit;
    EClave: TEdit;
    BtnOk: TButton;
    BtnCancel: TButton;
    ADLogin: TADOQuery;
    ADLoginCodUsuario: TWideStringField;
    ADLoginNombre: TWideStringField;
    ADLoginClave: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure BtnOkClick(Sender: TObject);
    procedure BtnCancelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FLogin: TFLogin;
  Cuenta : integer;
  Usuario, Nombre : String;
  LoginOK : boolean;
    
implementation

uses UFClientes; // este es el fom que se conecta, revisarlo.

{$R *.dfm}

procedure TFLogin.FormCreate(Sender: TObject);
begin
    Cuenta := 0;
   Usuario := '';
   Nombre := '';
end;

procedure TFLogin.BtnOkClick(Sender: TObject);
begin
   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;
           Nombre := ADLoginNombre.AsString;
           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;

procedure TFLogin.BtnCancelClick(Sender: TObject);
begin
  LoginOK :=False;
   Close;
end;

end.
En projets, el login esta en main form.
Me dejas mal parado, no entiendo el problema.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 20-08-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Cita:
Empezado por Caral
Código Delphi [-]
       If ADLoginClave.AsString = EClave.Text then
Como comentario para el hilo, la clave es algo "sagrado".
Alguien mal intencionado podría utilizar la API GetWindowText(Edit1.Handle, Buffer); para obtener la clave del TEdit, lo que significa que PasswordChar no oculta completamente la contraseña. Por lo que aconsejo utilizar un código parecido a éste:


Código Delphi [-]
var Clave: string;
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var Temp: string;
begin
 if Key = #8 then
  begin
   if Length(Clave) <> 0 then
    SetLength(Clave, Length(Clave) - 1);
  end
 else
  if Key in ['0'..'9', 'a'..'z', 'A'..'Z'{etc}] then
   begin
    Clave := Clave + Key;
    Key := Edit1.PasswordChar;
   end
  else
   Key := #0;  
end;

Lo que le da un nivel mayor a la seguridad de la aplicación.
Es muy importante tambien NO realizar comparaciones directas con la clave; alguien puede lograr abrir la BD y ver las contraseñas. Lo óptimo es siempre encriptarla o en su defecto se puede sacar la CRC o Hash de la contraseña y guardar ése valor en ves de la contraseña como tal.

Saludos.

Última edición por cHackAll fecha: 20-08-2007 a las 18:34:37.
Responder Con Cita
  #6  
Antiguo 20-08-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
caral, resolvi el problema del error en vez poner en connection en la propiedad del adoquery el form donde esta la base de datos que es un datamodule lo conecte directamente a la base de dato a traves del connectionstring, pero ahora sucede otro problema, al poner el user y el pass le doy click al boton y lo que hace es que me limpia los edits, al no poner una clave o una clave erronea la clave real me aparece en el edit de user... que puede estar pasando? y gracias po tu tiempo caral..

saludos..
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #7  
Antiguo 20-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Que dificil, ni idea.
Coloca el codigo, a ver que esta pasando.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 20-08-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 24
enecumene Va por buen camino
Aqui esta el codigo Caral:

Código Delphi [-]
unit Login;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, ADODB;

type
  TFLogin = class(TForm)
    Label1: TLabel;
    EUsuario: TEdit;
    Label2: TLabel;
    EClave: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ADLogin: TADOQuery;
    ADLoginusername: TWideStringField;
    ADLoginpass: TWideStringField;
    ADLoginnom_user: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FLogin: TFLogin;
  Cuenta : integer;
  Usuario, Nombre : String;
  LoginOK : boolean;

implementation

uses Datos, inicio;

{$R *.dfm}

procedure TFLogin.FormCreate(Sender: TObject);
begin
   Cuenta := 0;
   Usuario := '';
   Nombre := '';
end;

procedure TFLogin.BitBtn1Click(Sender: TObject);
begin
 LoginOK := False;
   ADLogin.Parameters.ParamByName('cod').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 ADLoginpass.AsString = EClave.Text then
        Begin
           LoginOk := True;
           Nombre := ADLoginnom_user.AsString;
           ADLogin.Active := False;
           incio:=Tincio.Create(self);
           try
           FLogin.Visible:= False;
           incio.ShowModal;
           finally
           incio.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;

end.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.

Última edición por enecumene fecha: 20-08-2007 a las 18:52:49.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Login via base de datos en Delphi eudy.net Conexión con bases de datos 1 08-06-2007 07:28:14
Login intraweb rober_kobe Internet 4 06-07-2006 02:55:04
Ayuda En Login Y Pass Para Ingresar En un programa creado en Delphi Solojuegospc.tk Conexión con bases de datos 8 07-07-2005 03:18:28
Automatizar Login JoseQ Internet 0 30-03-2005 12:35:50
Login y Logout douguiehm Varios 5 10-12-2004 19:46:36


La franja horaria es GMT +2. Ahora son las 08:54:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi