Senin, 18 November 2013

Memfilter Inputan Pada Delphi



Solusi :
Misal kita ingin memfilter inputan angka pada Edit1, masukkan listing program berikut pada event OnKeyPress Edit1. Sehingga menjadi :
procedure TForm2.Edit1OnKeyPress(Sender: TObject; var Key: Char);
begin
if ((key in ['0'..'9'] = false) and (word(key) <> VK_BACK)) then key := #0;
end;

Cara 2
Script untuk membuat agar TEdit pada delphi hanya bisa diisi oleh data angka saja, isikan script dibawah ini ke Event nya OnKeyPress TEdit:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

if not (key in['0'..'9', #8]) then
key:=#0;

end;

Penjelasan Source Code
if not    ==> menyatakan bahwa adanya pengkondisian dimana jika ia tidak.
key in  ==> menyatakan bahwa nilai yang boleh di input hanya angka dari 0 s/d 9 serta #8
                    (backspace). Selain dari itu semua maka tidak akan berfungsi di edit box.


memfilter inputtan hanya alfabet aja..












HANYA ALFABET SAJA
  1. procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);  
  2. begin  
  3.   //mensetting karakter apa saja yang boleh diinput  
  4.   if not(key in['A'..'Z','a'..'z',#13,' ','.',#8]) then  
  5.     begin  
  6.       key:=#0;//bila selain karakter diatas , maka akan kosong  
  7.     end;  
  8.   if key=#13 then  
  9.     begin  
  10.       if Edit1.Text<>'' then  
  11.         begin  
  12.           //perintah bila tombol enter di tekan , dan bila edit1 tidak kosong  
  13.         end;  
  14.     end  
  15.   else  
  16.     begin  
  17.       //perintah bila komponen edit1 tidak di isi  
  18.     end;  
  19. end;  
HANYA ANGKA SAJA
·  procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);  
·  begin  
·   //mensetting karakter apa saja yang boleh diinput  
·    if not(key in['0'..'9',#13,' ','.',#8]) then  
·      begin  
·        key:=#0;//bila selain karakter diatas , maka akan kosong  
·      end;  
·    if key=#13 then  
·      begin  
·        if Edit2.Text<>'' then  
·          begin  
·            //perintah bila tombol enter di tekan , dan bila edit2 tidak kosong  
·          end;  
·      end  
·    else  
·      begin  
·        //perintah bila komponen edit2 tidak di isi  
·      end;  
·  end; 

Tidak ada komentar: