Ich weiß nicht ob 's da schon eine Funktion gibt, aber eine möglichkeit wäre, solange Length(RichEdit1.Lines[i]) zu einer Variable dazu zu zählen, bis sie größer ist als die Position des Wortes. Verstehst du was ich meine? So ungefähr könnte es funktionieren:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function TForm1.FindLine(position: integer): integer; var i, letters: integer; begin Result := -1; letters := 0; if position = -1 then exit; for i := 0 to RichEdit1.Lines.Count - 1 do begin if (position >= letters) and (position <= (letters + Length(RichEdit1.Lines[i]))) then break; Inc(letters, Length(RichEdit1.Lines[i])); end;
Result := i;
end; |
Quelltext hat bei mir funktioniert! Hoffe nur, dass ich das nicht umsonst gemacht habe, fals so ne Funktion schon existiert *g*.