Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
Buton üzerinden parametreli fonksiyon çağırmak |
Yanıt Yaz |
Yazar | |
merenefe
Yeni Üye Kayıt Tarihi: 08 Mayıs 2024 Durum: Aktif Değil Puanlar: 8 |
Mesaj Seçenekleri
Teşekkürler(0)
Gönderim Zamanı: 09 Haziran 2024 Saat 19:34 |
İyi günler,
Aşağıdaki kod örneklerinde de görüldüğü üzere veritabanımdan gelen kullanıcıların her birisi için bir buton oluşturdum ve id değerlerine göre ilgili fonksiyona parametre göndererek işlem yapmak istiyorum. Fakat buton'un event kodlarında fonksiyon çalıştırabilirken parametreli fonksiyonu nasıl çalıştırabileceğimi (veya böyle bir özellik mevcut mu?) bilmiyorum. Bu durum için ,alternatif bir yol da mevcut ise, çözümünüzü bekliyorum. void TestFunc(idTest : Integer){ ShowMessage(idTest); } void GetUsernamesToListView { try selectQuery.SQL.Text = 'SELECT id,username from users'; selectQuery.Open; if (selectQuery.Found) { while (not selectQuery.Eof) { btnUser = MyForm.AddNewButton(vertScrollBox,'btnUser'+selectQuery.FieldByName('id').AsString, selectQuery.FieldByName('username').AsString); MyForm.AddNewEvent(btnUser,tbeOnClick,'TestFunc(4)'); btnUser.Align = alMostTop; selectQuery.Next; } } else { ShowMessage('Kayıt bulunamadı!'); } finally } } Teşekkürler.
|
|
Mehmet Eren Efe
|
|
Atiker01
Forum Yöneticisi Kayıt Tarihi: 26 Temmuz 2023 Durum: Aktif Değil Puanlar: 92 |
Mesaj Seçenekleri
Teşekkürler(0)
|
Merhaba Eren,
Aşağıdaki örnekte yer alan kodlamada butonlar dinamik oluşturuluyor. Butonların hint özelliğinin içerisine butonların id'si yazılıyor. Butonlara tek bir click void atanıyor. Void içerisinde hint değerine bakılarak hangi butonun tıklandığı belirleniyor. Var MyForm:TclForm; testPanel : TclProPanel; testBtn : TClProButton; i : Integer; void BtnOnClick; var clickedBtn:TClProButton; { clickedBtn = TClProButton(Myform.Clsender); ShowMessage(clickedBtn.Caption); //TClProButton(Myform.Clsender).Caption ShowMessage(clickedBtn.Hint); clickedBtn.Caption = '+++'; } { MyForm=TclForm.Create(self); testPanel=MyForm.AddNewProPanel(MyForm,'testPanel'); clComponent.SetupComponent(testPanel,'{"Align" : "Center","Width" :200, "Height":300,"RoundHeight":10,"RoundWidth":10,"BorderColor":"#3a32a8","BorderWidth":2}'); for (i = 0 to 4) { testBtn = MyForm.AddNewProButton(testPanel,'testBtn'+IntToStr(i+1),''); clComponent.SetupComponent(testBtn,'{"caption":"testBtn'+IntToStr(i+1)+'","Align" : "Top","MarginTop":5,"MarginLeft":5,"MarginRight":5, "Height":50}'); MyForm.SetImage(testBtn,'https://clomosy.com/demos/foodInformationBox.png'); testBtn.Hint = 'Document '+IntToStr(i); MyForm.AddNewEvent(testBtn,tbeOnClick,'BtnOnClick'); } MyForm.Run; } iyi çalışmalar.
|
|
merenefe
Yeni Üye Kayıt Tarihi: 08 Mayıs 2024 Durum: Aktif Değil Puanlar: 8 |
Mesaj Seçenekleri
Teşekkürler(0)
|
Olumlu, teşekkürler.
|
|
Mehmet Eren Efe
|
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |