Farklı Fontlarla kontrol

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Orhan
Üye
Mesajlar: 32
Kayıt: 09 May 2005 03:35
Konum: Almanya

Farklı Fontlarla kontrol

Mesaj gönderen Orhan »

Arkadaslar merhaba

Richeditte farkli fontlarla kontrol yapilabilirmi?
Mesela: Cusor'un önündeki harf ''Courier New'' tipinde bir ''a'' ise ekrana ''Merhaba'' yaz. Arial ise nasilsin yaz vs.

Teskkürler
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

RichEdit'in SelAttributes özelliğini kullanarak halledersin. İlk başta hangi bölgede bu işlemi yapacaksan orayı SelStart ve SelLength özelliklerini belirleyerek seçiyorsun. Mesela 50.nci karakterden başlayarak 55. karaktere kadar olan bölgeyi seçmek için
MyRichEdit.SelStart := 50;
MyRichEdit.SelLength := 5;

vs.. Bundan sonra RichEdit'in SelAttributes özelliği altında bulunan özelliklere bir göz at orada font felan var. bunları kontrol ettirerek istediğin şeyi yaparsın. İstersen bunları değiştirebilirsin de.... vesselam
Orhan
Üye
Mesajlar: 32
Kayıt: 09 May 2005 03:35
Konum: Almanya

Farklı fontlarla kontrol

Mesaj gönderen Orhan »

İlginiz için tşekkür

Kardeş benim sorunum seçme değil.
Ben Richeditte 15 tane ayrı özelliklere sahip font kullanıyorum. Bu 15 tane fontu fonksiyon ayrı ayrı tanıması lazım. Yani font 'Arial ise' ise Arialle yazılmış metnin 'a' harfinin önüne cursor geldiğinde ekrana 'xx' yaz. Font Courier ise, Courierle yazılmış metnin 'a' harfinin önüne corsor geldiğinde ekrana 'yy' yaz vs.

Yani: kontrolumu fontlara göre yapmak istiyorum.
sizin bahsttiğiniz yöntem uzun kod yazmayı gerektirir.

Teşekkür.
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

Eğer dediğiniz Fontların isimlerini değiştirmekse yine aynı şekilde yapabilirsin. Şahsen fazla bir kod yazmadım. Tabi dediğini yine yanlış anlamış olabilir dostum. Bende gayet iyi çalıştı:

Kod: Tümünü seç

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
  if RichEdit1.SelAttributes.Name = 'Arial' then
  begin
    RichEdit1.SelAttributes.Name := 'xxArial';; //ya bunu demek istiyorsun
//    RichEdit1.SelStart := RichEdit1.SelStart - 1;
    RichEdit1.SelText := 'xx'; // ya da bunu
  end;
end;
Ama başka yöntemlerde var. Mesela parse edip tokenlarını çıkarırsın. Bu tokenlarda font özelliklerini saklayıp sonra fontları kendi arasında guruplayabilirsin. Veya rtf'ye dönüştürüp üzerinde işlem yapabilirsin. Ama yukardaki verdiğim şekildeki kodlardan daha az yazacağının garantisi yok.
Orhan
Üye
Mesajlar: 32
Kayıt: 09 May 2005 03:35
Konum: Almanya

Mesaj gönderen Orhan »

Ilginiz için tesekkür

Yolladiginiz kod hem isimi gördü hemde bana bir fikir verdi. Hayirli bir istede (Kuranla iligili) yardimci oldunuz.

Bu konuyla ilgili sitede kod ararken bir sayfada (ben siz yazdiniz zannediyordum) Yahya Kemal Bayatlinin iki misrasini yazmisti arkadas. Ben de siz zannederek siirin tümümü yazdim. Fakat degilmis. Ama olsun. Bir tesekkür babindan siirin hepsini sizin için yazdim.

Çok insan anlamaz eski mûsikîmizden
Ve ondan anlamiyan bir sey anlamaz bizden.
Açar bir altin anahtarla rûh ufuklarini,
Hemen yayilmaya baslar sâda ve nûr akini
Ve seslenir büyük Itrî, semayi örten rûh,
Pesinden dalgalanir bestesiyle Seyyid Nuh,
O mutlu devrede Itrî?ye en yakin dost
Isikli danteleler bestekâri Hafiz Post...
Bu neslin ortada dâhîcanedir basardigi is,
Vatan nasil karisir mûsikiyle, göstermis.

Yahya Kemal Bayatli

Kod: Tümünü seç

if RichEdit1.SelAttributes.Name = 'Arial' then
If RichEdit1.Text[RichEdit1.SelStart-1+1] = 'a' then
Panel1.caption:='Mehmet Akif';

Bu arada bir soru daha sorayim. Yazi fontlarini Font dialog, listbox, combobox gibi kutulardan sececegine, farkli fonlari degisik buttonlara baglayarak seçmek mümkünmü?

Mesela: ''Richedit1.Font.Name:='Arial';'' Bu kod tüm metni degistiriyor. Ben degisik font seçildiginde tüm metnin degismesini istemiyorum. Yani ikide bir font seçimini buttonlarla yapmak istiyorum.

Selamlar
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

Kur'an gbi her asra hitâb eden müciznemâ bir kitab-ı kerîme hizmet edene yardım etmek bile bir şereftir. Allah razı olsun

dediğin şeyi yine SelAttributes içinde bulunan özelliklerden yapabilirsin. Belli bir yerin fontunu değiştirmek için ilk olarak attığım mail'deki gibi yapabilirsin. Tabi bu kodları ister buttonlara bağla istersen başka bir şeye. ama neye bağlarsan bağla, SelStart, SelLength, SelText ve SelAttributes özelliklerini araştır ve üzerinde denemeler yap. Bunlar işini görür inş.

vesselam..
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Delphi demos klasörü altında çok güzel bir örnek var RichEdit ile ilgili onu incele bir çok sorununu çözersin.Kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Biri beni anmış galiba :)
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Orhan
Üye
Mesajlar: 32
Kayıt: 09 May 2005 03:35
Konum: Almanya

Teşekkürler

Mesaj gönderen Orhan »

Hepinize ilginiz için teşekkür ederim.

Webde dolaşırken bahsettiğim konuyla ilgili bir fonksiyon buldum ve işimide gördü.

Aslında ben Kuranla ilgili bir font yapıyorum. Webdeki Kuran metinleri pek bozuk. Harekelerdde ciddi kaymalar var. İşaretler yerli yerine konmamış. Hareke eksiklikleri var. Bu meseleyi halletmek için Kurana ait özel bir font yaptım. Yani: tüm harfleri teker teker harekelendirdim. Takriben 15 tane font yaptı. Ve çok süper bir şey oldu.

Hdayi arkadaşın bahsettiği Delphideki editöride yaptığım fontları kullanmak için dönüştürdüm. Sade Tüm Kuranı yazmaya geldi sıra. Dualarınızla onuda ciddi şekilde yazar webin hizmetine sunarım.

Hdayi: Şiiri eksik yazmışsın tamamlayayım dedim.

Selamlar
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Allah Razı olsun ve muvaffak etsin. Zemin rengi kağıt renginde olursa okuması daha kolay oluyor, aklında bulunsun...
Bittiği zaman bizleri unutma...

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Orhan
Üye
Mesajlar: 32
Kayıt: 09 May 2005 03:35
Konum: Almanya

Zemin-Kayıt

Mesaj gönderen Orhan »

Merhana

İlginiz için teşekkürler

Bahsettiğiniz konular benimde aklımda. Daha önceden bu konuda Kuran öğrenimiyle ilgili bir program yapmıştım. Bu konuyla uzun zamandır ilgileniyordum. Webdeki metinler hep birbirinin kopyası ve kontrolda yok.

Mevla nasip eder biterse siteye yazarım

Selamlar
Cevapla