sender parametresi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
egedenizi
Üye
Mesajlar: 38
Kayıt: 25 May 2005 02:01

sender parametresi

Mesaj gönderen egedenizi »

merhabalar arkadaşlar.
Sizin için kolay fakat benim takıldığım bir soru sormak istiyorum.
Benim 1den fazla butonum var ve hangi butona basıldığını anlamak istiyorum.
Ben bu şekilde yaptım ama uzun oluyor.
if sender=button1 then showmessage('button1e basıldı');
if sender=button2 then showmessage('button2e basıldı');
if sender=button3 then showmessage('button3e basıldı');
...
...
...
Bunun kısa yolu varmıdır?Zannedersem Tbutton ile de yapılabiliyor herhalde.
Teşekkür ederim.....
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

merhaba

Kod: Tümünü seç

if Button1 = (Sender) then
showmessage('butona bastınız');
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Kod: Tümünü seç

ShowMessage (TButton (Sender).Name + 'e Bastınız')
gibi bir şey sanırım...
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

her bir butonda ayrı ayrı işlemler yaptıracaksan kolay bir yolu yok malesef ama daha okunaklı ve işlem sayısını azaltabilecek yollar mevcut aksi takdirde yukarıda verilen kod işini göreektir zaten.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Herkes değişik anladı ya sanırım yapılmak istenen şu;

Kod: Tümünü seç

if (Sender is TButton) then
  ShowMessage('Butona basıldı');
if (Sender is TBitBtn) then
  ShowMessage('BitBtn basıldı');
//vs.
Class ile karşılaştırmak yeterli.. Bileşenin adını da;

Kod: Tümünü seç

ShowMessage((Sender as TComponent).Name);
ile alabilirsin.. :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla