Arsip: membuat change password untuk beberapa user
more 18 years ago
gormet
nanya lagi ah... :)
saya telah membuat password mengikuti link berikut:
http://pascal-id.org/dpr/PNphpBB2-viewtopi...ht-password.pas
http://pascal-id.org/dpr/PNphpBB2-viewtopi...ht-password.pas
dan berhasil untuk beberapa user.
namun ketika saya tambahkan form ganti password, saya gagal terus.
saya mengunakan tabel pada database dekstop (paradox7), dengan field "nama user" dan "password"
berikut ini coding yang saya coba:
FORM1:
procedure TForm1.Edit1Change(Sender: TObject);
var
ada:boolean;
begin
ada:=tbpassword.findkey();
if ada then
begin
edit3.Text:=tbpassword['password'];
exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ada_nama: boolean;
begin
ada_nama:=tbpassword.FindKey();
if
(ada_nama) and (edit2.Text=edit3.Text)
then
begin
form2.show;
form1.hide;
end
else
begin
application.messagebox('Maaf, nama atau password yang Anda ketikan salah', 'peringatan', MB_iconStop);
end;
end;
FORM2:
procedure TForm2.FormCreate(Sender: TObject);
begin
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=false;
edit4.Enabled:=false;
edit3.Color:=clMenu;
edit4.Color:=clMenu;
end;
procedure TForm2.Edit1Change(Sender: TObject);
var
ada:boolean;
begin
ada:=tbpassword.FindKey();
if ada then
begin
edit5.Text:=tbpassword['password'];
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
ada_nama:boolean;
begin
ada_nama:=tbpassword.FindKey();
if
(ada_nama) and (edit2.Text=edit5.text)
then
begin
edit3.Enabled:=true;
edit4.Enabled:=true;
edit3.Color:=clWindow;
edit4.Color:=clWindow;
edit3.SetFocus;
end
else
begin
application.MessageBox('Data lama tidak ditemukan','perhatian',mb_iconstop);
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
tbpassword.Delete; //perintah ini saya coba untuk mendelete "nama user" dan "password" yg akan di ganti, namun mendelete semua isi tabel.
tbpassword.Append;
tbpassword['nama']:=edit3.Text;
tbpassword['password']:=edit4.Text;
end;
yang ingin saya tanyakan bagaimana cara untuk mengganti "nama user" atau pun "password"?
"nama user" dan "password" nya saya simpan pada tabel pada database dekstop (paradox7).[/quote]
more 18 years ago
yayaretina
mugnkin code di bawah ini bisa sedikit membantu :
edit:
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ednama.Text;
T_User.FieldByName('password').AsString:=edpass.Text;
T_User.Post;
T_User.ApplyUpdates(0);
end;
sebelumnya pastikan nama dan password yang akan di edit ada di ednama dan edpass terlebih dahulu...
more 18 years ago
gormet
setelah saya coba, ada beberapa hal yg saya tdk mengerti:
1. coding saya pada FORM2:
procedure TForm2.FormCreate(Sender: TObject);
begin
ed_nama.enabled:=true;
ed_password.enabled:=true;
ed_new_nama.enabled:=false;
ed_new_password.enabled:=false;
ed_new_nama.color:=clmenu;
ed_new_password.color:=clmenu;
bt_Ganti.Enabled:=false;
end;
procedure TForm2.ed_namaChange(Sender: TObject);
var
ada:boolean;
begin
ada:=t_user.findkey();
if ada then
begin
ed_cek.Text:=t_user['password'];
exit;
end;
end;
procedure TForm2.bt_cekClick(Sender: TObject);
var
ada_nama:boolean;
begin
ada_nama:=t_user.FindKey();
if
(ada_nama) and (ed_password.text=ed_cek.text)
then
begin
ed_new_nama.Enabled:=true;
ed_new_password.Enabled:=true;
ed_new_nama.Color:=clwhite;
ed_new_password.Color:=clwhite;
ed_new_nama.SetFocus;
bt_Ganti.Enabled:=true;
end
else
begin
application.messagebox('Maaf, nama atau password yang Anda ketikan salah', 'peringatan', MB_iconStop);
end;
end;
procedure TForm2.KeluarClick(Sender: TObject);
begin
application.Terminate;
end;
procedure TForm2.bt_GantiClick(Sender: TObject); //procedure ini untuk ganti nama ataupun password, tapi masih error
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_nama.Text;
T_User.FieldByName('password').AsString:=ed_password.Text;
T_User.Post;
T_User.ApplyUpdates(0);
T_User['nama']:=ed_new_nama.Text;
T_User['password']:=ed_new_password.Text;
end;
end.
apakah ada yang salah dengan coding di atas? terutama
procedure TForm2.bt_GantiClick(Sender: TObject); //procedure ini untuk ganti nama ataupun password, tapi masih error
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_nama.Text;
T_User.FieldByName('password').AsString:=ed_password.Text;
T_User.Post;
T_User.ApplyUpdates(0);
T_User['nama']:=ed_new_nama.Text;
T_User['password']:=ed_new_password.Text;
end;
2. T_User.ApplyUpdates(0); //maksudnya apa, karena ketika saya run ada pesan 'to many actual parameters' , namun ketika saya ganti menjadi T_User.ApplyUpdates(); program jalan namun selalu ada pesan error (project password.exe raised exception class EDatabaseError with message T_User: Not in cached update mode'. Process stopped. Use Step or Run to continue)
mohon koreksi dan bantuannya, thx b 4 :)
more 18 years ago
imunk
ApplyUpdates(0) biasanya digunakan jika kita menggunakan tools koneksi DBEXPRESS,
perintah itu berfungsi untuk menyimpan data ke server karena jika kita pake perintah Post saja
berarti kita hanya baru menyimpan data pada sisi klien. CMIIW.....:)
menurutku jika memakai paradoks sbg penyimpan datanya tidak mungkin memakai DBEXPRESS, paling2
pake BDE yg dah ada di delphi.
procedure TForm2.bt_GantiClick(Sender: TObject); //procedure ini untuk ganti nama ataupun password, tapi masih error
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_nama.Text;
T_User.FieldByName('password').AsString:=ed_password.Text;
T_User.Post;
T_User.ApplyUpdates(0);
T_User['nama']:=ed_new_nama.Text;
T_User['password']:=ed_new_password.Text;
end;
coba ganti gini:
procedure TForm2.bt_GantiClick(Sender: TObject); //procedure ini untuk ganti nama ataupun password, tapi masih error
begin
if tbpassword.FindKey()= true then
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_nama.Text;
T_User.FieldByName('password').AsString:=ed_password.Text;
T_User.Post;
end;
end;
semoga membantu, jika masih bingung bisa tanyakan lagi, sapa tau ada suhu yg berbaik hati mau membantu....:)
jangan menyerah.
more 18 years ago
gormet
ok, makasih banget Bro imunk & Bro yayaretina :)
akan saya coba,
guru2, temen2 di forum ini sangat membantu ku.
more 18 years ago
imunk
sama2... aku jg masih newbie kok....
belajar bareng lebih asik daripada sendiri...:)
more 18 years ago
gormet
maaf baru di bahas lagi..
alhamdulillah akhirnya sukses :D
sukses cara1
procedure TForm2.GantiClick(Sender: TObject);
begin
if t_user.FindKey()= true then
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_new_nama.Text;
T_User.FieldByName('password').AsString:=ed_new_password.Text;
T_User.Post;
T_user.Refresh;
end;
end;
sukses cara2
procedure TForm2.GantiClick(Sender: TObject);
begin
if t_user.FindKey()= true then
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_new_nama.Text;
T_User.FieldByName('password').AsString:=ed_new_password.Text;
T_User.Post;
//T_user.Refresh;
end;
end;
sukses cara3
procedure TForm2.GantiClick(Sender: TObject);
begin
// if t_user.FindKey()= true then
// begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_new_nama.Text;
T_User.FieldByName('password').AsString:=ed_new_password.Text;
T_User.Post;
//T_user.Refresh;
// end;
end;
[/quote]
more 18 years ago
gormet
ini coding ringkas nya:
Form1 (Menu Login)
procedure TForm1.ed_namaChange(Sender: TObject); //untuk mencari password(disimpan pada ed_cek) dari nama yang diketikan pada ed_nama
var
ada:boolean;
begin
ada:=t_user.findkey();
if ada then
begin
ed_cek.Text:=t_user['password'];
exit;
end;
end;
procedure TForm1.MasukClick(Sender: TObject); //button untuk login
var
ada_nama:boolean;
begin
ada_nama:=t_user.FindKey();
if
(ada_nama) and (ed_password.text=ed_cek.text)
then
begin
form2.Show;
form1.free;
end
else
begin
application.messagebox('Maaf, nama atau password yang Anda ketikan salah', 'peringatan', MB_iconStop);
end;
end;
procedure TForm1.BatalClick(Sender: TObject); //button untuk mengulangi dari awal
begin
ed_nama.Text:='';
ed_password.Text:='';
ed_nama.setfocus;
end;
procedure TForm1.KeluarClick(Sender: TObject); //button untuk keluar dari menu login
begin
close;
end;
Form2 (Menu Ganti Password)
procedure TForm2.FormCreate(Sender: TObject); //untuk setingan awal pada Menu Ganti Password
begin
ed_nama.enabled:=true;
ed_password.enabled:=true;
ed_new_nama.enabled:=false;
ed_new_password.enabled:=false;
ed_new_nama.color:=clmenu;
ed_new_password.color:=clmenu;
btGanti.Enabled:=false;
btBatal1.Enabled:=false;
end;
procedure TForm2.ed_namaChange(Sender: TObject); //
var
ada:boolean;
begin
ada:=t_user.findkey();
if ada then
begin
ed_cek.Text:=t_user['password'];
exit;
end;
end;
procedure TForm2.btCekClick(Sender: TObject);
var
ada_nama:boolean;
begin
ada_nama:=t_user.FindKey();
if
(ada_nama) and (ed_password.text=ed_cek.text)
then
begin
ed_new_nama.Enabled:=true;
ed_new_password.Enabled:=true;
ed_new_nama.Color:=clwhite;
ed_new_password.Color:=clwhite;
ed_new_nama.SetFocus;
btGanti.Enabled:=true;
btBatal1.enabled:=true;
end
else
begin
application.messagebox('Maaf, nama atau password yang Anda ketikan salah', 'peringatan', MB_iconStop);
end;
end;
procedure TForm2.btbatal1Click(Sender: TObject); //untuk mengosongkan ed_nama dan ed_password
begin
ed_nama.Text:='';
ed_password.Text:='';
ed_nama.SetFocus;
end;
procedure TForm2.ed_new_namaChange(Sender: TObject);
var
ada_new_nama: boolean;
begin
ada_new_nama:=T_user.findkey();
if (ada_new_nama) and (ed_new_nama.Text<>ed_nama.Text)then
begin
ed_cek2.Text:=t_user['nama'];
exit;
end;
end;
procedure TForm2.btBatal2Click(Sender: TObject); //untuk mengosongkan ed_cek2, ed_new_nama dan ed_new_password
begin
ed_cek2.Text:='';
ed_new_nama.Text:='';
ed_new_password.Text:='';
ed_new_nama.SetFocus;
end;
procedure TForm2.btGantiClick(Sender: TObject);
begin
if (ed_cek2.Text<>'') then
begin
application.MessageBox('Nama telah digunakan oleh user lain', 'perhatian',mb_iconstop);
end
else
begin
if (ed_new_nama.Text='') or (ed_new_password.Text='')
then
begin
application.MessageBox('nama atau password Anda belum diisi', 'peringatan', mb_iconstop);
end
else
begin
T_User.Edit;
T_User.FieldByName('nama').Asstring:=ed_new_nama.Text;
T_User.FieldByName('password').AsString:=ed_new_password.Text;
T_User.Post;
T_user.Refresh;
end;
end;
end;
procedure TForm2.btKeluarClick(Sender: TObject);
begin
application.terminate;
end;
catatan:
ed_nama-->user name
ed_password-->password
ed_cek-->untuk menampilkan password si ed_name dari tabel(t_user)
ed_new_nama-->pengganti user name
ed_new_password-->pengganti password
ed_cek2-->untuk menampilkan user name dari tabel(t_user)
CMIIW :Dmore ...
- Pages:
- 1
- 2
reply |
Report Obsolete
AI Forward
🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago
Random Topic
- Menjalankan Program Dikomputer lain
by umarbakri in Hal umum tentang Pascal Indonesia more 19 years ago - Cari tutorial Delphi dan lain-lain ?
by EkoIndri in Tutorial & Community Project more 18 years ago - menghitung invers cos...???
by alvian_tc in Tip n Trik Pemrograman more 16 years ago - [ask]gimana buat form supaya memiliki style windows XP
by R960XT in Form Enhancement & Graphical Controls more 19 years ago - Tip Membuat/Membaca Tanggal dengan Fungsi Sendiri
by hasan_plg in Tip n Trik Pemrograman more 18 years ago - Shortest path...
by bayu in Tip n Trik Pemrograman more 17 years ago - Akses Store procedure mysql 5 dari d7 error dg dbexpress
by sukuguci in MySQL more 19 years ago - Animasi Loading saat koneksi
by r_rafer in Network, Files, I/O & System more 17 years ago - read assembler di delphi dengan CPORTLIB
by w4rek in Enginering more 18 years ago - Pemula Mohon Bantuan
by afry in Tip n Trik Pemrograman more 16 years ago