Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Hangi Bileşen Tetikledi ??  (Okunma sayısı 716 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı SsEeRrCcAaNn

  • Kıdemli Üye
  • *****
  • İleti: 703
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Delphi and JALv2 programmer
Hangi Bileşen Tetikledi ??
« : 25 Ağustos 2010 09:14:09 »
Arkadaşlar 18 tane combobox var elimde ve hepsinin select olayı bir procedure bağlı.. gayet iyi kullanıyorum fakat o procedure yi tetikleyenin adını nasıl alabilirim.. ? yani hangisi tetikledi ise onun adını almam gerekli? yardımcı olursanız sevinirim...

Kolay gelsin..
Artık bir insanın önüne bir bilgisayar koyarak onu daha üretici yapamıyoruz. O günler geride

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 769
  • Rep: +13/-0
  • Cinsiyet: Bay
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #1 : 25 Ağustos 2010 11:40:44 »
Kod: [Seç]
procedure TForm1.ComboBox1Change(Sender: TObject);
var combo:TComboBox;
begin
  if Sender is TComboBox then begin
    combo:=TComboBox(Sender);
    if SameText(combo.Name,'ComboBox1') then ShowMessage('ComboBox1 seçildi')
    else if SameText(combo.Name,'ComboBox2') then ShowMessage('ComboBox2 seçildi');
    else ....
  end;
end;
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir

Çevrimdışı SsEeRrCcAaNn

  • Kıdemli Üye
  • *****
  • İleti: 703
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Delphi and JALv2 programmer
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #2 : 25 Ağustos 2010 17:57:44 »
Kod: [Seç]
procedure TForm1.ComboBox1Change(Sender: TObject);
var combo:TComboBox;
begin
  if Sender is TComboBox then begin
    combo:=TComboBox(Sender);
    if SameText(combo.Name,'ComboBox1') then ShowMessage('ComboBox1 seçildi')
    else if SameText(combo.Name,'ComboBox2') then ShowMessage('ComboBox2 seçildi');
    else ....
  end;
end;

şaban bey teşekkür ederim...
Artık bir insanın önüne bir bilgisayar koyarak onu daha üretici yapamıyoruz. O günler geride

Çevrimdışı barutali

  • Administrator
  • *****
  • İleti: 2.117
  • Rep: +51/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #3 : 25 Ağustos 2010 20:42:25 »
@sabanakman hocam cevabınız üzerine cevap vermek haddim değil ama aşağıdaki gibi düzenlersek daha kısa olur diye düşünüyorum ..


var
 combo:TComboBox;
begin
  if Sender is TComboBox then begin
    combo:=TComboBox(Sender);
    ShowMessage(combo.Name);
  end;
end;



Amatör Küme Programcı

Çevrimdışı SsEeRrCcAaNn

  • Kıdemli Üye
  • *****
  • İleti: 703
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Delphi and JALv2 programmer
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #4 : 26 Ağustos 2010 11:01:19 »
arkadaşlar yardımlarınız için tşk ederim ama aşağıdaki tanımlamayıda eklerseniz sorun çıkmayacaktır..

var
Sender : TWincontrol;

kolay gelsin..
Artık bir insanın önüne bir bilgisayar koyarak onu daha üretici yapamıyoruz. O günler geride

Çevrimdışı barutali

  • Administrator
  • *****
  • İleti: 2.117
  • Rep: +51/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #5 : 26 Ağustos 2010 11:17:59 »
bu haliyle onChange olayında sorunsuz test almıştım..



Amatör Küme Programcı

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 769
  • Rep: +13/-0
  • Cinsiyet: Bay
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #6 : 26 Ağustos 2010 12:19:50 »
Aslında burada amaç kısa kod yazmak değil,  bizzat o nesneyi elde edip elde edilen nesneye göre kod yazılmasına yol göstermek olduğu için bu şekilde açık ve uzunca kod yazıldı.
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir

Çevrimdışı SsEeRrCcAaNn

  • Kıdemli Üye
  • *****
  • İleti: 703
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Delphi and JALv2 programmer
Ynt: Hangi Bileşen Tetikledi ??
« Yanıtla #7 : 26 Ağustos 2010 13:38:52 »
@barutali

procedure TForm1.ornekyordam;

şeklinde bir procedurede kullandığım için  var Sender : TWincontrol; gibi bir tanımlama yaptım.. ama onChange gibi bir olayda kullanıldığında sorun çıkarmaz..

yardımlarınız için tşk ederim arkadaşlar..
Artık bir insanın önüne bir bilgisayar koyarak onu daha üretici yapamıyoruz. O günler geride