Imlec Yönlendirme

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

Imlec Yönlendirme

Mesaj gönderen Orhan »

Arkadaşlar Merhaba

İmleci (Cursor) yön tuşlariyle (sağ-sol) değil, kodla nasıl yönlendirebilirim. Yani: imleci kodla sağa sola yönlendirmek istiyorum.

Selamalar
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Şu anda yanımda delphi olmadığı için tam cevap veremiyorum ama

Setcurserpos(x,y) gibi birşeydi..
I love my car.
Blog Yaptık
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

PostMessage da sanırım işinize yarayabilir.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Orhan
Üye
Mesajlar: 32
Kayıt: 09 May 2005 03:35
Konum: Almanya

Imlec

Mesaj gönderen Orhan »

Merhabalar

Ilginiz için teşekkürler

Bahsettiğiniz fonksiyonlarla (PostMessage-Setcursorpos(x,y)) ilgili bir sürü örnek buldum. Genellikle farenin koordinatlarıyla ilgili. İnşaallah işimi gören bir örnek bulurum.

Aslında benim sorunum şuydu: Kuranla ilgili yeni bir font yaptım. Bu vesileyle hareke kaymalarını ve araların açılması önlenmiş oldu.
Delphinin altındaki Rich editörüde metinleri yazmak için dönüştürdüm. Kaldı sağdan sola yazma problemi windowsun fonksiyonunu kullanmadan onuda hallettim. Bu sefer kursor ikinci satıra geçmedi. Ve satırları devamlı alt satıra itti-kaydırdı. Bunu kaldırdım soldan sağa yazmaya başladım, Yazarken ikidebir yön tuşlarıyla harfin soluna atlayarak yazmak çok sıkıcı ve yorucu oldu. Neyse bu sorunuda bir fonksiyonla harfleri ters çevirerek hallettim. Fakat bir editör için iyi bir yöntem değil bu.

Editörün bu problemlerini halledebilirsem bu konudaki bir açıklığı da doldurmuş olurum. Yani: soldan satır atlama problemi.

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 »

Kod: Tümünü seç

RichEdit1.SelStart:=RichEdit1.SelStart-1;
Bu işini görür mü?

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

bi şeyler denedim, gerçi bi sürü detay eksik ama sanırım senin istediğin gibi bişey oldu

Kod: Tümünü seç

var
    Form1: TForm1;
    satirsayisi: integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
    satirsayisi := RichEdit1.Lines.Count;
end;

procedure TForm1.RichEdit1KeyUp(Sender: TObject; var Key: Word;
    Shift: TShiftState);
var
    ilk, son: string;
    i: integer;
begin
    i := SendMessage(RichEdit1.Handle, EM_LINEFROMCHAR, RichEdit1.Selstart, 0);
    if not (satirsayisi = RichEdit1.Lines.Count) then
    begin
        ilk := copy(RichEdit1.Lines[i], 2, length(RichEdit1.Lines[i]) - 1);
        son := copy(RichEdit1.Lines[i], 1, 1);
        RichEdit1.Lines[i] := ilk;
        RichEdit1.Lines.Add(son);
    end;
    RichEdit1.SelStart := RichEdit1.SelStart - 1;
end;
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

Imleci Yönlendirme

Mesaj gönderen Orhan »

Merhaba

Herşeyden önce eline sağlık

Brinci koddaki örnegi bende denemiştim. Olmuyor. Satırları bir alt satıra kaydırıyor.

İkinci kod: Kodu denedim (incelemedim, şu an Kuranın metinlerini yazmakla ve hatalarını gidermekle meşgulüm) çok sağlıksız çalışıyor. Bazan birkaç harf yazıyor sonra hemen bir alt satıra atlıyor, bazanda satırları alt satıra kaydırıyor, bazanda bir harf yazarak alt satıra atlıyor vs.

Aslında sorunun cözümü: Sağdan sola yazarak soldan satır atlamakla mümkün. Fakat bu konuyu uzun zaman inceledim, hatta bir çok ünlü programcıyada sordum (Ünlü Delphi yazarı Marco Cantu'yada) oda bir yöntemini bilmediğini söyledi.

Şöyle bir yöntem olabilir: Soldan sağa doğru bir harf yazıldığında imleç hemen yazılan harfin sol başına atlayarak ikinçi harfi yazıp tekrar kelimenin sağ başına atlaması lazım. Yani: harfi kelimenin sol başına yazıp hemen sağ başına atlaması lazım. Bu şekildede satır kaymalarına önlenmiş olur.

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 »

Klavyeni arapça yapmayı denedin mi? o zaman bir çözüm olur belki
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

Klavye

Mesaj gönderen Orhan »

Merhaba

Klavye layautunun arapca olmasi sorunu halletmiyor. Hemde calismiyor. Benim kullandigim fontlar normal standart acii kodlari. Sayet sistemin fontlarini kullanmami kasdediyorsan kurana has olan bir suru isaret eksik ve yazimda hareke kaymalarida oluzor. Fonta mudahalede olmuyor.

Selamlar
Cevapla