Kod ile oluşturulan editlere keypress olayı ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Kod ile oluşturulan editlere keypress olayı ekleme

Mesaj gönderen neu84 »

S.a arkadaşlar,
program çalışır haldeyken kod ile gereken editleri oluşturuyorum, ancak sadece oluşturup ve deger atamakla kalabiliyorum. Bu oluşturdugum nesnelere event nasıl ekleyebilirm. Editbox oluşturuyorum bi kaç tane sayısı belli olmuyor, keypress eventı oluşturup enterla basılıp basılmamasını kontrol edicem, yada sayı harf kısıtlaması.. Bi öneriniz var mı? Nasıl yapabilirim bunu?
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Kod ile oluşturulan editlere keypress olayı ekleme

Mesaj gönderen unicorn64 »

bunun için keypressin tanımına uygun bir tane metod tanımlamalısın. tanımına uygundan kastım parametrelerin türü ve adı...

Kod: Tümünü seç

procedure MyKeyPress(Sender: TObject; var Key: Char);
begin
   // istediğin kontrolü burda yaparsın...
  // sender parametresini kullanırsın... TEdit(Sender) sana hangi editle işlem yapıldığını verir...
end;


procedure EditOlustur;
var
   e:Tedit;
begin
   e:=TEdit.Create(self);
   // edit i konumlandır vs...
   e.OnKeyPress := MyKeyPress; // işte anahtar nokta burası...
end;
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Kod ile oluşturulan editlere keypress olayı ekleme

Mesaj gönderen neu84 »

unicorn64 yazdı:bunun için keypressin tanımına uygun bir tane metod tanımlamalısın. tanımına uygundan kastım parametrelerin türü ve adı...

Kod: Tümünü seç

procedure MyKeyPress(Sender: TObject; var Key: Char);
begin
   // istediğin kontrolü burda yaparsın...
  // sender parametresini kullanırsın... TEdit(Sender) sana hangi editle işlem yapıldığını verir...
end;


procedure EditOlustur;
var
   e:Tedit;
begin
   e:=TEdit.Create(self);
   // edit i konumlandır vs...
   e.OnKeyPress := MyKeyPress; // işte anahtar nokta burası...
end;

Çokk teşekkürr ederimmm, Hızır gibi yetiştiniz :) aşadaki gibi yaptım.pekii bi sorum olacak,proseduru tanımlarkern tObject ve char tipinde parametre tanımladık. ama e.OnKeyPress := MyKeyPress; satırınca hiç parametre istemedi bizden, sebebi nedir bunun? ve sadece aşagıdaki kodu yazında çalıştı. nasıl bi çalışma mantıgı var ki bunun? Tüm evetler için bu şekilde kullanabilirmiyim?

Kod: Tümünü seç

procedure TfrmOranlar.proc_MyKeyPress(sender: TObject; var Key: Char);
begin
  if(Key=#13)then
    BEGIN
      Button4.Click;
    END;
end;
Cevapla