Küçük ı ve büyük İ Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Küçük ı ve büyük İ Sorunu

Mesaj gönderen ender_arslanturk »

Günaydın arkadaşlar.

Editin charcase özelliği uppercase iken ve caps look kapalıyken klavyeden ı harfine bastığımda büyük I yerine küçük ı yazmaktadır. Caps Look kapalıyken ı harfine bastığımda büyük I nasıl yapabilirim ?

Bu durumu kodla hiç uğraşmadan nasıl düzeltebilirim.

Saygılarımla
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Küçük ı ve büyük İ Sorunu

Mesaj gönderen mrmarman »

Kodla uğraşmadan derken minimum uğraşı ile diye sormak istedin herhalde :lol:

- Edit'e alternatif bir CharCase property'si yazabilir, projene ekleyebilirsin. Tabi IDE zamanı değil RunTime bu özelliği set etmen gerekir.
- Edit'e alternatif bir CharCase property'si yazabilir, bu şekilde bağımsız yeni bir component oluşturur o zaman EDIT'ler yerine kendi EDIT'ini koyman gerekir, o zaman IDE zamanı da property set edebilirsin.
- Program içindeki editlerin sayısı fazla olabilir, her edit içinde ı - I i - İ dönüşümü kullanmak istemezsen, sayısı az olan bu editlerin onKeyPress olayında vb. işi çözümlersin.
- Hangi editlerin CharCase özelliğinin Türkçe olacağını bir yerde listede tutarsın, Form'un keypreview özelli true iken gelen her tuşu, bu tuş nereye gitti ?, gittiği edit mi ? Bu edit Türkçe listemde var mı ? sorularını sorgulatıp, gelen tuşu modifiye edebilirsin.

Sana bir sürü seçenek... Sabah vakti ilk anda aklıma gelenler bunlar. Başarılar...
Resim
Resim ....Resim
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Re: Küçük ı ve büyük İ Sorunu

Mesaj gönderen palandoken »

Merhaba,
Eğer edite girilen harflerin tümünün büyük olmasını istiyosan bu kod işine yarar.capslock'ın açık veya kapalı olmasının önemi olmaz.

Burada TMaskEdit ifadelerini TEdit olarak değiştirmen gerekir.

Kod: Tümünü seç

procedure TForm1.BuyukHarfeCevir(Sender: TObject) ;
Var
   i:integer ;
   TusDurumu : Boolean ;
begin
   TusDurumu := False ;
   while TusDurumu = False do
      begin
         i := Pos('i',(Sender As TMaskEdit).Text) ;
         if i = 0 then
            begin
               TusDurumu := True ;
               Break ;
            end ;
         (Sender As TMaskEdit).Text := Copy((Sender As TMaskEdit).Text,1,i-1)+'İ'+Copy((Sender As TMaskEdit).Text,i+1,Length((Sender As TMaskEdit).Text)-(i)) ;
      end ;
   (Sender As TMaskEdit).text:=AnsiUpperCase((Sender As TMaskEdit).Text) ;
   TusDurumu := False ;
   while TusDurumu = False do
      begin
         i := Pos('ı',(Sender As TMaskEdit).Text) ;
         if i = 0 then
            begin
               TusDurumu := True ;
               Break ;
            end ;
         (Sender As TMaskEdit).Text := Copy((Sender As TMaskEdit).Text,1,i-1)+'I'+Copy((Sender As TMaskEdit).Text,i+1,Length((Sender As TMaskEdit).Text)-(i)) ;
      end ;
end;
Editlerin OnExit olaylarına BuyukHarfeCevir(Sender: TObject) procedure'ünü ataman gerekir.

Kolay gelsin.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
Cevapla