5 Kasım 2011 Cumartesi

4. Raporlama için küçük bir detay

Hazırladığınız yazılımlarda eğer ekran veya kağıt üzerinde raporlar çıkartılıyorsa, özellikle aynı bilgileri içeren sütunların düzgün gösterilmesi önemlidir. Metin ya da sayı tüm veriler sütunlar halinde listelendiğinde okunaklı ve düzgün gösterilmesi neredeyse yazılımcı için bir zorunluluktur.

Metinlerin Düzgün Listelenmesi:

Metinlerin (isim, adres bilgileri gibi) düzgün listelenmeleri için harf sayılarının sabitlenmesi bir çözüm için mantıklı bir yaklaşım olsa da yeterli değildir. Burada önemli olan bir nokta da seçilen font olmaktadır. Fontlarda harflerin kapladıkları alanların büyüklükleri eşit olmadığından, örneğin 5 harflik 2 metnin aynı genişlikte olmasını beklememek gerekir. Ancak bu sorunun çözümü mevcuttur. 

"Courier New" isimli fontta, tüm büyük ve küçük harfler, noktalama ve ünlem işaretleri ile boşluk karakteri aynı genişliktedir. Bu yazı tipini seçerek, metin bilgilerinin aynı sütunda düzgün görüntülenmesini sağlayabilirsiniz. Aşağıda Arial ve Courier New fontlarında iki sütun bilgisini örnek olarak gösterdim.

ARIAL

COURIER NEW

Muğla Üniversitesi

Muğla Üniversitesi

Dicle Üniversitesi

Dicle Üniversitesi



Sayıların Düzgün Listelenmesi:

Zaten telefon numarası ya da TC kimlik numarası gibi belirli hanelerden oluşan sayıları gösteren sütunlarda sorun olmayacaktır. Ancak değişken rakam adedine sahip sayıları da aynı düzgünlükte göstermek tamamen yazılımcının isteği doğrultusunda elde edebileceği bir görsel özelliktir.

Örnek vermek gerekirse; bir ofiste kayıt edilen evrak numaralarının listelenmesi gösterilebilir. Programınızda gelen ve giden evrakların bilgilerini kayıt ettiğinizi varsayalım. Numaralar da, yıl, ayın numarası ve sıranosu şeklinde olsun. Mesela 12(yıl)4(ay)12(sırano) şeklinde 12412 bir evrak numarasıdır. Aynı şekilde 1211345 de bir evrak numarası olabilir. Siz tüm bu farklı değerleri veritabanında farklı alanlarda saklıyorsunuzdur ve evrak numarası verirken bunları birleştirip evraka verirsiniz. Ancak bir rapor oluşturmak istediğinizde şöyle bir sütunla karşılaşma olasılığınız çok yüksek:

1214
12412
1211345
12114564
1212873

Bu şekilde düzgün olmayan bir liste kullanıcılar tarafından tercih edilmeyecektir. Bu sorunu çözmenin en pratik yolu basit bir fonksiyon ile rakamların başına "0" eklemek ile olur. Bizim örneğimizde yıl bilgisi önüne "0" eklemek çok mantıklı değildir. Biz ay bilgisi önüne ve sırano bilgisi önüne "0" ekleyerek bu sorunu çözebiliriz.

Öncelikle hangi sayının maksimum kaç rakam olabileceğini tespit etmek gerekir. "Yıl bilgisi maksimum 2 rakam, ay bilgisi maksimum 2 rakam, sırano bilgisi maksimum 4 rakam olsun" gibi bir karar verdikten sonra, yazacağınız basit bir string fonksiyon ile tüm sayıların bu hanelere sahip olmasını sağlayabilirsiniz. Fonksiyon sonucunda elde edeceğiniz sayıları listelediğinizde şöyle bir görünüme sahip olursunuz.

12010004
12040012
12110345
12114564
12120873

Bu sayede kullanıcı açısından önemli bir noktayı basit bir işlemle giderebilirsiniz. 

Aşağıda bu işlem için kendi kullandığım VB fonksiyonu veriyorum. Dilerseniz bunu kullanabilirsiniz.


Not: "basamak" parametresi, "s" parametresi ile gönderilen sayının kaç basamaklı yapılması istendiğini gösterir. İstenen basamaklı sayı return edilir.

Public Function sayı_düzenle(ByVal s As Integer, ByVal basamak As Integer)
   Dim bsm As Integer = Val(s.ToString.Length)
   Dim sonsayı As String = ""
   basamak = basamak - bsm
   For by As Integer = 1 To basamak
     sonsayı = "0" & sonsayı
   Next
   sonsayı = sonsayı & s.ToString
   Return sonsayı
End Function

Hiç yorum yok:

Yorum Gönder

Her türlü eleştiri, görüş, öneri, soru ve açıklamanızı yazmaktan çekinmeyin. (You might write in English, too)