Membuat rumus perhitungan dengan component edit pada Delphi
Assalamu’alakum Wr WbAlhamdulillah, Selamat datang di blog saya. Kita tau kalau biasanya kita melakukan perhitungan dengan menggunakan tombol(Button), jadi hasil dari perhitunganya akan keluar apabila tombolnya ditekan. Nah pada postingan kali ini kita coba tanpa menggunakan tombol, jadi langsung pakai component edit. Lumayan bisa ngirit tombol, hehehe,
Ada 2 cara alternative yang akan saya sampaikan disini.
1. Menggunakan event on keypress
Jadi Hasil akan muncul setelah di enter.
Untuk contohnya buat form seperti di bawah ini:
Penulisan programnya:
- Aktifkan Edit2(bagian tengah)
- Pada Jendela object Inspector, pilih tab event di samping properties.
- Pilih dan aktifkan onKeypress, seperti yang terlihat seperti gambar berikut ini:
- Double Click pada edit on keypress
- Ketikkan program berikut:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); var a,b,c:integer; begin if not (key=chr(13)) then exit; //program enter a:=StrToInt(Edit1.Text); b:=StrToInt(Edit2.Text); c:=a*b; Edit3.Text:=IntToStr(c); end; end.Nah setelah itu coba dijalankan
2. Menggunakan events onChange.
Cara kerja kalau pakai onChange, apabila kita memasukkan inputan maka hasil langsung muncul, tanpa harus ngenter.
Untuk scripnya hampir sama, bedanya klu disini tidak ada program penekanan enter.
Penulisan programnya:
- Aktifkan Edit2(bagian tengah)
- Pada Jendela object Inspector, pilih tab event di samping properties.
- Pilih dan aktifkan onChange, seperti yang terlihat seperti gambar berikut ini:
- Double Click pada edit onChange
- Ketikkan program berikut:
procedure TForm1.Edit2Change(Sender: TObject); var a,b,c:integer; begin a:=StrToInt(Edit1.Text); b:=StrToInt(Edit2.Text); c:=a*b; Edit3.Text:=IntToStr(c); end;Sekarang coba jalankan.
Kita bisa menggunakan program diatas, tapi apabila kita menghapus data yang ada di edit2 sampai kosong, maka program akan muncul peringatan seperti di bawah ini:
Ini terjadi karena data yang kita masukkan harus angka dan tidak boleh kosong, untuk mengakalinya kita bisa tambahkan fungsi if pada saat konversi ke integernya. Untuk scripnya sbb:
procedure TForm1.Edit2Change(Sender: TObject); var a,b,c:integer; begin if Edit1.Text='' then a:=0 else a:=StrToInt(Edit1.Text); if Edit2.Text='' then b:=0 else b:=StrToInt(Edit2.Text); c:=a*b; Edit3.Text:=IntToStr(c); end;setelah itu coba dijalankan..
Jadi kalau data di salah satunya kosong(‘’), data akan di anggap nol.
Itu cara dari saya, mungkin teman-teman bisa menggunakan cara lain yang lebih simple.
Mungkin dari program di atas kalau kita gak sengaja memasukkan huruf, maka perngatan yang tadi akan tetap muncul. Nah gimana caranya agar data tidak bisa dimasukkan huruf….? mungkin artikel selanjutnya akan dibahas. Bagi yang belum bisa tetap ikuti blog saya selanjutnya.. ok,,
Bagi yang sudah bisa, mohon diajarin yang belum bisa,,, hehehehe
Sekian postingan dari saya kali ini, apabila ada pertanyaan, dapat ditanyakan lewat komentar. Terima kasih atas kunjungannya, apabila ada salah kata saya mohon ma’af. Tetap semangat dan jangan mudah menyerah.
Wassalamu’alaikum Wr Wb
Tidak ada komentar:
Posting Komentar