İlk harf büyük diğerleri küçük

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

İlk harf büyük diğerleri küçük

Mesaj gönderen Serim »

s.a. arkadaşlar,
Forumda arattım ama tam istediğim gibi bir cevap bulamadım.
Sorum şu:
Edite girilen string bir ifadeyi ilk harfi büyük diğerleri küçük harf olarak yazdırmak istiyorum. Örneğin "Deneme" şeklinde yazsın istiyorum.
Çok zor birşey olmasa gerek belki ama ben çözümü bulamadım :oops:

herkese iyi çalışmalar...
Bilginin temelini sağlam at depremde zarar görmesin
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

çözümü var tabiki ben bir function yazmıştım.

Kod: Tümünü seç

function bkmetin(kelime:String; tip: integer):String;
var
buyuk,kucuk:String;
j,i:integer;
begin
{
0 tümü küçük
1 TÜMÜ BÜYÜK
2 İlk harf büyük
3 Her Kelimenin İlk Harfi Büyük
}
 buyuk:='ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZQWX';
 kucuk:='abcçdefgğhıijklmnoöprsştuüvyzqwx';
 For i:=length(Kelime) downto 1 do
  for j:= 29 downto 1 do
   if (kelime[i] = buyuk[j]) or (kelime[i] = kucuk[j]) then
    case tip of
     0: kelime[i] := kucuk[j];
     1: kelime[i] := buyuk[j];
     2: if i = 1 then
         kelime[i] := buyuk[j]
        else
         kelime[i] := kucuk[j];
     3: if i = 1 then
         kelime[i] := buyuk[j]
        else
          if (kelime[i-1]=' ') or (kelime[i-1]='.') then
           kelime[i] := buyuk[j]
          else
           kelime[i] := kucuk[j];
    end;
 Result := kelime;
end;
bundan iyisi can sağlığı :) bu arada bende konyadayım.
heskin35
Üye
Mesajlar: 132
Kayıt: 30 Haz 2004 09:48

Mesaj gönderen heskin35 »

Bu fonksyonu unite ekledikten sonra

Kod: Tümünü seç

function buyut(krk:char): char; // Kod girişi için türkçe I ı İ karakterleri için cxedit'düzeltme fonksyonu
var
a: char;
begin
  if not (krk in ['ı','ğ','ü','ş','i','ö','ç']) then a:=(uppercase(krk))[1];
  if (krk in ['ı','ğ','ü','ş','i','ö','ç']) then
begin
  if krk='ı' then a:='I';
  if krk='ğ' then a:='Ğ';
  if krk='ü' then a:='Ü';
  if krk='ş' then a:='Ş';
  if krk='i' then a:='İ';
  if krk='ö' then a:='Ö';
  if krk='ç' then a:='Ç';
end;
result:=a;
end;
Editin keypress olayına

Kod: Tümünü seç

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Length(Edit1.Text)=0 then
    key:=buyut(key);
end;
bi kaç ufak düzeltme ile tam randımanlı kullanabilirsin.
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

Tşk ederim ellerinize sağlık arkadaşlar. İyi çalışmalar..
Bilginin temelini sağlam at depremde zarar görmesin
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

bu kadar uğraşmaya gerek kalmadan KEdit bileşeni var. Çok fonksiyonel bir şey. Aynı zamanda DbEdit desteğide var.
http://www.kopr.cz/w-delphi.htm adresini bir ziyaret edin.
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

Kod: Tümünü seç

procedure TForm1.Edit1Change(Sender: TObject);
var
metin:Array of String;
yaz:String;
uzunluk,i:Integer;
begin
yaz:='';
uzunluk:=Length(Edit1.Text);
SetLength(metin,uzunluk);
for i:=0 to uzunluk-1 do
begin
if i=0 then
metin[i]:=AnsiUpperCase(copy(Edit1.Text,i+1,1)) //ilk karakter büyük
else
if metin[i-1]=' ' Then
metin[i]:=AnsiUpperCase(copy(Edit1.Text,i+1,1))
else
metin[i]:=AnsiLowerCase(copy(Edit1.Text,i+1,1))
end;
for i:=0 to uzunluk-1 do
yaz:=yaz+metin[i];
edit1.text:=yaz;
end;
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

danaci yazdı:bu kadar uğraşmaya gerek kalmadan KEdit bileşeni var. Çok fonksiyonel bir şey. Aynı zamanda DbEdit desteğide var.
http://www.kopr.cz/w-delphi.htm adresini bir ziyaret edin.
link çalışmıyor.
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

[quote="NewMember"][quote="danaci"]bu kadar uğraşmaya gerek kalmadan KEdit bileşeni var. Çok fonksiyonel bir şey. Aynı zamanda DbEdit desteğide var.

http://www.kopr.cz/index.php?mid=24&rid=29
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

tşk.eyvallah
Cevapla