TRichEditdeki herhangi bir satiri tikladik.

Başlatan bunalmis, 15 Haziran 2005, 01:31:54

z

Richedit icine uzunca bir dosya okuduk ve kaydirma cubuklari ile dosyanin bir bolumunu ekrana getirdik diyelim.

Mouse ile editorun icindeki dosyanin herhangi bir satirini tikladigimda, tikladigim satirin dosyanin en basindan itibaren kacinci satir oldugunu ogrenmek itiyorum.

Bunu nasil ogrenebilirim?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Bu soruna çözüm getirebilecek olan yokmu? Tıkandım kaldım.

Çok uzunca bir çözümüm var ama dili oluşturanlar buna çok kolay bir çözüm getirmişlerdir ve bir iki satırda işi bitiriyorlardır.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

cozturk

TRichedit veya TMemo da o anki satir ve sütun numaralarini almak:

// Asagidaki kod TMemo icin de calisir.
// Yapmaniz gereken parametre tiplerini TMemo yapmak


function RichRow(m:TRichedit) : LongInt;
begin
  Result:=SendMessage(m.Handle,EM_LINEFROMCHAR,m.SelStart,0);
end;

function RichCol(m:TRichedit) : LongInt;
begin
  Result:=m.SelStart-SendMessage(m.handle,EM_LINEINDEX,SendMessage(m.Handle,EM_LINEFROMCHAR,m.SelStart,0),0);
end;

// Kullanimi:
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Label1.Caption:= Format('%d : %d',[RichCol(form1.richedit1),RichRow(form1.richedit1)]);
end;

procedure TForm1.RichEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Label1.Caption:= Format('%d : %d',[RichCol(form1.richedit1),RichRow(form1.richedit1)]);
end;


Hocam sende delphiturk kodbank yok galiba değilmi itiraf et. :D

z

Çöztürk teşekkürler,

İnternete girdiğim makinamı bir türlü toparlama fırsatım olmadı. Her ay XP yi yeniden kurduğum için ilave program install etmiyorum.

Bir ara kod bankasını yüklemeye çalıştım ve sorun çıktı bu nedenle bir daha da denemedim.

Eğer programın (kodbank) yüklenmesi ile ilgili trik varsa onu da yazarsan sevinirim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

cozturk

sorun nedir bilmiyorum. benim bu internet pcsinde delphi yok fakat kodbank kurdum iternetten güncellemek için. sonra klasör içeriğii alıp delphi kurulu makinaya atıyorum oradakiler de güncel oluyor. ben göçen xpyi ghosttan kuruyorum 1-4 dk filan sürüyor.