Untuk seorang pemula seperti saya ini tentu akan sangat pusing sekali mencari cara supaya membuat menu login pada program yang akan dibuat.
Setelah sekian lama mencari, akhirnya saya menemukan cara agar bisa membuat form login untuk program saya.
pertama - tama buat dulu tabel login di microsoft access atau Sql, tapi untuk contoh ini saya buat dalam microsoft access 2007
nama tabel : login (tinggal sesuaikan terserah anda)
field type
Username text
password text inputmask: password
setelah itu simpan database anda dengan format access 2003(ekstensi *.mdb).
buka program delphi anda. buat sebuah project baru,lalu buat 2 buah form ,beri nama formlogin dan formutama.
Form Login
implementasikan menuutama ddengan cara tekan alt+F11 lalu pilih menuutama klik oktambahkan komponen adoconnection,adoquery,2 tlabel, 2 tedit,2 tbutton, 1 progressbar. atur seperti gambar dibawah
klik pada adoconecction1 klik pada connecctionstring pada build pilih microsoft jet ole provider
pada select database name pilih database yang telah dibuat
kemudian klik test conecction lalu klik ok.
propeties login prompt isikan false, lalu connected : true.
klik pada adoquery1 lalu isikan sesuai berikut:
connection : adoconnection1
sql : select*from login
active : true
setelah itu klik pada form, masukkan kode berikut pada event oncreate:
procedure Tformlogin.FormCreate(Sender: TObject);
var
S:char;
alamatDB:widestring ;
begin
// Manipulasi cursors crSQLWait agar tidak tampil
Screen.Cursors[crSQLWait] := Screen.Cursors[crDefault];
// atur tampilan form
s :='*';
Edit1.Text := '';
Edit2.PasswordChar := s;
Edit2.Text := '';
end;
setelah itu klik dua kali pada button login dan masukkan kode berikut:
var
baris,nilai:integer;
begin
with ADOQuery1 do begin
Close ;
SQL.Clear; // bersihkan perintah sql jika ada
SQL.Add('select * from login where username='+QuotedStr(Edit1.Text));
Open ;
end; // end with
// jika tidak ditemukan data yang dicari maka
// tampilkan pesan
if ADOQuery1.RecordCount = 0 then
Application.MessageBox('Maap, username tersebut tidak ada', 'Informasi',MB_OK or MB_ICONINFORMATION)
else begin
if ADOQuery1.FieldByName('password').AsString <> Edit2.Text
then Application.MessageBox('Pastikan username atau password benar','Error', MB_OK or MB_ICONERROR)
else begin
ProgressBar1.Visible:=true;
baris:=100;
progressbar1.Min:=0;
progressbar1.Max:=baris;
for nilai:=1 to baris do
progressbar1.Position:=nilai;
progressbar1.Visible:=false;
form2.Hide;
Formutama.Show;
end
end;
end;
klik dua kali pada button cancel dan masukkan kode berikut:
application.terminated;
sehingga keseluruhan kodenya adalah sebagai berikut:
pilih jet 4.0 ole db provider |
pilih database yang telah di buat |
pilih jet 4.0 ole db provider |
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB;
type
TForm2 = class(TForm)
Edit1: TEdit;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Edit2: TEdit;
ProgressBar1: TProgressBar;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses umenuutama;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm2.Button2Click(Sender: TObject);
var
baris,nilai:integer;
begin
with ADOQuery1 do begin
Close ;
SQL.Clear; // bersihkan perintah sql jika ada
SQL.Add('select * from login where username='+QuotedStr(Edit1.Text));
Open ;
end; // end with
// jika tidak ditemukan data yang dicari maka
// tampilkan pesan
if ADOQuery1.RecordCount = 0 then
Application.MessageBox('Maap, username tersebut tidak ada', 'Informasi',MB_OK or MB_ICONINFORMATION)
else begin
if ADOQuery1.FieldByName('password').AsString <> Edit2.Text
then Application.MessageBox('Pastikan username atau password benar','Error', MB_OK or MB_ICONERROR)
else begin
ProgressBar1.Visible:=true;
baris:=100;
progressbar1.Min:=0;
progressbar1.Max:=baris;
for nilai:=1 to baris do
progressbar1.Position:=nilai;
progressbar1.Visible:=false;
form2.Hide;
Formutama.Show;
end
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
var
S:char;
alamatDB:widestring ;
begin
// Manipulasi cursors crSQLWait agar tidak tampil
Screen.Cursors[crSQLWait] := Screen.Cursors[crDefault];
// atur tampilan form
s :='*';
Edit1.Text := '';
Edit2.PasswordChar := s;
Edit2.Text := '';
end;
end.
Tidak ada komentar:
Posting Komentar
masukkan komentar anda disini