Erstens: Du kannst den Code via Copy&Paste einsetzen und in jedem Programm einsetzen. Von daher ist die Länge eigentlich völlig nebensächlich.
Zweitens: Es tut mir leid, aber an der Qualität des Codes solltest Du solange nicht meckern, wie Du nicht verstehst, was darin genau vorgeht. Es stimmt, man kann den Code noch ein wenig auf Geschwindigkeit optimieren, aber davon wird der auch nicht kürzer, eher das Gegenteil.
Drittes: Wenn Du die Routine von Luckie durch Delphi nutzt, kannst Du nur nach Zeichenketten von einem Byte Länge (also Char) suchen, aber nicht nach längeren Substrings. Je nach dem, was Du wirklich suchst.
Viertens: Deine letzte Frage ist durch Luckies Beispiel extrem effizient beantwortet.
...
...
P.S. Das musste jetzt mal raus