Ich komm bei meiner Anforderung wohl um keine Formel herum. Hatte gehofft das geht einfacher.
Windoof>Programme>Zubehör>Rechner>Ansicht>Wissensc haftlich.
Dort werden Dir geholfen Dez zu Hex
Gento
Ich komm bei meiner Anforderung wohl um keine Formel herum. Hatte gehofft das geht einfacher.
Hab mir das jetzt nochmal genau angesehen. "1234" darf nicht direkt hexadezimal konvertiert werden sondern das ganze muss so passieren:
Die Übersetzung von an Sendern eingegebenen Adresscodes und Hauscodes erfolgt durch Herabsetzen der
Tastennummer um 1 und Hintereinandersetzen der Halbnibbles vom ersten als höchstwertigen bis zum
letzten als niedrigstwertigen.
Der Hauscode wurde in einem Schalter als 1234 4433 eingegeben. Dies entspricht 0123 3322 zur Basis 4,
das ist 1BFA zur Basis 16. HC1 ist damit 0x1B, HC2 ist 0xFA
Ich muss jetzt also eine Formel schreiben die mir aus "1234" dann 1B macht.
@accenter
Schau dir mal deine ersten Angaben an und was du jetzt für Infos lieferst. Du hast uns anfangs vollkommen fehlgeleitet. Alles was geschrieben und vorgeschlagen wurde, war sinnlos. Versuche das nächste mal, so viel relevante Infos zu geben wie möglich.
Zu deinem Problem:
Wie bekommst du den Hauscode? Ist der in Dip-Schaltern oder wie wird das 1234 4433 festgelegt? Und wie liest du den ein?
ja war mein fehler, sorry. ich dachte ich muss es einfach hex konvertieren. den hauscode gebe ich einfach im programm ein. ich hätte den einfach gern umgerechnet um nicht alle meine benötigten codes immer manuell ausrechnen zu müssen. dieses vorhaben übersteigt nur etwas meine programmierkenntnisse. eine reine hex umrechnung hätte ich hinbekommen![]()
Also schreibst du im Programm den String "1234" hin und möchtest den in &H1B umrechnen lassen, richtig?
Wenn der String immer 4 Stellen hat und nur Ziffern von 1 bis 4 enthält, dann kannst du es so machen:
Code:Dim Schalter As String * 4 Dim Schalter_ovly(4) As Byte At Schalter Overlay 'Overlay Array enthält die ASCII Werte der Ziffern Dim I As Byte Dim Ziffer As Byte Dim Ausgabe As Byte Schalter = "1234" Ausgabe = 0 For I = 1 To 4 Ziffer = Schalter_ovly(i) - 49 'vom Ascii Wert 49 abziehen, damit wird aus einer 1 eine 0, aus der 2 eine 1 usw. Ausgabe = Ausgabe + Ziffer If I < 4 Then Shift Ausgabe, Left, 2 'um 2 bit weiterschieben Next I
Super, genau sowas brauch ich! Werde den code dann gleich testen wenn ich wieder daheim bin. Danke für die hilfe!
Hab den Code jetzt in mein programm eingebaut und es läuft wie es soll. Danke!
Lesezeichen