DATA/de
(→See also) |
(→(**COPIED FROM ENGLISH PAGE**) =) |
||
(2 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | + | = <span class="f_Header">Funktion</span> = | |
− | + | Spezifiziert konstante Werte die durch READ-Befehle gelesen werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 15: | Line 15: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Anmerkungen</span> = |
<div style="padding: 0px; margin: 0px 0px 0px 4px;"> | <div style="padding: 0px; margin: 0px 0px 0px 4px;"> | ||
{| width="488" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | {| width="488" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
| valign="top" width="16%" style="width: 74px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="16%" style="width: 74px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | var | |
| valign="top" width="100%" style="width: 405px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 405px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Numerische- oder Zeichenketten-Konstante. | |
|} | |} | ||
Line 29: | Line 29: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Es wird das interne Registerpaar R8 und R9 verwendet um dan DAtenzeiger zu speichern. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Um ein " Zeichen in einer DATA-Zeile zu speichern kann man | |
+ | |||
DATA $34 | DATA $34 | ||
+ | |||
+ | benutzen. | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Das $-Zeichen sagt dem Compiler dass ein ASCII-Zeichen folgt. | |
− | + | Dies kann auch benutzt werden um Sonderzeichen zu speichern, die nicht mit dem Editor geschrieben werden können wie zum Beispiel chr(7). | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Eine andere Möglichkeit, ASCII-Sonderzeichen in einer Zeichenkette einzuschließen ist, {XXX} zu benutzen. Man muss genau 3 Ziffern benutzen, die das ASCII-Zeichen representieren. Zum Beispiel ist 65 die ASCII-Zahl für den Buchstaben A. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 53: | Line 56: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wird gelesen als TESTA. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 59: | Line 62: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Während : | |
− | DATA "TEST{65}" | + | DATA "TEST{65}" gelesen wird als: |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | TEST{65} | + | TEST{65} weil nur 2 Ziffern geschrieben wurden statt 3. |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | {xxx} | + | {xxx} funktioniert nur mit Zeichenkettenkonstanten. Es funktioniert auch bei einer normalen Zeichenkettenzuweisung. |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | s = "{065}" . | + | s = "{065}" . Weist der Zeichenketten-Variablen s ein A zu. |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 79: | Line 82: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Weil der DATA-Befehl es auch ermöglicht, eine EEP-Datei für das EEPROM zu generieren | |
+ | wurden die Direktiven [[$DATA]] und [[$EEPROM]] eingeführt. Lesen Sie die Beschreibungen dieser Direktiven um mehr über den DATA-Befehl zu lernen. | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Die DATA-Zeilen dürfen nicht durch den normalen Programmablauf zugegriffen werden weil die DATA-Zeilen zu den Byte-Represantionen der Daten umgewandelt werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wenn der Programmlauf in den DATA-Bereich kommt dann ergibt das unvorhersehbare Ergebnisse | |
− | + | Deswegen sollten - wie in QB - die DATA-Zeilen am besten am Ende des Programms plaziert werden oder an einer Stelle wo sie nicht vom Programmablauf erreicht werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Dieses ist ein korrektes Beispiel: | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | Print " | + | Print "Hallo" |
Goto jump | Goto jump | ||
Line 107: | Line 111: | ||
Jump: | Jump: | ||
− | ' | + | 'Weil wir über den Datenbereich springen gibt es keine Probleme. |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Das folgende Beispiel führt zu Problemen: | |
Dim S As String * 10 | Dim S As String * 10 | ||
− | Print " | + | Print "Hallo" |
Restore lbl | Restore lbl | ||
Line 133: | Line 137: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wenn der END-Befehl benutzt wird dann muss er VOR den DATA-Bereichen geschrieben werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 141: | Line 145: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Unterschied zu QB</span> = |
− | Integer | + | Integer und Word Konstanten müssen mit <span style="font-weight: bold;">%</span>-Zeichen enden. |
− | Long | + | Long Konstanten müssen mit dem <span style="font-weight: bold;">&</span>-Zeichen enden. |
− | Single | + | Single Konstanten müssen mit dem <span style="font-weight: bold;">!</span>-Zeichen enden. |
− | Double | + | Double Konstanten müssen mit dem <span style="font-weight: bold;">#</span>-Zeichen enden. |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> |
Latest revision as of 00:19, 6 March 2013
Contents |
Funktion
Spezifiziert konstante Werte die durch READ-Befehle gelesen werden.
Syntax
DATA var [, varn]
Anmerkungen
var |
Numerische- oder Zeichenketten-Konstante. |
Es wird das interne Registerpaar R8 und R9 verwendet um dan DAtenzeiger zu speichern.
Um ein " Zeichen in einer DATA-Zeile zu speichern kann man
DATA $34
benutzen.
Das $-Zeichen sagt dem Compiler dass ein ASCII-Zeichen folgt.
Dies kann auch benutzt werden um Sonderzeichen zu speichern, die nicht mit dem Editor geschrieben werden können wie zum Beispiel chr(7).
Eine andere Möglichkeit, ASCII-Sonderzeichen in einer Zeichenkette einzuschließen ist, {XXX} zu benutzen. Man muss genau 3 Ziffern benutzen, die das ASCII-Zeichen representieren. Zum Beispiel ist 65 die ASCII-Zahl für den Buchstaben A.
DATA "TEST{065}"
Wird gelesen als TESTA.
Während :
DATA "TEST{65}" gelesen wird als:
TEST{65} weil nur 2 Ziffern geschrieben wurden statt 3.
{xxx} funktioniert nur mit Zeichenkettenkonstanten. Es funktioniert auch bei einer normalen Zeichenkettenzuweisung.
s = "{065}" . Weist der Zeichenketten-Variablen s ein A zu.
Weil der DATA-Befehl es auch ermöglicht, eine EEP-Datei für das EEPROM zu generieren wurden die Direktiven $DATA und $EEPROM eingeführt. Lesen Sie die Beschreibungen dieser Direktiven um mehr über den DATA-Befehl zu lernen.
Die DATA-Zeilen dürfen nicht durch den normalen Programmablauf zugegriffen werden weil die DATA-Zeilen zu den Byte-Represantionen der Daten umgewandelt werden.
Wenn der Programmlauf in den DATA-Bereich kommt dann ergibt das unvorhersehbare Ergebnisse
Deswegen sollten - wie in QB - die DATA-Zeilen am besten am Ende des Programms plaziert werden oder an einer Stelle wo sie nicht vom Programmablauf erreicht werden.
Dieses ist ein korrektes Beispiel:
Print "Hallo"
Goto jump
DATA "test"
Jump:
'Weil wir über den Datenbereich springen gibt es keine Probleme.
Das folgende Beispiel führt zu Problemen:
Dim S As String * 10
Print "Hallo"
Restore lbl
Read S
DATA "test"
Print S
Wenn der END-Befehl benutzt wird dann muss er VOR den DATA-Bereichen geschrieben werden.
Unterschied zu QB
Integer und Word Konstanten müssen mit %-Zeichen enden.
Long Konstanten müssen mit dem &-Zeichen enden.
Single Konstanten müssen mit dem !-Zeichen enden.
Double Konstanten müssen mit dem #-Zeichen enden.
Siehe auch
READ , RESTORE , $DATA , $EEPROM , LOOKUP, LOOKUPSTR , LOOKDOWN
Beispiel
'----------------------------------------------------------------------------------------- 'name : readdata.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : demo : READ,RESTORE 'micro : Mega48 'suited for demo : yes 'commercial addon needed : no '----------------------------------------------------------------------------------------- $regfile = "m48def.dat" ' Mikrocontroller $crystal = 4000000 ' Taktfrequenz $baud = 19200 ' Baudrate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space Dim A As Integer , B1 As Byte , Count As Byte Dim S As String * 15 Dim L As Long Restore Dta1 'Zeiger auf gespeicherte Daten setzen For Count = 1 To 3 'Für jedes Datenelement Read B1 : Print Count ; " " ; B1 Next Restore Dta2 'Zeiger aud Datentabelle setzen For Count = 1 To 2 'Für jedes Datenelement Read A : Print Count ; " " ; A Next Restore Dta3 Read S : Print S Read S : Print S Restore Dta4 Read L : Print L 'long type 'demonstration of readlabel Dim W As Iram Word At 8 Overlay ' location is used by restore pointer 'note that W does not use any RAM it is an overlayed pointer to the data pointer W = Loadlabel(dta1) ' loadlabel expects the labelname Read B1 Print B1 End Dta1: Data &B10 , &HFF , 10 Dta2: Data 1000% , -1% Dta3: Data "Hello" , "World" 'Zu beachten: Integer-Werte (>255 or <0) müssen mit einem %-Zeichen enden. 'Auch zu beachten: Der Datentyp muss dem Datentyp der Variablen im READ-Befehl entsprechen. Dta4: Data 123456789& 'Zu beachten: LONG-Werte müssen mit einem &-Zeichen enden. 'Auch zu beachten: Der Datentyp muss dem Datentyp der Variablen im READ-Befehl entsprechen.
Languages | English • Deutsch |
---|