Delphi 2010'da, herhangi bir endekslenmiş özellikte (örneğin, TPageControl Sayfaları gibi) yineleme yolu var mıdır?Delphi 2010'da dizinlenmiş özellik üzerinden yineleme
cevap
Hayır, bu standart model yok gibi, mümkün değildir Bazı sınıfların sayımcıları niçin vardır: bu, onu nasıl sıralayacağını açıklayan bir kalıptır.
- çoğu kez endeksi tamsayı
- çoğu kez endeksi söyleyen bir özellik Count veya Uzunluk yoktur sıfır
- en kez çarpar:
Ne ancak yapabileceğiniz en iyi tahmindir son değeri
Son olarak, "retrofit" TPageControl with a GetEnumertor using class helpers (ya da alttaki tür bir kayıt ise yardımcıları kaydedin) mümkündür.
İnternette araştırırken yazılarınızı (iyi şeyler) görüyordum, bunun için bir cevap bulmaya çalışıyorum :) Benim durumumda, farklı bileşenlerin yarım düzine indeksli özellikleri var . Sadece "Başlık" özelliği almak için onların üzerinden geçiyorum. Yani, şu anda yarım düzine neredeyse özdeş döngülerim var ve bundan hoşlanmıyorum. GetEnumerator şey güzel olsa da, bu kadar küçük bir sorun için çok fazla kod. –
Bu döngüleri bazı genel kodlara ayırmaktan, ardından özdeş olmayan kodu içeren bir anonim yöntem iletmekten ne dersiniz? –
Sizi doğru anlıyorsam, özellik ve dizin değerleri hakkında hiçbir şey bilmeden bu özellikler üzerinden RTTI üzerinden yineleme yapmak istersiniz. Geçerli dizin değerleri bir tamsayı değerleri dizisi olmaması gerektiğinden, bu mümkün olamaz. Dizin indekslerine sahip veya index değeri olarak nesne referansları olan özellikler olabilir. Ve RTTI’da, bir iterasyon için kullanılabilecek geçerli indeks değerlerini sorgulamak için bir mekanizma yoktur.
That kullanmak endeksinin başlangıç ve bitiş değerlerini belirten indeks türünü belirtir:
- 1. NSData baytları üzerinden yineleme
- 2. Ruby: Sabitler üzerinden yineleme
- 3. javascript Üzerinden Yineleme Yineleme ng-yineleme kullanılarak eşleştirilmesi
- 4. Python MySQLdb tablo üzerinden yineleme
- 5. JSON File PowerShell üzerinden yineleme
- 6. Delphi RTTI: Özellik sınıfını alın
- 7. Yuvalanmış json nesne dizilimi üzerinden yineleme
- 8. Ember.js ember-data Üzerinden yineleme Kayıt Dizileri
- 9. Bir fonksiyonun Delphi üzerinden geçersiz kılınması durdurulması
- 10. Seç'i seçer Nerede IEnumerable üzerinden iki yineleme sonuçlanır?
- 11. excel'e aktarım için datagrid satırları üzerinden yineleme (tekrar)
- 12. Python'da bu gömülü JSON "listesi" üzerinden nasıl yineleme yapılır?
- 13. C# Sunucuda saklanan tüm Oturumlar üzerinden yineleme mümkün mü? #
- 14. Delphi 10 HTTP üzerinden Seattle Veri Aktarımı: TDSAuthenticationManager.OnUserAuthenticate?
- 15. C# iç içe geçmiş özellik listelerini yinelemeli olarak yineleme
- 16. SQL Server'da dizinlenmiş görünümün boyutunu nasıl denetlerim?
- 17. Delphi bileşen tasarımı - alt özelliğe sahip bileşenden özellik sağlama
- 18. Yineleme
- 19. yineleme
- 20. yineleme
- 21. yineleme/
- 22. WPF: XAML özellik bildirimleri Setters üzerinden ayarlanmıyor mu?
- 23. Delphi
- 24. Delphi
- 25. Delphi
- 26. delphi
- 27. Delphi
- 28. Delphi
- 29. Delphi
- 30. Delphi
@TLame 'ActivePageIndex' dizinlenmiş bir özellik değil. –
Yorumunuzu anlamadım, bu arada oldukça saldırgan ... ActivePageIndex hakkında bir şey söylemedim, nerede gördüğünüzü bilmiyorum. Sayfalar dedim. –
Silinen yorumlara atıfta bulunduğumuzu kabul ediyorum –