Fórum Receita do bolo de um simples form de login #320518
03/05/2006
0
Vitor5
Curtir tópico
+ 0Posts
03/05/2006
Mahdak
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:
Gostei + 0
04/05/2006
Vitor5
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
Gostei + 0
04/05/2006
Mahdak
- o meu é do tipo fsNormal
- 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...
- Vitor, aqui no forum mesmo voce acha muita coisa boa... na pagina do clubedelphi tambem tem artigos e exemplos...
Abração
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)