PureBasic: Strukturen

Strukturen sind dazu da, um Variablen sinnvoll zu ordnen. Man kann mit ihnen eigene Datentypen definieren und so alle Daten eines einzelnen Bestandes zusammenfassen.

; Listing 24: Strukturen, With

Structure Person
  name.s
  alter.l
EndStructure

OpenConsole()

Dim alle.Person(2)

For x = 0 To 2
  With alle(x)
    \alter = x
    \name = "Hans"
  EndWith
Next

For x = 0 To 2
  PrintN("Alter: "+Str(alle(x)\alter))
  PrintN("Name: "+alle(x)\name)
Next

Delay(2000)
Ausgabe:

Alter: 0
Name: Hans
Alter: 1
Name: Hans
Alter: 2
Name: Hans

Zu Anfang wird der Strukturtyp im Structure : EndStructure-Block definiert. Der neu erzeugte Typ erhält den Namen Person und enthält die Stringvariable "name" und die Longvariable "alter" (man nennt diese Variablen Strukturvariablen). Dann wird ein Array von diesem neuen Typ erzeugt und gefüllt. Dazu ist grundsätzlich nicht das Schlüsselwort With vonnöten. With wird eine definierte Struktur übergeben und in diesem Block wird über einen Backslash und den Strukturvariablennamen auf die Strukturvariable zugegriffen. Wie man in der zweiten For-Schleife sieht, kann auch ohne With auf eine Strukturvariable zugegriffen werden, indem man vor den Backslash noch die definierte Struktur schreibt.