Hallo,
Du könntest das Lookup gleich in die If-Abfrage bauen.
Es ist anscheinend nicht vorgesehen an dieser Stelle eine Variable anzugeben![]()
Hallo,
wie kann man bei dem Befehl "Lookup" die Tabelle über eine Variable auswählen?
z.b.
dim Tabelle as Byte
If ... then
Tabelle = 1
Else
Tabelle =2
End if
W1 = Lookup(position , Tabelle)
1:
Data 1; 1 usw....
Data 4; 4 usw....
2:
Data 7; 8 usw....
Data 3; 5 usw....
Die Variable Position funktioniert wunderbar
Die Variable Tabelle geht leider nicht.
Hat jemand dafür eine Erklärung?
Tobias
...
Hallo,
Du könntest das Lookup gleich in die If-Abfrage bauen.
Es ist anscheinend nicht vorgesehen an dieser Stelle eine Variable anzugeben![]()
In der Tat. da geht nur ein direkter "Label"...nicht vorgesehen an dieser Stelle eine Variable anzugeben ..
Brave Möglichkeit: Wie Linux sagte, direkt im IF
Trickreicher
Code:DIM tabelle AS WORD if ,,, then tabelle = loadlabel(Tabelle1) else tabelle = loadlabel(Tabelle2) end if ' --------------- nachgemachter lookup varia = tabelle + position wert = CPEEK(varia)
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo,
mit der If Version ist mir das zuviel Schreibarbeit...(zuviele Abfragen)
@Robert das muss ich mir noch mal ansehen - ich hab´s noch nicht verstanden...Code:If Led_flag = 1 Then Reset Led_flag Incr Zeile If Zeile = 20 Then Zeile = 0 'wenn die 20 Zeilen durch sind geht's von vorne los Position = Zeile * 10 W1 = Lookup(position , 1) Incr Position W2 = Lookup(position , 1) Incr Position W3 = Lookup(position , 1) Incr Position W4 = Lookup(position , 1) Incr Position W5 = Lookup(position , 1) Incr Position W6 = Lookup(position , 1) Incr Position W7 = Lookup(position , 1) Incr Position W8 = Lookup(position , 1) Incr Position W9 = Lookup(position , 1) Incr Position W10 = Lookup(position , 1) End If
Code:' --------------- nachgemachter lookup varia = tabelle + position wert = CPEEK(varia)
...
Naja, "Loadlabel" liefert die Anfanges-(byte)Adresse von dieser oder jener Tabelle.
"+ position" ergibt dann die adresse der n-ten Bytes in der Tabelle
und mit CPEEK() kann man das Byte dort lesen
Im Grunde ist das genau das, was Lookup() macht (wenn es um Bytes geht)
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ach so...
dann werd ich das doch mal so programmieren!
Danke!
Tobias
...
Lesezeichen