PDA

Vollständige Version anzeigen : Umrechnen von hex in dezimal


AKPSV
25.04.2011, 12:12
Hallo zusammen,

wollte mal Fragen ob es eine Möglichkeit gibt, Hexwerte in Dezimal umrechnen zu lassen. Habe mir in meinem Formular zwei Textfelder erstellt. In dem einen will ich die Hexzahl (8stellig) eingeben und in dem zweiten Feld soll die Umrechnúng automatisch in Dezimal angezeigt werden.

Hat da jemand eine Lösung für mich?

Danke im voraus

Gruss Andy

Frohe Ostern für alle

achtelpetit
25.04.2011, 12:22
Wer suchet, der findet: http://www.vbarchiv.net/tipps/details.php?id=276

AKPSV
25.04.2011, 12:51
Wie bekomme ich die Anzeige in mein Textfeld?

Gruss Andy

Lanz Rudolf
25.04.2011, 13:18
Hallo
ich habe Da vor langer Zeit eine Kleine (spiel-) Mdb gemacht
möglich das die Dich Inspirieren kann ;)

es ist aber kein super Werk ;)

gib z.b. bei eingabe 100 ein und wähle Dezimal --> Hexadezimal
Res.: 64

AKPSV
25.04.2011, 14:31
Ein hübsches kleines Programm. Leider zu kompliziert. Ich suche eine einfache Umsetzung für mein Problem. Alles was ich bissher im Netz gefunden habe passt nicht zu meinem Problem.

Gruss Andy

Marsu65
25.04.2011, 15:02
Hallo Andy,
es sollte eigentlich mit der Typumwandlungsfunktion zu machen sein:
Ungeprüft!
cDec("&H" & DeinHexWertAlsString)

Maxel
25.04.2011, 15:03
Hallo Andy,
Wie bekomme ich die Anzeige in mein Textfeld?
Indem du einfach als Steuerelementinhalt = CLng("&H" & strHex)
eingibst oder diese Formel in eine neue Spalte der Abfrage schreibst. Oder wo ist das Problem?

AKPSV
25.04.2011, 15:38
Habe eure vorschläge mal ausprobiert und leider immer den Fehlerwert #Name bekommen.

Versuche mal es genauer zu formulieren.

In Textfeld1 mit Namen "PluginPackIDhex" wird der Hexwert z.B.: ae9a7279 eingetragen. In Textfeld2 mit dem Namen "PluginPackIDdezimal" soll nun die Umrechnung automatisch erfolgen. Bei der Eingabe des Hexwertes soll dann der Dezimalwert "2929357433" angezeigt werden.

Hoffe das dies verständlicher ist.

Gruss Andy

Lanz Rudolf
25.04.2011, 17:22
Hallo
hast Du auch das Steuerelementinhalt = CLng("&H" & strHex)
Anstelle von strHex
schreibst Du PluginPackIDhex
sind Textfeld1 und Textfeld2 Gebundene Felder ? (kommen die Aus einer Tabelle (Was ist bei der datenherkunft angegeben ? (nichts ?)

Unreg5
25.04.2011, 17:43
Eine andere Möglichkeit wäre .....

=("&H" & Links(Rechts("00000000" & [PluginPackIDhex];8);4))*65536+("&H" & Rechts("0000" & [PluginPackIDhex];4))

im Steuerelementinhalt von PluginPackIDdezimal einzutragen.

mfg
Unreg5

AKPSV
25.04.2011, 18:24
Das hatte ich schon ausprobiert, ohne Ergebnis.
Die Felder sind Gebunden, da die Werte in der Tabelle gespeichert werden.

Ich lese den Wert aus einer Datei aus, um sie dann in die DB eintragen zu können.

Gruss Andy

Lanz Rudolf
25.04.2011, 18:36
Hallo
von wo weisst Du ads Hex ae9a7279 dez 2929357433 gibt ?

möglich das das ein überlauf gibt !
bei mir gibt Hex ae9a7279 DEZ -1365609863


ich glaube auch dass das "= CLng("&H" & strHex)" nicht geht!!!!

achtelpetit
25.04.2011, 18:52
Die Felder sind Gebunden, da die Werte in der Tabelle gespeichert werden.
Wenn die Hex-Zahl in der Tabelle steht, dann sollte die Dez-Zahl in einem ungebundenen Feld stehen. Schließlich haben errechnete bzw. konvertierte Werte in der Tabelle nix verloren.
Noch besser (wie Macxel sagte): nimm eine Abfrage als Datenquelle, dann kannst Du beide Werte im Formular binden.

AKPSV
25.04.2011, 19:21
@ Rudolf:

den Wert hat Excell ermittelt mit der Funktion HEXINDEC(). Er muss positiv sein da der Wert im Spiel ebenfalls als positiv ausgegeben wird. Wenn ich den Wert in meinen Taschenrechner eingebe, bekomme ich das gleiche Ergebnis wie du.

@ Unreg5:

Deine Formel funktioniert, Danke dafür.

@ achtelpetit:

Die Werte über eine Abfrage als Datenquelle zu nehmen, ist zwar gut, aber ich möchte die DB so klein wie möglich halten. Sie wird eh groß genug da eine Menge an Daten anfallen. Die Abfragen der Daten regel ich über das Suchenformular da ich da über mehrer Suchmöglichkeiten verfüge.

Danke an alle für die Hilfe

Gruss Andy

Rookie71
04.06.2019, 07:56
Ist sowas nicht einfacher?
msgbox hex(Asc("I"))

CatboyJones
04.06.2019, 09:59
Jepp, so was ist einfacher.
Allerdings, gefragt war hier:
Hex -> Dez, nicht Dez -> Hex.

vg
Jones