Ich habe da immernoch ein kleines Problem..
Undzwar folgendes:
Wenn der Cursor an der mit
X markierten Stelle ist, funktioniert alles super..
ist der cursor aber irgentwo nach der mit
Y markierten stelle gibts probleme.
Code:
<body"X">"Y"
// text text und mehr text
</body>
mein schlechter code:
(<body wird gefunden, kein problem. der rest .. naja)
Delphi-Quellcode:
for x := CurPosition-4 downto 0 do
begin
StartTag := Copy(SynMemo1.Text, x, 5);
if StartTag = '<body' then
begin
iEndTag := PosEx('>', SynMemo1.Text, CurPosition);
if iEndTag <> 0 then
begin
GetCaretPos(Point);
bodyPopUp.Popup(Point.X+125, Point.Y+50);
exit;
end;
end;
end;
eigentlich dachte ich sollte es so gehen:
Ab der cursorposition soll "<body " gesucht werden (rückwärts). ist es gefunden, gehts weiter in die schleife.
ich dachte ich suche mit PosEx bis ich ">" finde, ist es gefunden so wird ein popupmenu angezeigt.
da ist das problem: hat man den cursor aber hinter dem ">", also danach irgentwo (
*), so wird zwar "<body" gefunden (logisch) aber es wird nicht drauf geachtet,
ob der cursor noch im "gültgen bereich" ist .. kann man da was machen?
mir fällt jetzt nix ein was sinn machen würde.