Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Türkçe karakter
#1
Merhaba;

Kullanıcının Edite girdiği harflerin küçük harf olmasını sağlamak istiyorum, fakat ilk harf büyük olacak anacak ilk harfte şöyle bir sıkıntı çıkıyor "İ" olası gerekirken "ı" olarak yazıyor Türkçe karakter ilgili sorun var utf8 araştırdım fakat firemonkeyde çözüm bulamadım, yardımlarınızı rica ederim.

function degis(Harf: String): String;
const
  Buyuk: String = 'ABCÇDEFGGHIİJKLMNOÖPRSŞTUÜVYZQW';
  Degis: String = 'abcçdefgğhıijklmnoöprsştuüvyzqw';
var
  N: Integer;
begin
  for N := 1 to Length(Buyuk) do
    while Pos(Buyuk[N], Harf) > 0 do
      Harf[Pos(Buyuk[N], Harf)] := Degis[N];
  Result := AnsiUpperCase(Harf[1]) + Copy(Harf, 2, Length(Harf));
end;


procedure TForm1.EditChangeTracking(Sender: TObject);
begin
  if Edit.Text.Length > 0 then
  begin
    Edit1.Text := degis(Edit1.Text);
  end;
end;
Hayat bazen güzel olabiliyor.
Cevapla
#2
Belki daha efektif yazılabilirdi ama şöyle bir fonksiyon işinizi görebilir;

function LowerCaseTR(aString: String; aBuyukBasHarf: Boolean = True): String;
const
  K = 'aeirlıdknmyustboüşzghçğcvpöfjwx';   // Harfleri böyle sıralanmasının sebebi
  B = 'AEİRLIDKNMYUSTBOÜŞZGHÇĞCVPÖFJWX';   // Bunların Türkçedeki kullanım sıklıklarına göredir.
var
  I: Integer;                              // Sayaç, indis değişkeni
  X: Integer;                              // Bulunan harfin alfabedeki indis numarası
begin
  Result := aString;
  for I := 1 to Result.Length do begin     // metni harf harf geziyoruz. (Bir rakam ile de karşılaşabiliriz...)
      X := pos(Result[I], B);              // POS, büyük / küçük harfe duyarlıdır (Case Sensitive). Yani büyükse küçüğü, küçükse büyüğü bulmaz.
      if (X > 0) then Result[I] := K[X];   // Bulunan karakter alfabemizde varsa küçüğüyle yer değiştiriyoruz.
  end;
  if (aBuyukBasHarf = True) then
      for I := 1 to Result.Length do begin // Metni harf harf geziyoruz
          X := pos(Result[I], K);
          if (X > 0) then begin
              Result[I] := B[X];
              Exit;                        // İlk harfi büyüttükten sonra çıkıyoruz...
          end;
      end;
end;
P.Safa:Yaşlanarak değil, yaşayarak tecrübe kazanılır.Zaman insanları değil,armutları olgunlaştırır
C.Yücel:Toprak gibi olmalısın! Ezildikçe sertleşmelisin!Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı
S.Canan:Bildiğini zannettiğin an hiç bir şey öğrenemezsin
Bilgi uçar
WWW
Cevapla
#3
Allah razı oldun, hakkınızı helal edin. Açıklamalar için ayrıca teşekkür ederim.
Hayat bazen güzel olabiliyor.
Cevapla
#4
Rica ederim, ben de sayenizde aşağıdakinin farkına varmış oldum;

oOk8bm.jpg

Kaynak;

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Kaynak URL;

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
P.Safa:Yaşlanarak değil, yaşayarak tecrübe kazanılır.Zaman insanları değil,armutları olgunlaştırır
C.Yücel:Toprak gibi olmalısın! Ezildikçe sertleşmelisin!Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı
S.Canan:Bildiğini zannettiğin an hiç bir şey öğrenemezsin
Bilgi uçar
WWW
Cevapla
#5
Hocam otomatik büyük harf için uppercase kullanıyoruz. Fakat TR karakterler için Ansiuppercase Wink
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#6
Türkçe için ı ve i harfleri AnsiUpperCase fonksiyonu da problem çıkarabiliyor. Yukarıdaki yöntemden farklı olarak aşağıdaki gibi başka bir çözüm daha kullanılabilir.
uses System.StrUtils;

function trBuyut(const sDeger:String):String;
begin
 Result:=AnsiUpperCase(ReplaceStr(ReplaceStr(sDeger, 'i', 'İ'), 'ı', 'I'));
end;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Metin içeriğinde geçersiz karakter bulundu m_ekici 5 500 17-04-2019, Saat: 11:50
Son Yorum: m_ekici
  IOS unidac Türkçe karakter sorunu hassur 10 3.342 30-01-2019, Saat: 16:24
Son Yorum: pro_imaj
  Karakter ekleme dilo 6 915 21-07-2018, Saat: 15:27
Son Yorum: Halil Han Badem
Question karakter değiştirme-eş zamanlı ? Mr.Developer 9 1.130 08-07-2018, Saat: 13:13
Son Yorum: cinarbil
  AndroidManifest Dosyasi Karakter Sorunu codder71 5 948 30-05-2018, Saat: 10:04
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi