Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Buton üzerinden parametreli fonksiyon çağırmak
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

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 Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
merenefe Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 08 Mayıs 2024
Durum: Aktif Değil
Puanlar: 8
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı merenefe Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Buton üzerinden parametreli fonksiyon çağırmak
    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
Yukarı Dön
Atiker01 Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi


Kayıt Tarihi: 26 Temmuz 2023
Durum: Aktif Değil
Puanlar: 92
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Atiker01 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 11 Haziran 2024 Saat 11:26
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}');

 testBtn.Hint = 'Document '+IntToStr(i);
 MyForm.AddNewEvent(testBtn,tbeOnClick,'BtnOnClick');
 }

 MyForm.Run;
}

iyi çalışmalar.
Yukarı Dön
merenefe Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 08 Mayıs 2024
Durum: Aktif Değil
Puanlar: 8
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı merenefe Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 11 Haziran 2024 Saat 17:52
Olumlu, teşekkürler.
Mehmet Eren Efe
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,094 Saniyede Yüklendi.