Man hat doch mal vor einer Weile das FastStringsProjekt in Delphi aufgenommen ... ist ja gut und schön,
aber wenn man jetzt dieses wieder mit vollkommen schrottigen Funktionen zur Minna macht ... also das nervt echt mal.
Frage: Was ist schneller?
Gesucht ist, ob ein String mit einem bestimmten Text beginnt.
*
if Pos(x,y)=1 then
den String überall suchen und danach schauen ob er gleich am Anfang gefunden wurde. (ist er nicht vorhanden, wurde umsonst der ganze String durchsucht)
*
if StartsStr(x,y) then
schauen ob der String damit beginnt
Vom Code her ist letzeres ja verständlicher.
Und auch von der Logik her sollte Letzteres schneller sein, oder nicht?
Nee, natürlich nicht, da kommt man dann auf die saudämliche Idee und fängt an Strings umzukopieren, anstatt einfach nur zu vergleichen
Zitat:
Delphi-Quellcode:
function AnsiStartsStr(const ASubText, AText: string): Boolean;
begin
Result := AnsiSameStr(ASubText, Copy(AText, 1, Length(ASubText)));
end;