Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Pascal / Delphi / Delphi.NET

Cevapla
 
LinkBack Seçenekler
Eski 11/05/2008, 15:47   #1 (permalink)
Üye
 
Üyelik Tarihi: 05/2008
Mesaj: 9
Varsayılan imla kontrolu

merhaba.
5-6 sayfalik memo icersindeki turkce yaziyi bazi mla noktlama kontrolu yaptiak istiyorum yardimci olursaniz sevinirim.

. ! : ? nokta iki nokta soru isaretinden sonra bolsuk sonra buyuk harfle baslamasi gerekiyor.
bunu nasil yaparim. uppercase komutu veya baska bir yolla ile acaba
turkce harflerede bazen sorun cikiyor onda dolayi wideuppercase kullaninca sorun olmuyor.
serkand1 hatta değil   Alıntı Yaparak Yanıtla
Eski 11/05/2008, 16:39   #2 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

Memo'yu satır satır okutup Pos fonksiyonunu kullanacaksın...

Örneğin :

PHP Kodu:
function BuyukHarf(x:string):string;
  var 
m:integer;t1,t2:string;
begin
  t1
:='';t2:='';x:=Trim(x);
  for 
m:=1 to length(x) do
    
begin
      
if (x[m]='Ğ') or (x[m]='ğ'then t2:='Ğ' else
      if (
x[m]='Ü') or (x[m]='ü'then t2:='Ü' else
      if (
x[m]='Ş') or (x[m]='ş'then t2:='Ş' else
      if (
x[m]='İ') or (x[m]='i'then t2:='İ' else
      if (
x[m]='Ö') or (x[m]='ö'then t2:='Ö' else
      if (
x[m]='Ç') or (x[m]='ç'then t2:='Ç' else
      if (
x[m]='I') or (x[m]='ı'then t2:='I' else
         
t2:=UpCase(x[m]);
         
t1:=t1+t2;
    
end;
  
Result := t1;
end;

function 
KucukHarf(x:string):string;
  var 
m:integer;t1,t2:string;
begin
  t1
:='';t2:='';x:=Trim(x);
  for 
m:=1 to length(x) do
    
begin
      
if (x[m]='Ğ') or (x[m]='ğ'then t2:='ğ' else
      if (
x[m]='Ü') or (x[m]='ü'then t2:='ü' else
      if (
x[m]='Ş') or (x[m]='ş'then t2:='ş' else
      if (
x[m]='İ') or (x[m]='i'then t2:='i' else
      if (
x[m]='Ö') or (x[m]='ö'then t2:='ö' else
      if (
x[m]='Ç') or (x[m]='ç'then t2:='ç' else
      if (
x[m]='I') or (x[m]='ı'then t2:='ı' else
         
t2:=LowerCase(x[m]);
         
t1:=t1+t2;
    
end;
  
Result := t1;
end;

function 
IlkHarfBuyuk(String):String;
 Var
   
SS String;

begin
  SS      
:= BuyukHarf(Copy(S,1,1))+KucukHarf(Copy(S,2,Length(S)));
  
Result  := SS;
end;

********************************
  For 
i:=0 To Memo1.Lines.Count-do
  
begin
     S  
:= Memo1.Lines[i];
     
:= Pos('.',S);
     if 
0 then
    begin
      S  
:= Copy(S,1, (P-1))+'. '+IlkHarfBuyuk(Copy(S,(P+1),1))+  Copy(S,(P+2),Length(S));
      
Memo2.Lines.Add(S);
    
end else
     
Memo2.Lines.Add(S);
  
end
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 11/05/2008, 16:41   #3 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

Yada memo yerine Synedit benzeri bir bileşen kullanıp çok daha fazlasını yapabilirsin...
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 11/05/2008, 20:08   #4 (permalink)
Üye
 
Üyelik Tarihi: 05/2008
Mesaj: 9
Varsayılan

tesekkur ederim.
bu fonksiyonu bir butona tiklayinca nasil kullanabilirim.
bir de bu satirda hata verdi
For i:=0 To Memo1.Lines.Count-1 do

bunun daha kisa bir yontemi yok mu. diger soru isaretleri ünlem gibi densonraki harfleride buyutor mu acaba.
bir de sizinstrngleri widestring ve wideuppercase yapacagim. sorun olmaz insallah. tntmemoda kullancagim.

aslinda sorun su bolgesel dil turkcede ikenharfleri buyutor. fakat arapca rusca gibi bir ulke diline alinca buyutmuyor. turkce karakterleri
serkand1 hatta değil   Alıntı Yaparak Yanıtla
Eski 11/05/2008, 21:00   #5 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

Serkand1 ben burda işin mantığını göstermek istedim. Olay Pos ve Copy fonksiyonlarında bitiyor.

Pos('aranan','nerde aranacak') şeklinde yazdığımızda aranan, nerde aranacağın içinde varsa bulunduğu pozisyon "0" tabanlı geri dönüyor...

Örneğin :

Var
P : Integer;
Begin
P := Pos('!','Bir Cümleki ! Ne Alamet');
ShowMessage(IntToStr(P)); // 12 olur
end;

Bunu test ediyoruz. if P > 0 then ...

Copy ile String in belli bir bölümünü alıyoruz... Teferruat için çevrim içi yardıma bakın...
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
TDK sitesinden yararlanarak sözlük ve imla kılavuzu hazırlayan Python betiği... acemi Python / Zope 37 03/11/2008 18:58
button kontrolu renegade1905 Visual Basic 5 11/11/2007 23:09
vb ile web kontrolu... TuxAttack Visual Basic 1 10/04/2007 17:19
Checkbox kontrolu umutsavasim Javascript / DHTML / Ajax 2 29/03/2007 15:47
Bir kaç kelime, imla sorunu... Sahin Hayata Dair 4 30/08/2002 16:35


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 09:08.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net