For x := 1 to richedit1.CaretPos.x+1 do
If (richedit1.Text[x] <> #13) and (richedit1.Text[x] <> #10) and
(richedit1.Text[x] <> ' ') then Characters := Characters + 1 ;
Label11.Caption := InttoStr(Characters);
bu şekilde richeditte bulundugum imlecin konumundan yukarsina kadar olan kısmın karakter adedini aliyorum.
fakat enterlayıp 2, 3, satira gecince enterlanınca 1 den başlıyor karakterler gene.
enterlansada toplam kac karakter oldugunu bularak nasil döngü kurarim.
richedit sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: richedit sorunu
Cursor'un bulunduğu satırı Richedit1.ActiveLineNo ile bulabilirsin. Dolayısıyla ilk döngünü 0'dan ActiveLineNo'ya kadar yaparsın. Sonra her satıra RichEdit1.Lines[index] şeklinde ulaşabilirsin.
There's no place like 127.0.0.1
Re: richedit sorunu
tesekkur ederim simaWb de Richedit1.ActiveLineNo diye bir parametre yok richeditte.
bulundugu satiri bu sekilde bulabiliyorum.
Label12.Caption := InttoStr(richedit1.CaretPos.y+1);
fakat dediğim gibi
richeditin richedit1SelectionChange asagidakini gibi döngü kurmazssam calismiyor imlec hareket edince.
kurdugum döngüde sadece bulundugu satirin toplamini veriyor.
For j := 1 to richedit1.CaretPos.x+1 do
bulundugu satiri bu sekilde bulabiliyorum.
Label12.Caption := InttoStr(richedit1.CaretPos.y+1);
fakat dediğim gibi
richeditin richedit1SelectionChange asagidakini gibi döngü kurmazssam calismiyor imlec hareket edince.
kurdugum döngüde sadece bulundugu satirin toplamini veriyor.
For j := 1 to richedit1.CaretPos.x+1 do
Re: richedit sorunu
RichEdit'te ActiveLineNo özelliği var ama hangi Delphi versiyonunu kullandığınıza bağlı. Delphi 2010 ve sonrasında var, öncesini bilmiyorum. Bu özelliğin olmadığı versiyonlar için:
kullanılabilir.
Kod: Tümünü seç
function GetActiveLineNo(RE: TRichEdit): integer;
begin
Result := SendMessage(RE.Handle, EM_LINEFROMCHAR, -1, 0);
end;
There's no place like 127.0.0.1