Delphi VCL projelerinde hayatı kolaylaştıran, standart bileşenlere akıllı ve modern yetenekler kazandıran pratik bir araç kütüphanesi.
4DFluent, Delphi geliştiricilerinin her projede tekrar tekrar yazdığı yardımcı fonksiyonları ve bileşen ekstralarını tek bir çatı altında toplar. "Fluent" (akıcı) kod yazım felsefesini benimseyerek, karmaşık işlemleri daha az kodla ve daha okunabilir şekilde yapmanızı sağlar.
Standart TStringGrid bileşenini Helper yapısı sayesinde modifiye etmeden güçlendirin:
- Dışa Aktarma: Tek satırla Excel, PDF ve CSV formatında çıktı alma.
- Gelişmiş Sıralama: Metin, sayı, tarih ve para birimlerini otomatik tanıyan Smart Sort özelliği.
- Görsel Özelleştirme: Hücre bazlı arka plan rengi, yazı tipi ve stil desteği.
- Kullanıcı Deneyimi: Gelişmiş klavye kısayolları (Copy/Paste vb.) ve otomatik sütun genişliği.
Verinin türünü (IP, Tarih, Sayı, GUID vb.) tahmin ederek mantıklı bir sıralama sunar:
- AlphaNumeric Sıralama: "Dosya 2", "Dosya 10"dan önce gelir.
- Otomatik Ayrıştırma: String içindeki veriyi tipine göre (Boolean, Currency, Date) otomatik kıyaslar.
Uzun süren işlemleriniz için anında hazır bir ilerleme çubuğu (Progress Bar) formu oluşturur:
- ESC Desteği: Kullanıcının işlemi iptal etmesini kolayca yönetin.
- Dinamik Güncelleme: İşlem devam ederken yüzdeyi ve durumu anlık güncelleyin.
Tek bir komutla grid içeriğini Excel dosyasına dönüştürebilirsiniz:
StringGrid1.ExportTo(etExcel, 'Raporum.xlsx');
// Sütun içeriğini otomatik algılar (Sayıysa sayıya göre, tarihse tarihe göre sıralar)
// Ctrl+Mouse ile fixedcols'a tıklanırsa o sütunu sıralar
StringGrid1.SortByColumn(1, True);
StringGrid1.SetCellStyle(2, 5, clRed, clWhite, True);
-
Dosyaları İndirin: Bu depodaki
.pasdosyalarını bilgisayarınıza indirin ve projenizin olduğu klasöre (veya Delphi'nin Library Path listesindeki bir klasöre) kopyalayın. -
Projenize Dahil Edin: Kullanmak istediğiniz özelliğe göre ilgili üniteyi kodunuzun
useskısmına eklemeniz yeterlidir:
uses
uStringGridHelper, // Grid'e Excel export ve akıllı sıralama ekler
uSmartComparer, // Verileri tipine göre otomatik kıyaslar
uProgressHelper; // Kolay kullanım progress bar sağlar
Aşağıdaki örnekte grid'i nasıl hazırlayacağınızı, rastgele verilerle dolduracağınızı ve belirli kriterlere göre hücreleri nasıl boyayacağınızı görebilirsiniz:
var
R: Integer;
begin
// 1. Helper ve Stil sistemini başlat
stringgrid1.InitHelper;
stringgrid1.PrepareStyleArray;
// 2. Grid yapısını oluştur
stringgrid1.ColCount := 6;
stringgrid1.FixedRows := 1;
stringgrid1.RowCount := 10000;
// 3. Verileri doldur ve şartlı renklendirme yap
for R := 1 to stringgrid1.RowCount - 1 do
begin
stringgrid1.Cells[0, R] := R.ToString;
stringgrid1.Cells[1, R] := 'A' + IntToStr(Random(10)) + 'B' + IntToStr(Random(10)) + 'C';
stringgrid1.Cells[2, R] := IntToStr(Random(100000));
stringgrid1.Cells[3, R] := DateToStr(EncodeDate(2010 + Random(15), 1 + Random(12), 1 + Random(28)));
stringgrid1.Cells[4, R] := IntToStr(Random(50)) + ',' + IntToStr(Random(10));
stringgrid1.Cells[5, R] := IntToStr(Random(50)) + '.' + IntToStr(Random(10)) + '00' + ',' + IntToStr(Random(5));
// Eğer tarih 05.11.2020'den küçükse o hücreyi maviye boya
if StrToDateDef(stringgrid1.Cells[3, R], 0) < EncodeDate(2020, 11, 05) then
stringgrid1.SetCellStyle(3, R, clBlue, clWhite, True);
end;
// 4. Bir satırı tüm stiliyle birlikte kopyala
stringgrid1.CloneRow(1);
end;