Motivation

Bei einem älteren Projekt ging es darum, die Bits Registers eines Mikroprozessors einzeln anzuzeigen und zu setzen. Hierzu habe ich die Steuerelemente UrsBitInput und UrsBitInputArray entworfen.

UrsBitInput in Blau und Rot   UrsBitInputArray mit 16 Bit
UrsBitInput in Blau und Rot   UrsBitInputArray mit 16 Bit

Download

Verwendung

UrsBitInput

Das UrsBitInput-Steuerelement dient dazu, den Wert eines einzelnen Bits anzuzeigen oder zu ändern. Die meisten Member des UrsBitInput-Steuerelements findet man bereits in bei anderen Steuerelementen, insbesondere CheckBox- oder RadioButton-Control. UrsBitInput gibt es in den Farben Blau und Rot. Die zu verwendende Farbe wird über die Eigenschaft ActiveColor festgelegt.  Über die Eigenschaften Enabled und ReadOnly kann das Verhalten eingestellt werden. Der "Bit-Wert" des Steuerelements kann über die Eigenschaft Checked abgerufen oder festgelegt werden.  Das Umschalten der Checked-Eigenschaft geschieht durch Anklicken des Controls. Das Klicken wird nur dann akzeptiert, wenn Enabled = True und ReadOnly = False.

Das Steuerelement kennt dies acht Zustände:

Symbol Zustand
Checked Enabled ReadOnly MouseOver
0 0 - -
X 0 - -
0 X X -
X X X -
0 X 0 0
X X 0 0
0 X 0 X
X X 0 X

UrsBitInputArray

Im UrsBitInputArray-Steuerelement sind bis zu 64 einzelne UrsBitInput-Controls (s.o.) zu einem gemeinsamen Steuerelement zusammengefasst. Die Anzahl der Stellen wird durch die Eigenschaft Length festgelegt (Maximalwert ist 64). Um dem Array ein wenig Struktur zu geben, erlaubt es die Eigenschaft NibbleGap einen Leerraum nach jeweils vier Bits einzufügen. Über die Eigenschaft ByteGap kann dieser Leerraum nach jedem achten Bit vergrößert werden. Die folgenden Abbildung zeigt ein Control mit 16 Stellen.

UrsBitInputArray mit 16 Bit

Die einzelnen Komponenten werden als Stellen einer binären Zahl aufgefasst. Dieser Zahlenwert kann über die Eigenschaft Value64 abgerufen oder festgelegt werden. Die schreibgeschützten Eigenschaften Value32, Value16 und Value8 berücksichtigen nur die betreffende Anzahl der niederwertigsten Bits.

Test-Programm

Das Testprogramm zeigt einige Beispiele für zu dem UrsBitInput- und dem BitInputArray-Steuerelement.

Testprogramm BitInput