Skip to content

gpaydas/4DFluent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 4DFluent

Delphi VCL projelerinde hayatı kolaylaştıran, standart bileşenlere akıllı ve modern yetenekler kazandıran pratik bir araç kütüphanesi.

📖 Hakkında

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.


✨ Öne Çıkan Özellikler

📊 Akıllı Grid Yönetimi (uStringGridHelper)

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.

🧠 Akıllı Veri Karşılaştırıcı (uSmartComparer)

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.

⏳ Modern İşlem Takibi (uProgressHelper)

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.

🛠 Kullanım Örnekleri

📊 Grid'i Excel'e Aktarmak

Tek bir komutla grid içeriğini Excel dosyasına dönüştürebilirsiniz:

StringGrid1.ExportTo(etExcel, 'Raporum.xlsx');

Akıllı Sıralama Yapmak

// 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);

Hızlı Hücre Boyama

StringGrid1.SetCellStyle(2, 5, clRed, clWhite, True);

🚀 Kurulum

  1. Dosyaları İndirin: Bu depodaki .pas dosyalarını bilgisayarınıza indirin ve projenizin olduğu klasöre (veya Delphi'nin Library Path listesindeki bir klasöre) kopyalayın.

  2. Projenize Dahil Edin: Kullanmak istediğiniz özelliğe göre ilgili üniteyi kodunuzun uses kı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

🚀 Basit Bir Başlangıç Örneği

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;

About

Delphi projelerinizde sürekli ihtiyaç duyduğunuz, karmaşık işlemleri tek satıra indiren basit ve etkili yardımcı sınıflar.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages