PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Label für Lookup per String übergeben?



Sungod
24.06.2014, 19:18
Hi...

Ist möglich das label für lookup als string zu übergeben? Irgendwie klappt es nicht..

Bsp.

Dim Buchstabe as string * 1
Dim Hexwert as String * 4
Dim Feld as Byte

Buchstabe = "S"
Feld = 1

Hexwert = lookup(Feld , Buchstabe)

End

S:
Data &H3C , &H00

T:
Data &H60 , &H18

Che Guevara
24.06.2014, 20:13
Hi,

wie wärs, wenn du den ASCII Wert des Buchstaben verwendest? Dann bleibts immernoch leserlich und ist nur ein minimaler Mehraufwand, wobei ich glaube, dass es mit Strings garnicht funktionieren würde.

Gruß
Chris

Sungod
24.06.2014, 20:39
hi...

du meinst so...?

For Position_buchstabe = 1 To Len(text)

Buchstabe = Mid(text , Position_buchstabe , 1) 'ein Zeichen ausschneiden von Postion des "aktueller_Buchstabe"
Asciix = Asc(buchstabe) 'Enthält den Ascii-Dec-Wert des Buchstaben
...
...

For I = 1 To 8 '8 Durchläufe weil 8 Hexwerte pro Buchstabe
Hex_array(i) = Lookup(asciix , Buchstabentabelle)
Asciix = Asciix + 1
Next I
...
...


Jedoch hab ich je 8 HexWerte Pro "Datazeile" dann müsste ich dem ASCII-Wert noch 8 multiplizieren

Buchstabentabelle:
Data &H3C , &H66 , &H0E , &H1C , &H70 , &H66 , &H3C , &H00 'S

Che Guevara
24.06.2014, 21:37
Wie kommst du auf 8 Hexwerte pro Buchstabe? Ein Buchstabe hat in Ascii eine Bitbreite von 8Bit, also 1Byte.
Im Prinzip musst du einfach nur den Ascii Wert des Buchstaben ermitteln (geht auch ohne die Ascii-Fkt., einfach den ByteWert des Strings um einen Wert X verringern, X stellt den Buchstaben a bzw. A dar), diesen Wert in die LookUp Fkt reinwerfen und fertig.
Übrigens wärs schöner, wenn du die
Code Tags verwendest, ist einfach übersichtlicher.

Gruß
Chris

Sungod
24.06.2014, 22:00
hi...
Weil die HEX-Werte zum MAX7219 gesendet werden. Dieser treibt ein 8x8 LED-Dot-Matrix Display an.
Der MAX7219 möchte 8 Bit pro Zeile als "000000" haben oder das als HEX.
Also sende ich z.B. "10101101, 10100101, 10010101, 0000000, 01010110, 10100011, 11010110, 01111011"
oder "&H3C , &H66 , &H0E , &H1C , &H70 , &H66 , &H3C , &H00"
(Sind nur Beispielwerte)