.NetGurus

Diğer Yazılar

Google a Ekle

Add to Google



Kelimelerin İlk Harflerinin Büyük Yapılması

Yazılımcılar olarak aslında biraz askerlere benzeriz. Uygulamalarımı kullanan kimselerin tek tipte veri girmelerini isteriz :) Yani kullanıcıdan metin bir bilgi istiyorsak kimi ilk harfleri büyük yapar kimi tüm harfleri büyük yazar kimi de vs vs. Nasıl girilirse girilsin biz veriyi kaydettik mi genelde işimiz bitti diye düşünürüz ancak iş görüntülemeye geldi mi farklı biçimlerdeki metinler nahoş bir görüntü sergiler.

Bu konuda, .Net framework' deki string tipi barındırdığı ToLower, ToUpper fonksiyonları imdadımıza yetişir. ToLower fonksiyonu metindeki tüm harfleri küçük, ToUpper da büyük harfe çevirir.  Ancak iş sadece ilk harflerin büyük yapılmasına gelince biraz sıkıntı var. Bildiğim kadarıyla string tipinin böyle bir yeteneği yok. Framework' ü yazanlar tembellik yapmamışlardır elbet vardır bir bildikleri. Ancak bizim de böyle bir ihtiyacımız olduğu kesin.

Aslına bakarsanız bu sorunu halletmek en amatör programcı için bile basit bir iş. Değişik format lama teknikleri ile ya da hazır diğer string fonksiyonları yardımıyla ilk harfleri basitçe büyük hale getirebiliriz. Ancak modern geliştirme ortamları bizi biraz şımarttığı için insan bu tür şeylerin hazır olmasını bekliyor.

Neyse yazı çok kısa olmasın diye biraz laf salatası yaptıktan sonra gelelim konuya :)

1. Yol

C# kullananlar kusura bakmasınlar bu yol VB' ye has. Bu yolda kelimelerin ilk harflerini büyük yapmak için StrConv fonksiyonunu kullanıyoruz.

StrConv(metin,VbStrConv.ProperCase) diyerek kelimelerin ilk harflerini büyük yapabiliriz.

2. Yol

Bu yol nasıl derler daha doğal bir yol, zira hem C# hem de VB.Net ile kullanabilirsiniz.

Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(metin.ToLower)

ToTitleCase fonksiyonunda dikkat etmemiş gereken bir nokta var. Bu fonksiyon normal olarak kelimenin ilk harfini büyük sonrakileri küçük yapıyor ancak kelimenin tüm harfleri büyükse kelime tüm harfleri büyük olarak aynen kalıyor. Bu yüzden bu fonksiyonu çalıştırmadan önce metnimizi ToLower ile küçük harflere çevirmek gerekli.

Gördüğünüz gibi framework böyle bir özellik taşısa da bu özelliğer direkt string içinden ulaşılamaması bir kayıp-ayıp :)

 


Categories: C#
Posted by yavuz on 01 Ekim 2008 Çarşamba 17:12
Permalink | Yorumlar (0) | Post RSSRSS comment feed

Yorum ekle


(Gravatar simgesini gösterecek)

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading