Zitat Zitat von Fuerchau Beitrag anzeigen
Und wenn eben UCS2 dann "65535C" oder die Free-Alternative.
Und was hat die Übergabe mit dem Returnwert zu tun?
Die Übergabe als Parameter darf und soll ja auch nicht geändert werden.
CONST ist also durchaus erlaubt.
Vielleicht heißt es ja auch VARUCS2?
Ich wollte aber gerne den geänderten Wert des Unterprogramms wieder im Hauptprogramm nutzen - deshalb muss der Parameter sehr wohl geändert werden. Ich hätte natürlich die Variable auch Call-by-Reference übergeben können, wenn ich denn gewußt hätte, wie das geht.

Zitat Zitat von Fuerchau Beitrag anzeigen
CONST und VALUE haben ja gerade den Vorteil, dass ich beliebige Parameter übergeben kann.
Also bei Dieters Beispiel:

D MyChar 20
D MyVarC 20 inz('ABC')

CleanString(MyChar) => Übergabe von 20 Zeichen (mit Längenangabe vorneweg)
CleanString(MyVarC) => *bergabe von 3 Zeichen (auch wenn max. 20 möglich wären)

Gerade das ist ja der Vorteil von varchar/varying.
Die Übergabe lediglich der benutzen Zeichen des Strings hat ja nicht funktioniert, wie ich oben beschrieben habe. Daher muss ich den String im Unterprogramm auf jeden Fall trimmen, weil ich bei 3 Zeichen im String nicht 5000 Schleifendurchläufe machen möchte.