WriteFunction(id, func[, txtmode, nobrk])
func
angegebene Funktion
in die in id
angegebene Datei an der aktuellen Cursorposition
der Datei, die Sie mit dem Befehl Seek() ändern können.
Die Funktion wird in die Datei als vorkompilierter Bytecode
geschrieben werden, das heißt, für Menschen ist er nicht lesbar.
Sie können mit Hilfe des Befehls ReadFunction() gespeicherte
Funktionen in andere Projekte laden. Das optionale Argument
txtmode
gibt an, ob die Funktion als binäre oder als Base64-codierte
Daten in die Datei geschrieben wird. Letzteres ist nützlich
für die Einbettung von Funktionen in für Menschen lesbare
Text-Dateien wie zum Beispiel XML-Dateien. Für den Fall
setzen Sie txtmode
auf True
und WriteFunction()
wird dann
für eine bessere Lesbarkeit jeweils nach 72 Zeichen automatisch
einen Zeilenumbruch einfügen. Wenn Sie diesen Zeilenumbruch
nicht wollen, setzen Sie das optionale Argument nobrk
auf
True
. In diesem Fall werden keine Zeilenumbrüche eingefügt.
True
, um die Funktion in Base64 oder False
,
um als Binärdaten zu schreiben (voreingestellt ist False
)True
, wenn Sie keine Zeilenumbrüche in
für Menschen lesbaren Text wollen (voreingestellt ist False
);
dieses Argument wird bei Binärdaten ignoriert (V6.1)Function p_LittleTestFunc(a, b) Return(a+b) EndFunction OpenFile(1, "func.bin", #MODE_WRITE) WriteFunction(1, p_LittleTestFunc) CloseFile(1) OpenFile(1, "func.bin", #MODE_READ) p_MyAdd = ReadFunction(1) CloseFile(1) Print(p_MyAdd(5, 6)) ; gibt 11 ausDer obige Code schreibt die Funktion p_LittleTestFunc() in die Datei "func.bin". Danach öffnet sich die Datei "func.bin" wieder und es wird die Funktion in Hollywood zurück gelesen. Die eingelesene Funktion wird der Variablen p_MyAdd() zugewiesen. schließlich wird die neue Funktion p_MyAdd() aufgerufen und es werden die Nummern 5 und 6 für uns summiert.