Hallo,
ich habe Probleme beim Rechnen mit Hexadezimal Zahlen und Dezimal Zahlen.
Wie ich es auch wende und drehe , es funktioniert nicht.
Problem:
Ich lese aus einem Gerät einen Hex Wert aus. zb. 3E8=1000
Rechne den Wert in Dezimal um und addiere über eine Inputbox einen Wert dazu z.B 200 dazu
Das Ergebnis ist richtiger Weise 1200 ( Was ein Wunder)
Jetzt möchte ich die 1200 wieder in Hex umrechnen und bekomme immer nur "0000"
Kann mir jemand Helfen ?
$rec = TCPRecv($Socket, 2048)
TCPSend($Socket, Chr(0x02) & "s{ 00 01 " & $HexDI & "}" & $aParameter[$y] & Chr(0x03)) ;
$rec = TCPRecv($Socket, 2048)
If $y = 3 Then ;X-POs
;~ $b1=$rec
;~ ConsoleWrite("Länge" & StringLen($rec))
$b1 = StringMid($rec, 26, StringLen($rec) - 26)
ConsoleWrite("1 Wert ausgelesen (Hex) -> " & $b1 & @CRLF); zB. 1000=3E8
ConsoleWrite("2 Wert umrechnen in(DEC) -> " & Dec($b1) & @CRLF);
ConsoleWrite("3 Wert aus Eingabebox -> " & $InputDifferenz & @CRLF)
Local $Ergebnis = Dec($b1) + $InputDifferenz ; Addition der beiden Werte
ConsoleWrite("4 Ergebnis=" & $Ergebnis & "->Hex=" & Hex($Ergebnis) & @CR)
EndIf
TCPCloseSocket($Socket)
TCPShutdown()
------------- Ausgabe-----------
1 Wert ausgelesen (Hex) -> 3E8
2 Wert umrechnen in(DEC) -> 1000
3 Wert aus Eingabebox -> 200
4 Ergebnis=1200->Hex=0000