PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kombinierte Byte-Werte auslesen mit VB - Hilfe benötigt!



golf5gtifrea
11.09.2009, 17:27
Hallo Leute!

Ich habe ein Programm in Visual Basic 6 entworfen, das die aktuellen Daten aus einem Racing Simulationsgame (LFS oder Live for Speed), wie z.B. Drehzahl, Geschwindigkeit, Handbremse etc. ausliest.

Soweit klappt das auch super, jedoch übermittelt das Spiel bestimmte Daten aus nur einem Byte-Wert.

Das sieht dann wie folgt aus:

Nichts betätigt: 0
Gangwechselanzeige: 1
Handbremse: 4
Blinker links: 64
Blinker rechts: 128
Licht an: 32

... usw.

Wenn also das Signal zum Schalten kommt, erhalte ich den Wert 1. Soweit kein Problem.

Ist aber in diesem Moment die Handbremse auch angezogen, erhalte ich den kombinierten Wert aus Schaltanzeige und Handbremse. Also 5.

Ist die Warnblinkanlage (Blinker Links + rechts) eingeschaltet und die Handbremse angezogen erhalte ich den Wert 64+128+4 = 196.

Es gibt also unendlich viele Kombinationen von Werten. Gibt es da einen Trick um ohne tausend Programmierzeilen, immer den richtigen
Status der einzelnen Funktionen zu ermitteln?

Vielleicht kann mir ein Programmier-Guru hier weiterhelfen?!

Vielen Dank für eure Hilfe schon mal im Voraus!!!

MrNiemand
11.09.2009, 18:46
If (Wert and 1)>0 then gangwechsel=true
If (Wert and 4)>0 then Handbremse=true

molleonair
11.09.2009, 18:49
edit .......zu spät naja

um einzelne bittstellen zu erhalten musst du nur die anderen maskieren
ZB Eine UND Verknüpfung deines Byte-Wertes mit 00001000 ergibt nur
dann 00001000 wenn Bit Nummer 3 gesetzt ist also 2^3 =8

ALSO BINÄRE UND-VERKNÜPFUNG

golf5gtifrea
11.09.2009, 19:07
Es klappt wunderbar !!

Vielen Dank für die schnelle Hilfe!

...auf diesem Gebiet bin ich halter leider ned so bewandert....


Schöne Grüße


Andreas