Hi erneut!
Ich wollte in meiner Unwissenheit die Funktion StringReplace einsetzen, um die durch die Funktion STR verursachten Leerzeichen am Anfang eines Strings zu entfernen. Bei PHO gibt es ja schöne Funktionen wie TRIM, aber bei meinem Delphi 7 gibt es dies offenbar leider nicht.
Hier erstmal der gegenwärtige Code:
Code:
Rounded:=StrToFloat(EditFrom.Text)*(ValueFrom/ValueTo);
Str(Rounded:1000:Floater,Results);
Calculate:=StringReplace(Results,' ','');
ValueFrom, ValueTo und Rounded sind vom Typ REAL.
Results und Calculate sind vom Type String.
Floater ist vom Typ Integer.
Ich verwende STR, um durch den Benutzer entscheiden zu lassen, wieviele Stellen hinter dem Komma angezeigt werden sollen (Floater). Jedoch scheint es keine Möglichkeit zu geben, den Parameter für die Stellen vor dem Komma nicht zu gebrauchen und nur den Parameter für die Nachkommastellen, oder?
Ich würde sehr gerne die Stellen vor dem Komma so viele sein lassen, wie die Zahl eben benötigt. Da ich dies anscheinend nicht kann, habe ich die Vorkommastellen großzügig mit 1000 gesetzt.
Das verursacht aber leider viele Leerzeichen, wenn die Zahl halt nicht so viele Stellen hat. Deswegen muß ich dann auch StringReplace einsetzen, um die ganzen Leerzeichen wieder zu entfernen. Aber es wird ein weiterer Parameter erwartet, hier ist die entsprechende Fehlermeldung:
Zitat von
Delphi 7:
Not enough actual parameters
Fragen:
- Wie komplettiere ich den Aufruf der Funktion StringReplace?
- Kann ich bei STR die Nachkommastellen setzen, doch die Vorkommastelen nur so viele seinlassen wie benötigt werden von der Zahl? Wie?