Zahlen zusammenfassen und testen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Joshi.

    Zahlen zusammenfassen und testen

    Moin!

    in AutoCAD gibt es soetwas wie einen Zahlenwert der aus verschiedenen Zahlen sich zusammensetzt. Hat man einen Wert dann kann man irgendwie testen, ob dieser Wert in dem Zahlenwert enthalten ist.

    Auf diese Weise kann man bestimmte Zahlen zusammenfassen und am Ende einen Long verwenden.

    Mir ist schon klar, dass die Beschreibung sehr dürftig ist - aber vielleicht erahnt jemand von Euch mein Ziel und kann mir weiterhelfen.

    Gruß Jan
    @jan99 Man kann die Einzelwerte je nach Größe Bitgruppen einer großen Zahl zuordnen.
    Gugst Du learn.microsoft.com/de-de/dotn…ons.bitarray?view=net-7.0
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    exc-jdbi schrieb:

    Hört sich irgendwie an wie enums.
    mit <Flags>.
    Im Prinzip richtig, nur mit dem Datentyp Long oder Integer oder so.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das Shiften auf die richtige Position, aber das lässt sich leicht mit einer separeten Prozedur machen.
    Das ganze in eine separate Klasse gepackt wird dann sogar elegant.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Moin

    erst einmal wieder vielen Dank. Das mit dem Beispiel #4 kann nicht nicht anwenden, weil die Nummern bei mir mit etwas anderem Zusammenhängen.

    Jetzt habe ich das zur Verfügung stehende Feld einmal griffbereit.

    VB.NET-Quellcode

    1. Public Enum VermCode As Long
    2. undefiniert = -1 ' von der Programmierung ergänzt
    3. Schachtdeckel = 1
    4. SchachtHauptpunkt = 2
    5. Rohrsohle = 3
    6. Schachtform = 4
    7. ÄußererAbsturz = 5
    8. EinAuslauf = 6
    9. TopPunkt = 7
    10. Straßenablauf_seitl = 8
    11. Leitungsschilder = 9
    12. Leitungspunkt = 10
    13. Schieberkappe = 11
    14. Spülvorrichtung = 12
    15. SonderPunktBodemann = 13
    16. RohrOK = 14
    17. Entlüftungshutze = 15
    18. Straßenablauf_mittig = 16
    19. Rinne = 17
    20. Schachtklappe = 18
    21. PunktohneBedeutung = 20
    22. Regenfallrohr = 21
    23. BWKPunkt = 22
    24. SchaltkastenAbwasser = 23
    25. HASohle = 25
    26. OKKL = 26 'OK Anschlusssohle
    27. OKBO = 27
    28. G_SO = 28 'Gully-Sohle
    29. RohrsohleVerschlossen = 24
    30. LP_OK = 31 'OK Rohr
    31. LP_GE = 32 'Gelände
    32. Festpunkt = 50
    33. Unbekannt = 99
    34. ' VermCode die aus mehreren zusammengesetzt werden - BIT schreibweise
    35. LP_STANDARD_OK_GE = xxxx
    36. End Enum
    37. Ich werde mir die ersten Rückmeldungen einmal ansehen.
    38. Gruß Jan
    @jan99 Befasse Dich mal mit der Option <Flags>:
    learn.microsoft.com/en-us/dotn…agsattribute?view=net-7.0
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Moinsen und liebe Grüße an alle BitshifterInnen.

    Kleiner Tipp von mir: In Windows den Rechner öffnen und auf das Linke-Menü (Hamburger-Menu), dann auf Programmierer umstellen.
    Tadaaahhh ... Ich kann Bitshift´n schon ganz gut, aber Flags aus Werten bekomme ich seltener zu fassen wie Werbefreie-E-Mail.

    Dann gebe ich den Wertebereich an, dünner Strich an der linken Seite, und schon kann ich die Nullen von den Einsen unterscheiden.

    Was damit visualisiert, werden kann, wo denn die Flaggen-Bits stehen (Position von LSB bis MSB).

    Damit versuche ich gerade die USB-Messages meines Grafiktabletts zu analysieren.

    Es dauerte ein wenig, aber ich konnte damit herausfinden, dass die Macro-Tasten nur drei Modifier für Tastenanschläge haben können.

    Die ersten drei Byte enthalten die Modifier. Diese sind als Flags zu interpretieren.
    Der Treiber speichert den Wert dann in der Konfiguration es als ein Integer-Wert ab.
    Was mir keinen Hinweis gab, und dann halt Rechner angeschmissen, und die Werte als DEC eingetippt und bei BIN fleißig abgezählt die Einsen ...

    Also war nichts mit Windows-Alt-Shift+Ctrl+Q, aber diese wollte ich so gerne ... wegen des Fingertrainings und so. :(

    tüdülüü Ich bin dann mal am SVG-Xaml schreiben. Manuell, wegen der Finger ... :love: ?( :/ 8o