P. 1
buku-delphi-edhi-nug

buku-delphi-edhi-nug

|Views: 7,186|Likes:
Published by setiazy

More info:

Published by: setiazy on Apr 12, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

07/23/2013

pdf

text

original

Pengujian keabsahan input menggunakan event BeforePost hanya dapat dilakukan apabila
perintah Post diletakkan di dalam exception block.

Latihan berikut ini akan menunjukkan bagaimana menguji input menggunakan event
BeforePost. Kita akan memastikan bahwa sebelum record baru disimpan, semua field tidak
kosong. Apabila ada field yang kosong maka dimunculkan exception Abort yang
mengakibatkan munculnya event OnPostError. Event handler OnPostError mempunyai pola
sebagai berikut :

64

procedure TDataPersonalia.GolonganTblPostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);

begin

end;

dimana DataSet berisi komponen dataset yang terkait dengan event ini, E merupakan
exception yang berisi pesan kesalahan, dan Action merupakan parameter yang menentukan
apa yang akan dilakukan dengan kesalahan tersebut. Action dapat diisi dengan salah satu
dari nilai di Tabel 6.x

Tabel 7-17. Nilai Action

Action

Keterangan

daFail

Batalkan operasi dan tampilkan pesan kesalahan

daAbort

Batalkan operasi tanpa menampilkan pesan kesalahan

daRetry

Ulangi operasi yang menyebabkan kesalahan. Kesalahan harus
dibetulkan terlebih dahulu di event handler sebelum
mengembalikan nilai ini

Event OnPostError digunakan untuk membatalkan perintah Post dengan mengisi parameter
Action dengan daAbort.

1.Aktifkan form PegawaiFrm.

2.Ubah event handler OnClick dari SimpanBtn menjadi seperti Listing 6-9.

Listing 7-18. Perubahan event handler OnClick dari SimpanBtn

procedure TGolonganFrm.SimpanBtnClick(Sender: TObject);
begin
try

DataPersonalia.GolonganTbl.Post;

finally
TambahBtn.Enabled:=True;
SimpanBtn.Enabled:=False;
UbahBtn.Enabled:=True;
HapusBtn.Enabled:=True;
BatalBtn.Enabled:=False;

end;
end;

3.Aktifkan form DataPersonalia.

4.Gunakan menu File | Use Unit | GolonganFrm untuk menghubungkan DataPersonalia

dengan form GolonganFrm, karena kita akan menggunakan komponen data control di
GolonganFrm.

5.Pilih komponen tabel GolonganTbl dan kemudian pindah ke Object Inspector.

6.Pilih tab Events dan buat event handler BeforePost dengan melakukan double-click

pada isian BeforePost.

65

7.Tulis Listing 6-9 sebagai event handler BeforePost dan Listing 6-10 sebagai event

handler OnPostError.

Listing 7-19. Event handler BeforePost dari GolonganTbl

procedure TDataPersonalia.GolonganTblBeforePost(DataSet: TDataSet);
var

Valid:Boolean;
begin

//cek isi masing-masing data control tidak kosong

with GolonganFrm do
begin

Valid:=(DBGolongan.Text <> '') and (DBGaPok.Text <> '');
if not Valid then
begin

ShowMessage('Semua field harus diisi, '
+' tidak boleh ada yang kosong');

//batalkan perintah, raise exception Abort

Abort;
end;
//if not Valid
end; //with PegawaiFrm

end;

Listing 7-20. Event handler OnPostError dari GolonganTbl

procedure TDataPersonalia.GolonganTblPostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);

begin

Action:=daAbort;

end;

8. Kompilasi program dan jalankan. Cobalah menambah record dan kemudian

menyimpan record baru dengan salah satu field dikosongkan / tidak diisi, anda akan
mendapat pesan 'Semua field harus diisi, tidak boleh ada yang kosong' dan kemudian
proses menambah record dibatalkan.

Kita sudah mempelajari bagaimana menggunakan event untuk menangani pengujian
keabsahan input sebelum input tersebut disimpan, berikut ini kita akan menguji keabsahaan
input menggunakan field dari tabel lain..

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->