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. |
İç içe for ile form nesnelerinin kullanımı |
Yanıt Yaz |
Yazar | |
ubakgul
Yeni Üye Kayıt Tarihi: 19 Temmuz 2023 Durum: Aktif Değil Puanlar: 10 |
Mesaj Seçenekleri
Teşekkürler(0)
Gönderim Zamanı: 24 Temmuz 2023 Saat 13:56 |
Merhaba,
İç içe for döngüsü kullanarak matris oluşturmaya çalışıyorum. Kodlar ve karşılaştığım sorunlar aşağıdaki gibidir. Matriste alt satıra geçmek için satirLyt kullandım. Sütunları oluşturmak için satirLyt içine sutunLyt ekledim. SutunLyt içine butonları ekliyorum. Resimlerde görüldüğü gibi sütunda ve satırda ilk değeri yazdıktan sonra son değerden başlayarak buton ekliyor. Bu sorun nasıl düzeltilebilir? sutunLyt ve alanBtn eklerken içine eklediğim alanların isimleri (satirLyt ve sutunLyt), i ve j değerleriyle birlikte değişebilirse sorunun çözülebileceğini düşünüyorum. Bu form değişkenlerinin i ve j ile birlikte kullanımı var mı, varsa nasıl kullanabilirim? var MyForm:TclForm; satirLyt,sutunLyt:TClLayout; arkaPnl,p1:TCLPanel; alanBtn: TCLButton; i,j:Integer; begin MyForm := TclForm.Create(Self); arkaPnl:=MyForm.AddNewProPanel(MyForm,'arkaPnl'); clComponent.SetupComponent(arkaPnl,'{"Align" : "Client","BackgroundColor":"#EEE8AA"}'); p1:=MyForm.AddNewProPanel(arkaPnl,'p1'); clComponent.SetupComponent(p1,'{"Align" : "Client","BackgroundColor":"#EEE8AA"}'); for i:= 0 to 4 do begin satirLyt:=MyForm.AddNewLayout(p1,'satirLyt'+IntToStr(i)); for j:=0 to 4 do begin sutunLyt:=MyForm.AddNewLayout(satirLyt,'sutunLyt'+IntToStr(i)+IntToStr(j)); sutunLyt.Align:=alleft; sutunLyt.Width:=30; sutunLyt.Height:=30; alanBtn:=MyForm.AddNewProButton(sutunLyt,'alanBtn'+IntToStr(i)+IntToStr(j),IntToStr(j)); clComponent.SetupComponent(alanBtn,'{"Align" : "left","Width" :50, "Height":50, "BorderColor":"#000000","BorderWidth":1, "BackgroundColor":"#ffffff"}'); end; end; MyForm.Run; end; |
|
ztashia
Forum Yöneticisi Kayıt Tarihi: 25 Mayıs 2023 Konum: Türkiye/Konya Durum: Aktif Değil Puanlar: 20 |
Mesaj Seçenekleri
Teşekkürler(1)
|
Merhaba,
Aşağıda ki kodda çözümü bulabilirsiniz. Yapılan Değişiklikler;
******************************************************************************** var MyForm:TclForm; satirLyt,sutunLyt:TClLayout; arkaPnl,p1:TCLPanel; alanBtn: TCLButton; i,j:Integer; procedure alanBtnOnClick; begin ShowMessage(TCLButton(MyForm.ClSender).Text); end; begin MyForm := TclForm.Create(Self); arkaPnl:=MyForm.AddNewProPanel(MyForm,'arkaPnl'); clComponent.SetupComponent(arkaPnl,'{"Align" : "Client","BackgroundColor":"#EEE8AA"}'); p1:=MyForm.AddNewProPanel(arkaPnl,'p1'); clComponent.SetupComponent(p1,'{"Align" : "Client","BackgroundColor":"#EEE8AA"}'); for i:= 0 to 4 do begin satirLyt:=MyForm.AddNewLayout(p1,'satirLyt'+IntToStr(i)); satirLyt.Align:=alMostTop; for j:=0 to 4 do begin sutunLyt:=MyForm.AddNewLayout(satirLyt,'sutunLyt'+IntToStr(i)+IntToStr(j)); sutunLyt.Align:=alMostleft; sutunLyt.Width:=30; sutunLyt.Height:=30; alanBtn:=MyForm.AddNewProButton(sutunLyt,'alanBtn'+IntToStr(i)+IntToStr(j),IntToStr(I)+' - '+IntToStr(j)); clComponent.SetupComponent(alanBtn,'{"Align" : "client","Width" :50, "Height":50, "BorderColor":"#000000","BorderWidth":1, "BackgroundColor":"#ffffff"}'); MyForm.AddNewEvent(alanBtn,tbeOnClick,'alanBtnOnClick'); end; end; MyForm.Run; end; ********************************************************************************
İyi Günler. |
|
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 |