Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
80 adet combobok hangisine tiklandi eventi.
#1
arkadaslar 80 adet combobox im var
cevap anahtari yapiyorum 
combobox a tek tek kod yazmak zor oluyor daha once duydum ama hic denemdim
event listener diye bir yapi hatirliyorum 80 tanenin hangisine tikladigini tespit edip ona gore islem yapabilecegim bir yapi
ben bunu arastiriyorum denemek istiyorum 
webde saglili bir bilgi bulamadim bana ornek verebilirmisiniz veya bu konuyu iyi anlatan linkler 
saygilar cok tesekkurler.
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#2
(31-01-2024, Saat: 13:43)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaslar 80 adet combobox im var
cevap anahtari yapiyorum 
combobox a tek tek kod yazmak zor oluyor daha once duydum ama hic denemdim
event listener diye bir yapi hatirliyorum 80 tanenin hangisine tikladigini tespit edip ona gore islem yapabilecegim bir yapi
ben bunu arastiriyorum denemek istiyorum 
webde saglili bir bilgi bulamadim bana ornek verebilirmisiniz veya bu konuyu iyi anlatan linkler 
saygilar cok tesekkurler.

Tüm comboboxları  seçip onclick eventinde şu şekilde tıklanan ile ilgili işlem yapabılırsın.

tcombobox(sender).items...
tcombobox(sender).itemindex...
tcombobox(sender).color...
tcombobox(sender).name...
Cevapla
#3
(31-01-2024, Saat: 13:43)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaslar 80 adet combobox im var
cevap anahtari yapiyorum 
combobox a tek tek kod yazmak zor oluyor daha once duydum ama hic denemdim
event listener diye bir yapi hatirliyorum 80 tanenin hangisine tikladigini tespit edip ona gore islem yapabilecegim bir yapi
ben bunu arastiriyorum denemek istiyorum 
webde saglili bir bilgi bulamadim bana ornek verebilirmisiniz veya bu konuyu iyi anlatan linkler 
saygilar cok tesekkurler.

Her ComboBox'ların Tag kısmına sıra numarası ver.
Tüm comboboxları aynı onclick eventini seç.

       if (sender is TComboBox) then

         begin
           case (sender as TComboBox).tag of
             1: ...
             2: ...
             3: ...
           end;
         end;

Cevapla
#4
Merhaba,

İstediğiniz böyle bir şey mi?

function TForm3.ComboWhich(Sender: TObject): string;
begin
 if (Sender is TComboBox) then
 begin
   Result := TComboBox(FindComponent(TComboBox(Sender).Name)).Items[0];
 end;
end;

procedure TForm3.ComboBox1Change(Sender: TObject);
begin
 ShowMessage(ComboWhich(Sender));
end;

   

Bütün combobox bileşenlerini seçip onChange olayını Combobox1Change alanına yazdığınız event'a bağlayın. Böylece tıklanan herhangi bir combobox'un 0. elemanının ne olduğunu alabilirsiniz.
Cevapla
#5
Result := TComboBox(FindComponent(TComboBox(Sender).Name)).Text;

bu sekilde yaptigimda istedigim oldu gibi ama bu bilginin yaninda hangi combobox a tikladigimin bilgisinede ihtiyacim var
 hangi combobox a tikladim icinden hangisine tikladim


mesela S12 comboboxin icindeki B ye tikladin seklinde 
su anda B bilgisini aliyoruz bunun yaninda combobox adi olan S12 yide alabilsek super olurdu.
saygilar sunarim..


arastirma ve kurcalama sonucu asagidaki 2 kod benim isimi goruyor 
eger sonuc olarak ikisinide ayri degisken olarak gondermeyide cozersem tamamdir 
saygilar
function TForm1.ComboWhich(Sender: TObject): string;
begin
if (Sender is TComboBox) then
begin
  Result := (Sender As TComboBox).Name;
  Result := TComboBox(FindComponent(TComboBox(Sender).Name)).Text;

end;
end; 
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#6
Merhaba,
Sanırım  böyle bir şey işinize yarayacaktır.


function TForm3.ComboWhich(Sender: TObject): TArray<string>;
begin
 SetLength(result, 2);
 if (Sender is TComboBox) then
 begin
   result[0] := TComboBox(Sender).Name;
   result[1] := TComboBox(FindComponent(TComboBox(Sender).Name)).Items[0];
 end;
end;

procedure TForm3.ComboBox1Change(Sender: TObject);
begin
 ShowMessage(ComboWhich(Sender)[0] + ' : ' + ComboWhich(Sender)[1]);
end;
Cevapla
#7
TComboBox(Sender).Items[0]; şeklinde bir kod iş göremesi gerekiyor.
Cevapla
#8
ComboWhich fonksiyonu ile geriye bir TCombobox dönerseniz ve result değerini TComboBox(Sender) ile tıklanan comboyu döndüğünüzde. Buradan combobox kontrolüne erişim sağlamış olursunuz. Buradan da ister text ister name yani özetle kontrole erişiminiz olur. Böylece istediğinizi yapabilirsiniz.
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#9
verilen her iki ornegide combobox i komple gonderip orda gonderilen yerde gerekli bilgileri almayi ikisinide denedim calistirdim cok tesekkur ederim. saygilar sunarim.
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Hangi bileşen tıklandı Aktolgali 8 4.127 10-08-2022, Saat: 22:56
Son Yorum: Aktolgali
  Delphi 7- 4 Adet Tablo Döngü Problemi bsrgmsy 2 3.009 20-05-2019, Saat: 17:17
Son Yorum: bsrgmsy
  İzin verilen adet kadar Dostk 16 11.746 06-06-2017, Saat: 20:49
Son Yorum: Dostk
  Kaç adet var Dostk 3 4.250 23-01-2017, Saat: 19:07
Son Yorum: Dostk
Lightbulb Formun taşınması eventi nedir ? yhackup 4 7.279 17-09-2016, Saat: 10:31
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi