Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Delphi => Konuyu başlatan: z - 15 Haziran 2005, 01:31:54

Başlık: TRichEditdeki herhangi bir satiri tikladik.
Gönderen: z - 15 Haziran 2005, 01:31:54
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?
Başlık: TRichEditdeki herhangi bir satiri tikladik.
Gönderen: z - 15 Haziran 2005, 15:32:36
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.
Başlık: TRichEditdeki herhangi bir satiri tikladik.
Gönderen: cozturk - 15 Haziran 2005, 16:29:37
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
Başlık: TRichEditdeki herhangi bir satiri tikladik.
Gönderen: z - 15 Haziran 2005, 16:58:40
Çö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.
Başlık: TRichEditdeki herhangi bir satiri tikladik.
Gönderen: cozturk - 15 Haziran 2005, 17:21:32
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.