Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
5. Jun 2011
temp := '0' + temp; in einer Schleife = Aua
result := temp; - Warum nicht gleich Result verwenden? (Wir sind hier nicht in C, wo das zuweisen des Results die Funktion verläßt)
Aber statt Temp hätte man auch Zahl verändern können (solange man den Parameter nicht als CONST übergibt)
while (...) do - Delphi kommt mit wesentlich weniger Klammern aus.
Und dann noch völlig unnötige Leerzeilen...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
3. Jun 2011
Disoptimieren geht ganz schnell um 1000x die 0 zusammenzubekommen
s := ''; for i := 1 to 1000 do s := s + '0';
:stupid:
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
3. Jun 2011
Dabei könnte man in meinem Code auch noch mit PChars rumpfuschen, um den noch schneller zu machen.
Am Ende bin ich aber auch immer wieder "schockiert" wie schnell solche Stringmanipulationen doch sein können, falls man keine großen und immer wieder begangen Designfehler verbaut.
Bei der http://www.delphipraxis.net/135569-mathe-mit-strings-die-deutsche-stringmathelib-_.html hatte ich auch...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
1. Jun 2011
Inkrementiert die Zahl in dem String und verändert nicht deren Länge.
Macht einfach genau das, was man in Mahte mal gelernt hat, wenn man eine Zahl um 1 erhöhen muß.
function StrInc(const Number: String): String;
var
i: Integer;
begin
Result := Number;
i := Length(Result);
while (i > 0) and (Result in ) do begin
Result := Chr(Ord(Result) + 1);