Ekrana raporlama aracı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Ekrana raporlama aracı

Mesaj gönderen omurolmez »

Arkadaşlar merhaba,

Hani bu quickreport, fastreport, vs araçlar var ya. İşte onların çıktı (yazıcı/kağıt, pdf, html, vs) almak için değil de ekranda görüntülemek için olanı var mı ?

Nasıl anlatabilirim bilmiyorum. Delphi de form tasarlamaya kabaca benzeyen bir mantık ile sql sorgusunu ve sql sorgusundaki ? alanlarının kullanıcıdan hangi isimler ile ve hangi veri tipi ile alınacağını yazılıma vermek istiyorum. Karşılığında yazılım bana bir tane windows formu oluşturacak ve bu form içinde, sorgudaki ? kısımlarına yerleştirilmek üzere veri girişi için gereken nesneler (TEdit, TMemoEdit, TDateTimePicker, TComboBox, vb) ve sonucu görüntülemek için bir grid bileşeni olacak (Delphi nin orjinal nesneleri olması şart değil. Hatta derlenmiş binary dahi olabilir. Bir şekilde kendi yazılımıma entegre olsun yeter).

İşte kabaca böyle bir yazılım arıyorum. Okuyan arkadaşlara şimdiden teşekkürler. Lütfen atlamayalım, quick report vb gibi çıktı mantığıyla değil; bir menüye eklenen formlar mantığıyla çalışan bir yazılım istiyorum.
Ömür Ölmez
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ekrana raporlama aracı

Mesaj gönderen mrmarman »

Merhaba.

- Kendi projelerimde bu söylediğin işlemi WORD ile oluşturduğum rapor ekranında veri ekleyeceğim yerlere <alanadi_01> gibi joker isimler vererek hallediyorum.

- Sonra bu WORD dosyasını HTML olarak (HTML filtersinden geçirip salt halini) kaydedip, delphi projesinin RESOURCE içine gömüyorum.

- Nihayetinde bu rapora ihtiyaç olduğunda RESOURCE içinden bunu açıp, bir StringList içine alıp, basit bir dizi StringReplace operasyonu ile bu joker yerleri gerçek veritabanı değerleri ile değiştiriyorum.

- Emin ol çok pratik ve verimli çalışıyor. Yıllardır herhangi bir raporlama aracı kullanmadım. Artık HTML çıktı alıp bunu gerektiğinde eposta da yolluyorum, gerektiğinde direkt yazıcıya çıktı da alıyorum. Hiç sıkıntı yaşatmıyor.
:idea:
Resim
Resim ....Resim
omurolmez
Üye
Mesajlar: 187
Kayıt: 31 Eki 2012 11:41

Re: Ekrana raporlama aracı

Mesaj gönderen omurolmez »

Muharrem Bey çok teşekkürler. İşte sizin bu anlattığınızın ekranda çalışan sürümü gibi düşünebiliriz. Biz firmada biraz başladık öyle bir şeye ama zaten yapıldıysa diye merak ettik.

Bizim aklımızdaki kabaca şöyle bir şey :
Programımız hiç derlenmiyor ve exe binary hiç değişmiyor. Veritabanında bir alana veya disk üstünde bir alana bir rapor dosyası ekliyoruz.
Bunu yaptığımızda, programın raporlar menüsüne yeni bir öğe (menuItem) eklenmiş olduğunu görüyoruz. Bu menüyü tıklarsak, standart bir rapor penceresi açılıyor. Bu pencerede gördüklerimiz, ilk başta eklediğimiz rapor dosyasında tanımlanmış özellikler oluyor. Örneğin pencerenin başlığı, bu rapor dosyasından alınıyor. Penceredeki girdi nesneleri (TEdit, TCombo, vs) bu rapor dosyasında tanımlı olanlar. Burada bir grid bileşeni oluyor ve bu griddeki sonucu oluşturan sql sorgusu yine bu rapor dosyasından geliyor. Bu sql sorgusunun where şartındaki ? alanları da penceredeki girdi nesnelerinden alınıyor.

İşte bu tür bir araç arıyoruz biz. Biz bu formun kaynak kodunu bize vermesini istemiyoruz. Çalışma zamanında görüntülemesi yeterli bizim için. Yani programımıza sonradan dört tane rapor eklemiş olabiliriz ancak projeyi Delphi de açtığımızda, bu dört tane raporu görmüyoruz; sadece bu istenilenleri yapan genel bir form, komponent veya dll görüyoruz.
Ömür Ölmez
Cevapla