Code: Alles auswählen
Procedure.s StringOfChar(Count.i,Char.s)
ProcedureReturn ReplaceString(Space(Count)," ",Char)
EndProcedure
Debug "10 Sterne: "+StringOfChar(10,"*")
Code: Alles auswählen
Procedure.s StringOfChar(Count.i,Char.s)
ProcedureReturn ReplaceString(Space(Count)," ",Char)
EndProcedure
Debug "10 Sterne: "+StringOfChar(10,"*")
Code: Alles auswählen
Debug "10 Sterne: "+LSet("", 10, "*")
Code: Alles auswählen
Procedure.s StringOfChar(Count.i,Char.s)
ProcedureReturn LSet("", Count, Char)
EndProcedure
Debug "10 Sterne: "+StringOfChar(10,"*")
Wenn du mit For/Next sowas meinst wie:Derren hat geschrieben:In wie fern ist das schneller oder besser als eine Fox/Next Schleife?
Code: Alles auswählen
For N = 1 to 10
String + "x"
Next
Das ist aber nicht der Knackpunkt. Der Knackpunkt ist die Tatsache, dass die zwei Funktionen, die TKRoths Prozedur aufruft (Space und ReplaceString) 2 mal durch die volle Länge iterieren (einmal um den String mit dem Leerzeichen zu füllen und einmal um alle Leerzeichen durch andere Zeichen zu ersetzen), wohingegen STARGATEs Aufruf nur einmal durch den gesamten String muss um die Zeichen auf den Zielwert zu bringen.ts-soft hat geschrieben:STARGÅTE hat schon Recht, LSet ist günstiger als Deine Procedure.
Erstens erfolgt ein Call zum Aufruf der Procedure und dann werden 2 PB-Funktionen aufgerufen.