Fórum Receita do bolo de um simples form de login #320518

03/05/2006

0

Boa tarde galera, já a vários meses venho queimando meus neuronios, tentando criar um simples form de login. Já tentei de tudo, gostaria que alguem que pudesse ajudar me dizendo exatamente o que fazer, uso delphi 2005, Interbase 7.5 , IBExpert, estava usando dbEXPress ou IBX(nativo), só que escrevo os códigos e não funciona. Porém gostaria de saber se alguem tem vontade de ensinar um iniciante, passo a passo. Obrigado Vitor5


Vitor5

Vitor5

Responder

Posts

03/05/2006

Mahdak

vamos lá....

1. crie a tabela login no seu banco

/* Table: LOGIN, Owner: SYSDBA */

CREATE TABLE "LOGIN"
(
  "CODIGO"INTEGER NOT NULL,
  "NOME"VARCHAR(100) NOT NULL,
  "SENHA"VARCHAR(10) NOT NULL,  
CONSTRAINT "PK_LOGIN" PRIMARY KEY ("CODIGO")
);



1. no seu projeto coloque um data module com os componentes da paleta IBX e configure eles.... se precisar saber como proceder com os componentes de uma olhadinha aqui: http://forum.clubedelphi.net/viewtopic.php?t=30575

2. crie um formulario de login que contenha um edit para o nome de usuario ´edit_Usuario´ e um para a senha ´Edit_Senha´. Coloque um Botão para validar.... vou colar o codigo de uma Unit como exemplo aqui pra voce ver:

unit U_Login;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, DB, IBDatabase, IBCustomDataSet;

type
  TLogin = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit_Usuario: TEdit;
    Label2: TLabel;
    Edit_Senha: TEdit;
    Btn_Ok: TButton;
    Btn_Cancelar: TButton;
    Image1: TImage;
    Qry_Login: TIBDataSet;
    IntegerField1: TIntegerField;
    IBStringField1: TIBStringField;
    IBStringField2: TIBStringField;
    IBStringField3: TIBStringField;
    IBStringField4: TIBStringField;
    IBStringField5: TIBStringField;
    IBStringField6: TIBStringField;
    DB_Login: TIBDatabase;
    Tr_Login: TIBTransaction;
    DS_Login: TDataSource;
    procedure Btn_OkClick(Sender: TObject);
    procedure Btn_CancelarClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
    
  end;

var
  Login: TLogin;
  wFechar : Boolean;

implementation

uses U_Principal, U_DM;

{$R *.dfm}



procedure TLogin.Btn_OkClick(Sender: TObject);
begin

    with Qry_Login do
    begin
        Close;
        SelectSQL.Clear;
        SelectSQL.add(´SELECT * FROM Login WHERE NOME =:User and SENHA =:Pass ´ );
        ParamByName(´User´).AsString:=Edit_Usuario.Text;
        ParamByName(´Pass´).AsString:=Edit_Senha.Text;
        open;
    if IsEmpty then
    begin
        MessageDlg(´Usuário ou Senha Inválidos´,MtError,[MbOk],0);
        Edit_Usuario.Clear;
        Edit_Senha.Clear;
        Edit_Usuario.Setfocus;
        Exit;
    end
      else
        begin
            wFechar := True;
            Login.Close;
            Principal.Show;
            Principal.StatusBar1.SimpleText := Edit_Usuario.Text;
            Edit_Usuario.Clear;
            Edit_Senha.Clear;
        end;
    end;
end;

procedure TLogin.Btn_CancelarClick(Sender: TObject);
begin
    Application.Terminate;
end;

procedure TLogin.FormCreate(Sender: TObject);
begin
    wFechar := False;
end;

procedure TLogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
    CanClose := wFechar;
end;

end.


3. No OnCreate do seu Formulário principal coloque isso:
 Login := TLogin.Create(nil);
 Login.ShowModal;


Obsservações:
----------------
- lembrando que a Palavra ´Login´ acima descrita é o nome do seu formulario de login...
- Coloque o Form Login em ´Avaliable Forms´, no menu Project / Options

4. Enjoy :wink:


Responder

Gostei + 0

04/05/2006

Vitor5

Boa noite Mahdak. Primeiramente obrigado por me responder. Continuando com minhas dúvidas. Meu form Principal é do tipo MDI(pai),
meus forms de cadastro de clientes e outros são do tipo Child(filhos). Gostaria de saber como criar o form de login, que tipo devo usar???
Você usou um dataModule, mas usou no form de login o TIBDataSet, TIBTransaction, e um data source isto???Por que não no datamodule?Você tem algum artigo pela net???Poderia me ajudar, se for o caso poderia dar meu e_mail do hotamail. Os livros que comprei são muitos vagos pois ninguem se aprofunda muito, e os codigos não funcionam, já reclamei com a editora e eles nem fornecem e_mail do autor, tô tentando me virar do jeito que posso. Obrigado Vitor5


Responder

Gostei + 0

04/05/2006

Mahdak

Boa noite Mahdak. Primeiramente obrigado por me responder. Continuando com minhas dúvidas. Meu form Principal é do tipo MDI(pai), meus forms de cadastro de clientes e outros são do tipo Child(filhos). Gostaria de saber como criar o form de login, que tipo devo usar???


- o meu é do tipo fsNormal

Você usou um dataModule, mas usou no form de login o TIBDataSet, TIBTransaction, e um data source isto???Por que não no datamodule?


- isso eu viajei ai... teria que acrescentar ´Datamodule1.Dataset1.blablabla´, eh que me esqueci de referenciar ele no exemplo, mas voce pode buscar as informações da tabela no datamodule perfeitamente...

Você tem algum artigo pela net???Poderia me ajudar, se for o caso poderia dar meu e_mail do hotamail. Os livros que comprei são muitos vagos pois ninguem se aprofunda muito, e os codigos não funcionam, já reclamei com a editora e eles nem fornecem e_mail do autor, tô tentando me virar do jeito que posso. Obrigado Vitor5


- Vitor, aqui no forum mesmo voce acha muita coisa boa... na pagina do clubedelphi tambem tem artigos e exemplos...

Abração


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar