Variablen

Jede Variable wird zur Laufzeit der Instanz erstellt und kann somit zu jeder Zeit gelöscht und auch umbenannt werden. Man kann durch die DLL Variablen selbst definieren und diese modifizieren und auslesen.


OpernoCreateVariable(Name.s, *Value.OpernoValue [, *Super.OpernoObject])

Erstellt eine Variable mit dem angegebenen Namen und dem angegebenen Wert *Value. *Super ist ein Zeiger auf das Trägerobjekt/Namensraum der zu erstellenden Variable. Wird *Super nicht angegeben, so wird main als Namensraum verwendet.

Der Rückgabewert ist die Adresse auf das Objekt der neuen Variable.

Beispiel:

Define *X.OpernoObject = OpernoCreateVariable("x", OpernoCreateIValue(5))

Debug OpernoEvalI("2x + x²") ;= "35"
Debug *X\Name                ;= "x"

*Value darf kein Wert sein, der im Stack verankert ist. Es soll also ein Wert sein, der durch OpernoCreate...Value erstellt wurde.

OpernoVariableValue(*Object.OpernoObject)

Gibt die Adresse des Wertes zurück, der in der Variable *Object verankert ist. Auf die Attribute dieses Rückgabewertes kann durch die Struktur OpernoValue zugeriffen werden.

OpernoVariableMemory(*Object.OpernoObject)

Gibt den Inhalt des Wertes als Adresse zurück. Hierbei wird jediglich auf den Member Memory von OpernoValue zugegriffen.

Beispiel:

Define *Num.OpernoObject = OpernoCreateFVariable("num", 7.5)

Debug PeekF(OpernoVariableMemory(*Num)) ;= "7.5"
Debug *Num\Variable\Value\Float\F       ;= "7.5"

OpernoSetVariable(*Object.OpernoObject, *Value.OpernoValue)

Weist der Variable *Object einen neuen Wert *Value zu. Bei der Zuweisung wird die Klassenmethode _set aufgerufen.

Beispiel:

Define *A.OpernoObject = OpernoCreateIVariable("a", 567)
Define *B.OpernoObject = OpernoCreateIVariable("b", 123)

Debug OpernoVariableI(*A) ;= "567"
OpernoSetVariable(*A, OpernoVariableValue(*B))
Debug OpernoVariableI(*A) ;= "123"

Top | Home | Index