Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
styleden text adlarını alma
#1
Merhabalar.


Stylede oluşturduğum textlerin adını (name) döngü ile nasıl alırım? Çok sayıda text var.

ListBox1.Item.StylesData[I].AsString ???

Item.StylesData['Urunler'].AsString


Kolaylıklar dilerim herkese.
Cevapla
#2
Ctrl basılı iken StylesData üzerine tıklarsan TDictionary türüne ulaşıyoruz.
Oradan TDictionary'deki değerleri nasıl bulacağını görebilirsin.

FStylesData := TDictionary<string, TValue>.Create;

Key'leri de şöyle alıyor:

for key in StylesData.Keys do
 ShowMessage(key.AStringProperty);
Cevapla
#3
Acaba ben mi sizi anlamadım, siz mi soruyu yanlış anladınız?
Cevapla
#4
Aslında ben soruyu tam anladığımı söyleyemem kardeşim Smile
Sadece genel bir cevap vermek istedim belki işine yarar diye.
Cevapla
#5
Ürünlerin hangi özelliğine binaen stil üzerinden bir tespitte bulunmak istiyorsunuz? ListBoxItem nesnesinde TObject alanı ve birkaç özel alan bulunuyor. Bunlara ek olarak kendiniz bir CustomListBox nesnesi oluşturabilir ve ek field olarak istediğiniz alanları ekleyebilirsiniz. Örnek vermek gerekirse string[] bir Items alanına ek string[] SubItems bir alan ekleyip kendi komponentiniz ile çift indeks üzerinde her eleman için lüzum gördüğünüz alanı da grafiksel arayüzde gözükmeyen bu yeni iç dizide muhafaza edebilirsiniz. Aynı indekslerde ekleyeceğiniz için arayüzde gözüken Items.Selected hangisi ise aynı indeksi SubItems'e verip istediğiniz değere erişebilirsiniz.
Cevapla
#6
Merhaba.

FMX Style deneyimlerim ile ne anladığımı söyleyeyim, aslında ITEM değil de her ITEM'in başvuduğu, yani formunuzdaki değil de StyleBook içinden eklenen TEXT alanlarının NAME propertylerini istiyorsunuz sanırım. ( Hani OnStyleLookUp ile içeriğini doldurduğunuz) 

Doğru anlamışsam cevap aşağıdaki şekilde.

Bir treeview gibi düşünerek hangi dala ait veriyi listelemek istediğinizi aşağıdaki verdiğim örnekteki aFMXObject ile belirleyin.

b7bfcea7gtx9fovfp2xr.png

Örneğimizde : Styles[0] altında Children[0]  altında Children[0] altında Children[1] ile ilgileniyoruz.

var
 i          : Integer;
 aFMXObject : TFMXObject;
begin
 aFMXObject := StyleBook1.Styles[0].Style.Children[0].Children[0].Children[1];
 for i := 0 to aFMXObject.ChildrenCount-1
   do showmessage( aFMXObject.Children[i].StyleName );

Size ilgilendiğiniz daldaki Style FMXObject listesi gelecektir.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#7
Biraz geç oldu ama teşekkür ederim.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Türkçe Text To Speech yasaroguz332 2 385 15-12-2023, Saat: 16:30
Son Yorum: yasaroguz332
  Android WiFi network ismini alma 41linea41 4 536 02-10-2023, Saat: 11:57
Son Yorum: 41linea41
  Webden veri alma Husv 3 1.042 23-12-2022, Saat: 00:59
Son Yorum: Husv
  Tanımsız alandan veri alma Altıner 4 806 14-10-2022, Saat: 09:09
Son Yorum: Altıner
  Divden veri alma Altıner 9 1.931 01-10-2022, Saat: 06:44
Son Yorum: mrmarman



Konuyu Okuyanlar: 1 Ziyaretçi