Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [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