Büdde.
Zitat:
Count kann ja dann nicht mehr 0 sein.
Doch, wenn du 0 reingibst.
Die 1 ist nur, wenn man "garnichts" reingibt
und 0 ist ja etwas.
Aber OK, SetLength und somit auch DupeString kommen mit kleiner-0 zurecht und bei 0 macht DupeString nichts, also ja, kann man das auch noch weglassen, da es intern abgefangen ist.
War dann sowas Doppeltgemoppeltes, wie ein
if Assigned(x) then x.Free;
.
Hatte nicht nachgesehn/ausprobiert, was bei negativen Zahlen passiert, drum ließ ich es noch drin. Bin etwas durch Funktion gebrandmarkt, wo Cardinal (unsigned int) als Längenparameter rein gehen und dann -1 plötzlich ganz groß wird ($FFFFFFFF).
- Default-Parameter ersparen teilweise eine explizite Angabe
- und sLineBreak statt #13#10 ist "lesbarer" Code und gleichzeitig in sich dokumentiert/kommentiert
Zusätzlich sogar zukunftsicher, falls es sich mal ändern sollte, bzw. auch für andere Platformen.
Ausnahmen sind Dinge, wo es ein fester "definierter" Wert sein muß, z.B. in Dateiformaten oder Datenübertragungsprotokollen.
Das sind oft die einfachsten Optimierungen am Quellcode, wo man sich schnell und ohne Funktionsänderung das Leben leichter machen kann.