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
herkese iyi çalışmalar...
Bilginin temelini sağlam at depremde zarar görmesin
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.
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;
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.
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;
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.