bileşen çağırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
yastik
Üye
Mesajlar: 71
Kayıt: 01 Ağu 2003 05:26
İletişim:

bileşen çağırma

Mesaj gönderen yastik »

1-) b1 ve b2 butonuna bastığımda datasetin beforepost fonksiyonu çalışıyor
yapmak istediğim her iki butona basıldığında datasetin beforepost olayında farklı kontrollerin yapılması. beforepost fonksiyonunda çağrının hangi butondan geldiğini nasıl anlarız.

Gridleri excele export için ortak bir form tasarladım ve her forma ekledim
tpopup nesnesi kullanarak export yapıyorum. Export yaparken(Tpopup ın items larından birine basıldığında ) Tpopup nesnesini çağıran grid din adını nasılöğrenebilrim.

Teşekkürler
ALi ÇELİK
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

1-) b1 ve b2 butonuna bastığımda datasetin beforepost fonksiyonu çalışıyor
yapmak istediğim her iki butona basıldığında datasetin beforepost olayında farklı kontrollerin yapılması. beforepost fonksiyonunda çağrının hangi butondan geldiğini nasıl anlarız.
Global değişkenlerle kontrolü elinde tutmayı denesen.

Kalay gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
yastik
Üye
Mesajlar: 71
Kayıt: 01 Ağu 2003 05:26
İletişim:

Mesaj gönderen yastik »

pek etik olmaz sanırım :)

gönderenin kim olduğunu bilmek daha uygun değil mi?
ALi ÇELİK
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

bunu yapmak için bin tane yöntem bulunabilir. tag ları kullanırsınız sender ları veya başka değişkenleri.veya farklı eventlara yazarsınız.
:ara tag :ara sender
etik :?: niye pek anlayamadım.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
yastik
Üye
Mesajlar: 71
Kayıt: 01 Ağu 2003 05:26
İletişim:

Mesaj gönderen yastik »

etik işin espirisi.....

gönderen componentin name ine nasıl ulaşabilirim.
ALi ÇELİK
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

S.A.

Kod: Tümünü seç

if (sender as tbutton).Name='Button1' then
edit1.text:='button1' else edit1.text:='button2';
Ayrıca her kontrole farklı birer tag verip

Kod: Tümünü seç

if (sender as tbutton).tag=1 then
edit1.text:='button1' else edit1.text:='button2';
şeklinde de olabilir.


SAYGILARIMLA
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
Kullanıcı avatarı
yastik
Üye
Mesajlar: 71
Kayıt: 01 Ağu 2003 05:26
İletişim:

Mesaj gönderen yastik »

sender nesnesi yok ki örenek olarak kodları aşağıya yazdım.

Kod: Tümünü seç

procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet);
begin
  { hangi butondan çağırıldım ben
     button1 mi? Yoksa sppedbutton1 mi?
      }
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOTable1.Post
end;



procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  ADOTable1.Post
end;
ALi ÇELİK
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

HusoNet in dediği gibi Global bir değişken ile yakalayabilirsin..
xSender : Byte;
..
..

Button1 click inde
xSender := 1;
...
...
Button2 click inde
xSender := 2;

onBeforePost tada
if xSender = 1 then
....
else
.....
gibi
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
yastik
Üye
Mesajlar: 71
Kayıt: 01 Ağu 2003 05:26
İletişim:

Mesaj gönderen yastik »

Husonet in söylediği yöntem güzel fakat başka bir yöntem daha bulabilirmiyiz diye merak ediyorum. Israrım o yüzden... :)
ALi ÇELİK
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

İlla başka yöntem istiyorsan :)

- Button.TXT diye bir dosyan var. Button1 e bastığında dosyaya Button1 yazar, SpeedButton'a bastığında SpeedButton yazar. BeforePost'ta bu dosyayı okur ve hangi düğmeye basılmış anlarsın. :D

- Button1 e bastığında Notepad'i açarsın, speedbutton a bastığında calculator'u. Beforepost'ta bellekte hangisinin açık olduğuna bakıp düğmeyi anlarsın. :D

- Button1'e bastığında bir exception oluşturur fakat bunu raise etmezsin. BeforePost'ta daha önce oluşan exception'u raise edip "except on EButton1" gibi bir kod ile hangi düğme olduğunu anlarsın. :D

Bu aslında şeye benzedi hani Niels Bohr'a okulda bir binanın yüksekliğini nasıl ölçersin diye sormuşlar o da 40 farklı yöntem saymış... :)

Velhasıl.. Bu anlattığım yöntemler işe yarar ama kullanışsız ve anlamsız. husonet'in önerisi en mantıklı ve basit olanı. Programlarken en basit yolu seçeceksin.
Kullanıcı avatarı
yastik
Üye
Mesajlar: 71
Kayıt: 01 Ağu 2003 05:26
İletişim:

Mesaj gönderen yastik »

amacimiz da bu zaten, ayrica buradaki alakasız bir yöndem başka bir zamanda çok alakalı olabilir. Di mi? ;)
ALi ÇELİK
Cevapla