Forum: Programmieren allgemein
by mkinzler,
14. Jun 2015
Pos/PosEx liefert die Position des 1. Buchstabens des Suchwortes, willst Du dies nicht mit markieren, musst du dessen Länge addieren
Memo1.Selstart:= FundPos+Length(SuchStr)-1;
Memo1.Sellength:= FundPos2-FundPos-Length(SuchStr);
Forum: Programmieren allgemein
by mkinzler,
14. Jun 2015
SelStart ist 0-basiert ( wie Frank schon bemerkt hat) d.h. man muss von der Position im String 1 abziehen.
Memo1.Selstart:= FundPos-1;
Memo1.Sellength:= FundPos2-1-FundPos;
Forum: Programmieren allgemein
by mkinzler,
14. Jun 2015
Was bedeutet nicht richtig?
Ohne Wörter:
Memo1.Selstart:= FundPos+Length(SuchStr);
Memo1.Sellength:= FundPos2-1-FundPos-Length(SuchStr);
Mit Wörter:
Memo1.Selstart:= FundPos;
Memo1.Sellength:= FundPos2-1-FundPos;
Forum: Programmieren allgemein
by mkinzler,
14. Jun 2015
Es wird der Index des 1. Buchstabens des 2. Suchwortes zurückgegeben.
Die Länge müsste dann dann Word2-1-FundPos; bzw. Word2-1-FundPos-Length(SuchStr) wenn zwichen Den Worten markiert werden soll; sein.
Forum: Programmieren allgemein
by mkinzler,
14. Jun 2015
Einfach nach dem Fund it PosEx() nach dem zweiten Wort suchen.
Word2 := PosEx( SuchStr2, MemoText, FundPos+1);