Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [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 - CLEAR

Referenz-Navigation

 

Syntax: CLEAR Bezeichner, [Wert], Bytes
Typ: Anweisung
Kategorie: Speicher

CLEAR setzt eine Anzahl an Bytes ab einer bestimmten Adresse auf einen angegebenen Wert. Der Befehl kann z. B. dazu verwendet werden, um alle Elemente eines Arrays auf einen bestimmten Wert zu setzen.

Hinweis: Wird als 'Bezeichner' ein Pointer angegeben, so muss dieser zuerst dereferenziert werden. Ansonsten wird CLEAR versuchen, den Zeiger selbst zu überschreiben anstelle des Speichers, auf den der Zeiger zeigt.
Auch Strings fester Länge können übergeben werden. Bei Strings variabler Länge kann CLEAR nicht eingesetzt werden, da auch in diesem Fall der interne Zeiger auf die Daten überschrieben werden würde. Möglich ist hier nur ein Umweg, wie z. B. über Befehlsreferenzeintrag*STRPTR.

Beispiel:

DIM array(1 TO 100) AS INTEGER
DIM AllocArea AS BYTE PTR
DIM IntVar AS INTEGER
DIM text AS STRING*5 = "12345"

AllocArea = ALLOCATE(100)
IntVar = 5

CLEAR array(1), , LEN(array(1)) * (UBOUND(array) - LBOUND(array) + 1)
CLEAR *AllocArea, 1, 100
CLEAR IntVar, 255, LEN(INTEGER)
CLEAR text, 33, 3

PRINT array(1)
PRINT AllocArea[0]
PRINT IntVar
PRINT text
PRINT
DEALLOCATE AllocArea
SLEEP

Ausgabe:

 0
 1
-1
!!!45

Erläuterung: Alle vier Bytes der INTEGER-Stelle 'IntVar' werden einzeln mit dem Wert 255 befüllt; deshalb hat die Variable nach dem CLEAR-Aufruf den Wert -1. Beim String werden die ersten drei Zeichen auf den BefehlsreferenzeintragASCII-Wert 33 (Ausrufezeichen) gesetzt.

Unterschiede zu QB:
CLEAR hat in QB eine andere Bedeutung. Es wird dazu verwendet, alle Variablen auf null zu setzen und die Stack-Größe zu setzen.

Siehe auch:
BefehlsreferenzeintragDIM, BefehlsreferenzeintragERASE, BefehlsreferenzeintragRESET, BefehlsreferenzeintragSpeicher


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 05.07.2007 von MitgliedEternal_Pain angelegt.
  • Die aktuellste Version wurde am 19.11.2021 von Redakteurnemored gespeichert.
  Versionen Versionen