RichEdit ile metin biçimlendirme

Posted by Zafer | Posted in Delphi | Posted on 19-04-2010

RichEdit kullanarak word dökümanındaki gibi metinleri biçimlendirebilirsiniz. Metnin istediğiniz yerlerindeki karakterlerin fontları üzerinde oynama yapabilirsiniz. Zor olan kısım ise formatlı bir şekilde richedit üzerinde bulunan metnin veritabanına kaydedilip tekrar yüklenmesidir.

Metni formatlı bir şekilde kullanmak için ilk başta richedit ‘in properties sekmesinde bulunan “plain text” alanı “false”  olmalıdır. Bu alan “true” olursa richedit üzerindeki veriler formatsız bir şekilde tutulacaktır.  Veritabanında metnin tutulacağı alanı ntext olarak tanımladığımızda aşağıdaki kodlar işimizi görecektir.
Read the rest of this entry »

Report builder ile bir sayfada belirli sayıda kayıt gösterme

Posted by Zafer | Posted in Delphi | Posted on 05-04-2010

Report builder ile rapor tasarlarken karşılaşılan sorunlardan bir tanesi de dinamik olarak  yazdırılmak istenen satırların sayfaya sığmamasıdır. Genellikle footer (sayfa sonu) veya summary (rapor sonu)   kısmına eklediğimiz  toplam tutar, imza alanı  gibi ifadeler gelen satır sayısına göre sayfaya sığmayabiliyorlar. Bu durumda sayfa yapısını düzeltmek için footer veya summary kısmına boşluklar ilave etmek zorunda kalabiliyoruz. Bu sorunu raporun detail kısmının properties ‘sinde bulunan printCount kısmına verdiğimiz integer değerle çözebiliriz.

Düzenli bir sayfa yapısı elde etmek için önce footer veya summary kısmı hesaplanmalı ve  geriye kalan boş alan için kayıt sayısını belirlenerek printCount ‘a atanmalıdır. Bu durumda sayfadan taşan yazılardan kurtulabiliriz.

Bölgesel dil ayarları

Posted by Zafer | Posted in Delphi | Posted on 10-03-2009

Bölgesel dil ayarlarından kaynaklanan sorunları önleyebilmek için program çalışmaya başlarken küçük bir kontrol yapabilirsiniz. Örnek kodlar aşağıdaki gibidir.

var
Reg: TRegistry;

Reg:= TRegistry.Create;
Reg.RootKey:= HKEY_CURRENT_USER;
Reg.OpenKey(‘\Control Panel\International’, False);  // regeditte istenilen konuma odaklanma

// Register kayıtlarını okuma işlemi
Read the rest of this entry »

İstenilen karekter(ler)i değiştirme

Posted by Zafer | Posted in Delphi | Posted on 10-03-2009

Bölgesel dil ayarları seçeneğimiz bazen istemediğimiz şekilde değişebilir ya da biz farklı bir türde kullanmak zorunda kalabiliriz. Bu durumlarda float tipindeki verilerimizi sql veya benzeri veri tabanlarıyla ilişkilendirirken

‘.’ ve ‘,’ karekterleri arasındaki çevrimlerde sorun yaşayabiliriz. Veya string türündeki bir değişkenimizde istemediğimiz bir karekter olabilir (özellikle Türkçe – İngilizce uyumu için) . Bu gibi durumlarda karşılaşılacak sorunları önlemek için StringReplace metodunu kullanabiliriz. Ayrıca bu metod ile sadece bir karekter değil birden fazla karekteride aynı anda değiştirme imkanımız bulunmaktadır. Bu metodun kullanım şekli ;

StringReplace(metin,’değiştirmek istediğimiz ifade’,'yerine yazılacak ifade’,[rfReplaceAll, rfIgnoreCase]);

örnek kullanım şekli:

var
abc     :string;
mesaj :string;

abc:=’12,,34′;

mesaj:=StringReplace(abc,’,',’.',[rfReplaceAll, rfIgnoreCase]);
ShowMessage(mesaj); // görüntülenecek mesaj : 12..34

mesaj:=StringReplace(abc,’12′,’ab’,[rfReplaceAll, rfIgnoreCase]);

ShowMessage(mesaj); // görüntülenecek mesaj : ab,,34

String değer parçalama

Posted by Zafer | Posted in Delphi | Posted on 10-03-2009

Uygulama geliştirirken bazı anlarda bir text alanın istenilen bölümünü almak için parçalama işlemine başvurmamız gerekebilir. Delphi de bu işlemi copy metodu ile gerçekleştirebiliriz.

Copy metodunun çalışma şekli oldukça basit;

Copy(string ifade,parçalamaya kaçıncı karekterden başlanacak,kaç karekter alınacak)

örnek kullanım olarak:

var
abc     :string;
mesaj :string;

abc:=’1234′;
mesaj:=Copy(abc,1,1);
ShowMessage(mesaj);  // görüntülenecek mesaj : 1
mesaj:=Copy(abc,2,1);
ShowMessage(mesaj);  // görüntülenecek mesaj : 2
mesaj:=Copy(abc,3,2);
ShowMessage(mesaj); // görüntülenecek mesaj : 34