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

Referenz-Navigation

 

Syntax: DATA Konstante [, Konstante [,...]]
Typ: Anweisung
Kategorie: Speicher

DATA speichert Konstanten im Programm, die mit BefehlsreferenzeintragREAD eingelesen werden können. Als Werte lassen sich BefehlsreferenzeintragSTRINGs und Zahlen, aber auch BefehlsreferenzeintragKonstanten-Namen und einfache Rechenausdrücke. verwenden. Variablen-Namen können in DATA-Anweisungen nicht verwendet werden.
DATA-Anweisungen sind keine ausführbaren Anweisungen und stehen normalerweise am Ende vom Programm.

Beispiel 1: Werte in DATA-Zeilen speichern:

DATA 1, 2, 3, 4, 17, 21, 42, "Hello", "World"
DATA 3.1412, 4*ATN(1), ATAN2(0, -1), (17+4)*2, "Hello, " & " World!"

Der Zugriff auf die mit DATA gespeicherten Daten erfolgt über BefehlsreferenzeintragREAD.
Dabei muss der Programmierer darauf achten, dass die Werte auch Variablen mit entsprechendem BefehlsreferenzeintragDatentyp zugewiesen werden. Werden Werte in nicht dazu passende Variablen eingelesen, so werden sie zuvor mittels BefehlsreferenzeintragSTR, BefehlsreferenzeintragVALINT bzw. der passenden Entsprechung umgewandelt.

Beispiel 2: 9 gespeicherte Daten einlesen:

DIM height(1 to 7) AS INTEGER
DIM AS STRING s1, s2
FOR a AS INTEGER = 1 TO 7
  READ height(a)
NEXT
READ s1, s2
PRINT s1 & s2
DATA 1, 2, 3, 4, 17, 21, 42, "Hello,", " World"
SLEEP

Beispiel 3:

Dim As Integer h(4)
Dim As String hs
Dim As Integer readindex

' Daten in das Array einlesen
For readindex = 0 To 4
  Read h(readindex)  ' Integer einlesen
  Print "Number" ; readindex ; " = " ; h(readindex)
Next readindex
Print

Read hs              ' String einlesen
Print  "String = " & hs
Sleep

' Datenblock.
Data 3, 234, 435/4, 23+433, 87643, "Good" & "Bye!"

Achten Sie darauf, nicht mehr Daten einlesen zu wollen, als über DATA zur Verfügung stehen! Wenn Sie eine Zahl einlesen wollen, aber kein DATA-Eintrag mehr vorhanden ist, wird der Wert 0 eingelesen. Versuchen Sie jedoch über das DATA-Ende hinaus einen STRING einzulesen, bricht das Programm mit einem "Segmentation fault" ab.

Mit DATA gespeicherte Werte können nur einmal eingelesen werden. Durch jede READ-Anweisung wird der jeweils nächste Wert in der Liste der DATAs eingelesen. Durch BefehlsreferenzeintragRESTORE können Daten mehrfach eingelesen werden. Nach einem RESTORE-Aufruf liest die nächste READ-Anweisung wieder von der ersten DATA-Konstante, bzw. nach dem angegeben Label. Siehe dazu das Beispiel zu BefehlsreferenzeintragRESTORE.

DATA ist eine früher häufig verwendete Methode, um Konstanten im Programm zu speichern, heutzutage sind einfache BefehlsreferenzeintragArrays allerdings viel üblicher.

Unterschiede zu QB:

Unterschiede zu früheren Versionen von FreeBASIC:

Unterschiede unter den FB-Dialektformen:

Siehe auch:
BefehlsreferenzeintragREAD, BefehlsreferenzeintragRESTORE, BefehlsreferenzeintragVerschiedenes


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