Das wollte ich eigentlich noch schreiben, habe es dann aber vergessen.
Und: Effizienz ist wichtig. Wir diskutieren nicht unter uns. Das betrifft alles die Frage.
Wie wäre es damit:
Delphi-Quellcode:
function StrAtPos(substr, str: String; pos: Integer): Boolean;
var I: Integer;
begin
Result:=False;
if (pos<1) or (pos>length(str)) or (pos+length(substr)-1>length(str)) then exit;
str:=ansilowercase(str);
substr:=ansilowercase(substr);
for I:=1 to length(substr) do
if substr[I]<>str[pos+I-1] then exit;
Result:=True;
end;
EDIT: OK, diese Methode, habe ich gerade gemerkt, ist viel langsamer.