Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - PRESERVE

Referenz-Navigation

 

Syntax: REDIM PRESERVE array(...) AS Datentyp
Typ: Schlüsselwort
Kategorie: Deklaration

PRESERVE wird zusammen mit BefehlsreferenzeintragREDIM benutzt, um ein Array zu redimensionieren, ohne seine Elemente zu löschen. Wenn das Array vergrößert wird, werden die neuen Elemente mit 0 (bzw. mit Nullstrings) initiiert; die alten Elemente bleiben erhalten.

REDIM PRESERVE funktioniert nur bei DYNAMIC-Arrays; STATIC-Arrays können nicht redimensioniert werden. Ab der Compilerversion 0.17 wird das Meta-Schlüsselwort Befehlsreferenzeintrag'$DYNAMIC jedoch nicht mehr akzeptiert. Arrays sind nur dynamisch, wenn sie mit REDIM oder ohne Dimensionsangabe erstellt wurden.

Wichtig: Das Schlüsselwort kann nur bei eindimensionalen Arrays ohne Probleme verwendet werden, bei mehrdimensionalen Arrays bleibt wegen der Speicherverwaltung bei Arrays nur der erste Index erhalten!

Beispiel:

REDIM array(1 TO 3) AS INTEGER
array(1) = 10
array(2) = 5
array(3) = 8

REDIM PRESERVE array(2 TO 9) AS INTEGER
FOR i AS INTEGER = 2 TO 9
   PRINT "array(" & i & ") = " & array(i)
NEXT
SLEEP

Dadurch wird das Element 1 auf das 2. Element des neuen Arrays verschoben.
Die Ausgabe sieht dann so aus:

array(2) = 10
array(3) = 5
array(4) = 8
array(5) = 0
array(6) = 0
array(7) = 0
array(8) = 0
array(9) = 0

Unterschiede zu QB:
PRESERVE wird erst in PDS 7.1 unterstützt.

Siehe auch:
BefehlsreferenzeintragDIM, BefehlsreferenzeintragREDIM, BefehlsreferenzeintragSTATIC (Metabefehl), BefehlsreferenzeintragDYNAMIC (Metabefehl), BefehlsreferenzeintragArrays


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 07.08.2007 von RedakteurJojo angelegt.
  • Die aktuellste Version wurde am 16.06.2013 von Redakteurnemored gespeichert.
  Versionen Versionen