USB Output Signale über Image anzeigen
-
Hallo,
ich habe ein USB Interface, dass 5 Ausgang Ports hat. Nun möchte ich wenn die Ports angesprochen werden über 5 Images anzeigen welcher
Port gerade aktiv ist. So setzte ich die Signale.SetSignal(bool Port1, bool Port2, bool Port3, bool Port4, bool Port5) { int d = 0; int sig1 = 1; int sig2 = 2; int sig3 = 4; int sig4 = 8; int sig5 = 16; if (Port1) d = d | sig1; if (Port2) d = d | sig2; if (Port3) d = d | sig3; if (Port4) d = d | sig4; if (Port5) d = d | sig5; return d; }
Also wenn ich jetzt Port 1, 2 und 3 aktiviere gebt mir die Funktion 7 zurück dh. 1 + 2 + 4. Dann wird der Port 1, 2 und 3 aktiviert.
Wie kann ich denn jetzt das über ein Image anzeigen welche Ports gerade aktiv sind? Könnt ihr mir mal einen Denkanstoss geben?
-
Hallo
Was ist denn dein Problem? Willst du wissen wie du dein Bit-feld wieder auseinander nimmst? Dann schau dir diese Übersicht an (und ersetzt gleich dein "+" durch bitweisen ODER). Oder willst du wissen wie man mit TImage umgeht? Dann schau dir die TImage-Doku in der BCB-Hilfe an und such hier im Forum nach *TImage*.
bis bald
akari
-
Danke für deine Antwort, ja ich möchte Wissen wie ich den Bit wieder zerlege so dass ich weiss welche Bilder angezeigt werden müssen. Code habe ich abgeändert.
-
Ich habe es nun hinbekommen, danke akari für den Link
void TConsole::Check(char s) { if (s & 1) ShowMessage("1"); if (s & 2) ShowMessage("2"); if (s & 4) ShowMessage("4"); if (s & 8) ShowMessage("8"); if (s & 16) ShowMessage("16"); }