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 - PEEK

Referenz-Navigation

 

Syntax: PEEK ([Datentyp,] Adresse)
Typ: Funktion
Kategorie: Pointer

PEEK liest einen Wert direkt vom RAM.

Mit PEEK und BefehlsreferenzeintragPOKE wurden in älteren BASIC-Dialekten Pointer-Funktionen erstellt.

Beispiel: Wert dreier Variablen aus dem Speicher lesen:

DIM byteVal AS BYTE, shortVal AS SHORT, intVal AS INTEGER
DIM byteAddr AS BYTE PTR, shortAddr AS SHORT PTR, intAddr AS INTEGER PTR

byteAddr  = VARPTR(byteVal)
shortAddr = VARPTR(shortVal)
intAddr   = VARPTR(intVal)

byteVal   = 127
shortVal  = 32767
intVal    = 2 ^ 31 - 1

PRINT byteVal, shortVal, intVal
PRINT PEEK(BYTE, byteAddr), PEEK(SHORT, shortAddr), PEEK(INTEGER, intAddr)
SLEEP

Diese Form funktioniert einwandfrei. FreeBASIC hat jedoch eigene Pointer-Funktionen, die ein komfortableres Programmieren ermöglichen. Mit den FB-eigenen Funktionen würde dieses Beispiel so aussehen:

DIM byteVal AS BYTE, shortVal AS SHORT, intVal AS INTEGER
DIM bytePtr AS BYTE PTR, shortPtr AS SHORT PTR, intPtr AS INTEGER PTR

bytePtr  = @byteVal
shortPtr = @shortVal
intPtr   = @intVal

byteVal   = 127
shortVal  = 32767
intVal    = 2 ^ 31 - 1

PRINT byteVal, shortVal, intVal
PRINT *bytePtr, *shortPtr, *intPtr
SLEEP

Die Syntax *Pointer gibt also den Wert zurück, der an der Speicherstelle steht, auf die der Pointer zeigt. Wie viele Bytes gelesen werden, hängt dabei vom Typ des Pointers ab (BYTE PTR, SINGLE PTR, ...)

Unterschiede zu QB:

Unterschiede zu früheren Versionen von FreeBASIC:

Siehe auch:
BefehlsreferenzeintragPOKE, BefehlsreferenzeintragVARPTR, BefehlsreferenzeintragSADD, BefehlsreferenzeintragPointer, BefehlsreferenzeintragDatentypen, BefehlsreferenzeintragSpeicher


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