Türkçe karakter büyütme sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
underwater
Üye
Mesajlar: 86
Kayıt: 27 May 2014 04:27

Türkçe karakter büyütme sorunu

Mesaj gönderen underwater »

Merhaba;

Aşağıdaki kod ile edit e girilen kelimelerin ilk harfini büyütüyorum.

Kod: Tümünü seç

begin

with Sender as TDBEdit do
 if (SelStart = 0) or (Text[SelStart] = ' ') then
   if Key in ['a','b','c',ç,'d','e','f','g','h','ı','i','j','k','l','m','n','o','ö','p','r','s','ş','t','u','ü','v','y','x','w','q','z'] then Key := UpCase(Key);
  
end;
Yalnız yukardaki kural ç,ş,ü gibi karakterlerde işlemiyor.Diğer karakterlerde çalışıyor.

Bu türkçe karakterlerde de çalışması için ne yapabilirim?
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Türkçe karakter büyütme sorunu

Mesaj gönderen Lord_Ares »

UpCase(Key) değilde UpperCase(key) olarak bir denermisin. Şuan işyerindeyim deneme şansım yok.
underwater
Üye
Mesajlar: 86
Kayıt: 27 May 2014 04:27

Re: Türkçe karakter büyütme sorunu

Mesaj gönderen underwater »

kod hata verdi.
UpperCase string kullnıyor.
Key ise char tipinde çalışıyor.
underwater
Üye
Mesajlar: 86
Kayıt: 27 May 2014 04:27

Re: Türkçe karakter büyütme sorunu

Mesaj gönderen underwater »

Arkadaşlar aşağıdaki kod ile sorunu çözdüm.Teşekkür ederim.

Kod: Tümünü seç

procedure TForm.Edit1KeyPress(Sender: TObject;  var Key: Char);
begin

with Sender as TEdit do
 if (SelStart = 0) or (Text[SelStart] = ' ') then Key := AnsiUpperCase(Key)[1];

end;
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Türkçe karakter büyütme sorunu

Mesaj gönderen brs »

Buda benden olsun caps lock açık veya kapalıda olsa edit girilen tüm karakterlerin ilk harfini büyük yapar diğer harfler küçük...

Kod: Tümünü seç

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  Strng: string;
begin
  Strng := Edit1.Text;
  if (Edit1.SelStart = 0) or (Edit1.SelTEXT = ' ') then
    Case Key of
      'ı':
        Key := 'I';
      'i':
        Key := 'İ';
    else
      Key := AnsiUpperCase(Key)[1];
    end
  else if (Strng[Length(Edit1.Text)] = '') or (Strng[Length(Edit1.Text)] = '')
  then
    Case Key of
      'ı':
        Key := 'I';
      'i':
        Key := 'İ';
    else
      Key := AnsiUpperCase(Key)[1];
    end
  else if NOT(Strng[Length(Edit1.Text)] = '') or
    NOT(Strng[Length(Edit1.Text)] = '') then
    Case Key of
      'I':
        Key := 'ı';
      'İ':
        Key := 'i';
    else
      Key := AnsilowerCase(Key)[1];
    end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Cevapla