komutu gönderen butona göre işlem yaptırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

komutu gönderen butona göre işlem yaptırmak

Mesaj gönderen nitro »

merhaba
formun kapatma komutunu gönderen butona göre işlem yaptırmak istiyorum.
ağaşıdaki gibi bir kod yazdım. Delphi Syntax hatası vermiyor ama showmessage ile almaya çalıştığım mesajı da göstermiyor.

Kod: Tümünü seç

procedure Tstoktanim.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if sender=speedbutton1 then showmessage('aaa');
if sender<>speedbutton1 then
begin..............................
............................
saygılarımla
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Bu kodda butona göre değil; Form close olayına komut vermişsin.

Yani buton a bastın artık iş bitti demektir.

Kod: Tümünü seç

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if sender=speedbutton1 then showmessage('aaa');
Form1.Close;
end;

Diye düşünüyorum.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

bence düşündüğünüz şey doğru.
peki form.close komutunu gönderen hangi bileşendir onu bulmanın bir yolu yok mu acep?
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

tam anlayamadım ama bumudur.
classı öğrenme

Kod: Tümünü seç

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ShowMessage(sender.ClassName);
end;
classın koşuluna göre işlem

Kod: Tümünü seç

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin
if sender.ClassName=TForm1.ClassName then
showmessage('AAAAAAAA') ;
end;
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Selam.

Şu şekilde bi prosedür oluşturup object inspector'da butonların onclick event'ı olarak seçebilirsiniz.

Kod: Tümünü seç

procedure Tstoktanim.CloseEvent(Sender: TObject);
begin
  if Sender = SpeedButton1 then
    ...;
  if Sender = SpeedButton2 then
    ...;

  Close;
end;
Eğer OnClick event'ında çalıştırmanız gereken başka kodlar varsa OnClick prosedürü olarak bunu seçmeyin, normal prosedür oluşturup kodları yazıp şöyle yapın...

Kod: Tümünü seç

procedure Tstoktanim.SpeedButton1Click(Sender: TObject)
begin
  //istediğiniz kodlar...


  CloseEvent(Sender);  
end;
Kolay gelsin...
Cevapla