Andere Befehle


Syntax
Goto <Sprungmarke> 
Beschreibung
Dieser Befehl wird benutzt, um die Programmausführung direkt zu einer Sprungmarke zu verlegen. Seien Sie vorsichtig mit dieser Funktion, da falsche Benutzung zu einem Programmabsturz führen kann... Hinweis: Um eine Schleife sicher zu verlassen, sollten Sie immer Break anstelle von Goto verwenden.

Syntax
End [ExitCode]
Beschreibung
Beendet ordentlich die Programmausführung. Der optionale 'ExitCode' Parameter kann angegeben werden, wenn das Programm einen Fehlercode zurückgeben soll (häufig in Konsolen-Programmen genutzt).

Syntax
SizeOf(Typ)
Beschreibung
Der SizeOf Befehl kann benutzt werden, um die Größe jeder komplexen Struktur (er arbeitet nicht mit den einfachen eingebauten Typen wie Word und Fließkomma), Interface oder sogar Variablen zu ermitteln. Dies kann auf vielen Gebieten nützlich sein, um den Speicherverbrauch für Operationen, mittels API-Befehlen, zu ermitteln etc.

Beispiel:

  Structure Person
    Name.s
    Vorname.s 
    Alter.w 
  EndStructure
  
  Debug "Die Größe meines Freundes ist "+Str(Sizeof(Person))+" Bytes" ; wird 10 (4+4+2) ergeben
  
  John.Person\Name = "John"
  
  Debug SizeOf(John)  ; wird auch 10 ergeben
Hinweis: Wenn eine Variable und eine Struktur den gleichen Namen haben, dann hat die Struktur Vorrang gegenüber der Variable.

Syntax
Index = OffsetOf(Struktur\Feld)
Index = OffsetOf(Interface\Funktion())
Beschreibung
Der OffsetOf Befehl kann verwendet werden, um den Index eines Struktur-Feldes oder den Index einer Interface-Funktion herauszufinden. Bei der Verwendung mit einem Interface ist der Funktions-Index der Speicher-Offset, es gilt deshalb IndexOfTheFunction*4.

Beispiel:

  Structure Person
    Name.s
    Vorname.s 
    Alter.w 
  EndStructure
  
  Debug OffsetOf(Person\Alter) ; wird 8 ergeben, da ein String(-Pointer) 4 Byte im Speicher belegt
  
  
  Interface ITest
    Create()
    Destroy(Flags) 
  EndInterface
  
  Debug OffsetOf(ITest\Destroy()) ; wird 4 ergeben