Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#762

AW: Was nervt euch so, während der Programmierung oder so allgemein

  Alt 19. Dez 2011, 14:04
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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.