|
You last visited: Today at 12:28
Advertisement
[VB.NET] Hex in int umwandeln
Discussion on [VB.NET] Hex in int umwandeln within the .NET Languages forum part of the Coders Den category.
09/26/2013, 16:38
|
#1
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
[VB.NET] Hex in int umwandeln
Hallo ich möchte einen 16 bit hex wert in einen Integer mit vb.net umwandeln
dazu lese ich erstmal etwas in ein array und wandel des dann mitm bitconverter um
aber was sonst funktionier funkt nicht und ich weiß nicht wiso
Code:
Dim wIDB() As Byte
Dim Bytes() As Byte
wIDB = {"&H" & Bytes(2), "&H" & Bytes(3)}
Bytes(2) = CB als hex
und
Bytes(3) = 66 als hex
der Fehler ist :
Die arithmetische Operation hat einen Überlauf verursacht.
kann mir jemand helfen?
der code ist korrekt so hab ich das schon öfters gemacht und auch Bytes(2) und Bytes(3) ist korrekt was habe ich dann falsch gemacht?
und das ergebnis sprengt auch nicht den Ramen eines integer16
|
|
|
09/26/2013, 16:41
|
#2
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
dim result as integer = convert.int32("[hex]",16)
&H wird nicht benötigt
|
|
|
09/26/2013, 16:45
|
#3
|
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
|
Oder:
Code:
Sub Main()
Dim bytes() As Byte = New Byte() {&HCB, &H66}
Dim i As Int16 = BitConverter.ToInt16(bytes, 0)
Console.WriteLine("Integer: {0}", i)
Console.ReadLine()
End Sub
|
|
|
09/26/2013, 16:50
|
#4
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
Ah ich hab jetz kapiert warum das den Überlauf verursacht hat ich hab ned bedacht das ich zuert den Bytes(3) einlesen muss wegen Little und Big Endian und so
es geht trozdem ned.
jetz kommt(auch mit deinem code tolio)
Code:
wIDI(NPCCount) = Convert.ToInt32(Bytes(3) & Bytes(2), 16)
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
den fehler kenne ich davon wenn etwas NULL zurück gibt was es aber in diesem fall sicher nicht tut
Quote:
Originally Posted by qkuh
Oder:
Code:
Sub Main()
Dim bytes() As Byte = New Byte() {&HCB, &H66}
Dim i As Int16 = BitConverter.ToInt16(bytes, 0)
Console.WriteLine("Integer: {0}", i)
Console.ReadLine()
End Sub
|
so geht das ja auch aber der wert muss ja variabel sein nur in dem beispiel hab ich das verwendet
|
|
|
09/26/2013, 17:34
|
#5
|
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
|
Quote:
|
wIDI(NPCCount) = Convert.ToInt32(Bytes(3) & Bytes(2), 16)
|
Bin gerad etwas im Stress wenns also schon gesagt wurde oder ich hier gerade was verwechsel sorry, aber sollte nen Int32 nich 4 Bytes haben ?
|
|
|
09/26/2013, 22:00
|
#6
|
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
|
@stotterer09: Ersetz &HCB und &H66 einfach durch Bytes(2) und Bytes(3) bzw durch Bytes(3) und Bytes(2), je nachdem ob little- oder big-endian.
@dready: Ja. Int32 -> 32bits -> 4bytes
|
|
|
09/26/2013, 22:48
|
#7
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
Quote:
Originally Posted by qkuh
@stotterer09: Ersetz &HCB und &H66 einfach durch Bytes(2) und Bytes(3) bzw durch Bytes(3) und Bytes(2), je nachdem ob little- oder big-endian.
@dready: Ja. Int32 -> 32bits -> 4bytes
|
Ich bin ja ned blöd ... es liegt auch ned drann das mein code falsch ist sondern das ich irgendwas überseh und es deswegen ned geht ausserdem wäre es.mit den variablen das selbe wie ich im ersten beitrag geschrieben hab
Ausserdem scheitert es doch schon am übetragen in das 2. Arrray vll. War die ünerschtift verfehlt
@dready Ja da liegst du richtig deswegen hab ich ja aus den 32 wieder 16 gemacht
|
|
|
09/27/2013, 09:55
|
#8
|
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
|
Quote:
Originally Posted by stotterer09
so geht das ja auch aber der wert muss ja variabel sein nur in dem beispiel hab ich das verwendet
|
Dann zeig doch mal deinen ganzen Code her, sonst kann dir hier keiner helfen, wenn du nicht genauer spezifizierst, was du für eine Ausgangssituation hast. Wie liest du was ein etc.
|
|
|
09/27/2013, 17:39
|
#9
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
Quote:
Originally Posted by Mi4uric3
Dann zeig doch mal deinen ganzen Code her, sonst kann dir hier keiner helfen, wenn du nicht genauer spezifizierst, was du für eine Ausgangssituation hast. Wie liest du was ein etc.
|
der ganze code ist paar 100 Zeilen lang hier nochmal alles was wichtig ist:
Code:
Private Sub LadenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LadenToolStripMenuItem.Click
OpenFileDialog1.ShowDialog()
Bytes = My.Computer.FileSystem.ReadAllBytes(OpenFileDialog1.FileName)
Laden()
End Sub
Private Sub Laden()
AnzahlNPC = New Byte() {"&H" & Bytes(0), "&H" & Bytes(1)} 'das hier funkt noch obwohl es der gleiche code is
MsgBox(BitConverter.ToInt16(AnzahlNPC, 0))
Dim b As Integer = 7
Dim b2 As Integer
Dim NPCCount As Integer = 0
'()
Dim bytesFLoat As Byte()
Dim z As Integer = 0
z = 0
wIDB = {"&H" & Bytes(3), "&H" & Bytes(2)}
wIDI(NPCCount) = BitConverter.ToInt16(wIDB, 0)
'Da kommt noch mehr was aber nichts zur sache tut
End Sub
Und das sind die ersten 9 bytes die eingelesen werden:
Code:
1A 01 CB 66 00 00 D5 03 0D
|
|
|
09/27/2013, 18:38
|
#10
|
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
|
Schau dir mal  Dokumentation an.
|
|
|
09/27/2013, 18:55
|
#11
|
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
|
Quote:
Originally Posted by stotterer09
der ganze code ist paar 100 Zeilen lang hier nochmal alles was wichtig ist:
Code:
Private Sub LadenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LadenToolStripMenuItem.Click
OpenFileDialog1.ShowDialog()
Bytes = My.Computer.FileSystem.ReadAllBytes(OpenFileDialog1.FileName)
Laden()
End Sub
Private Sub Laden()
AnzahlNPC = New Byte() {"&H" & Bytes(0), "&H" & Bytes(1)} 'das hier funkt noch obwohl es der gleiche code is
MsgBox(BitConverter.ToInt16(AnzahlNPC, 0))
Dim b As Integer = 7
Dim b2 As Integer
Dim NPCCount As Integer = 0
'()
Dim bytesFLoat As Byte()
Dim z As Integer = 0
z = 0
wIDB = {"&H" & Bytes(3), "&H" & Bytes(2)}
wIDI(NPCCount) = BitConverter.ToInt16(wIDB, 0)
'Da kommt noch mehr was aber nichts zur sache tut
End Sub
Und das sind die ersten 9 bytes die eingelesen werden:
Code:
1A 01 CB 66 00 00 D5 03 0D
|
Dein Code ist völliger Schwachsinn, wenn du das erreichen willst, was ich verstanden habe.
Verstanden habe ich folgendes: Du möchtest eine Datei einlesen und die 1. beiden Bytes (WORD) sind die Anzahl der NPCs und die willst du einlesen und im Hex-Format ausgeben.
Ist das korrekt? Oder willst du einen String eingeben der einen Hexadezimalwert enthält und den in einen Integer umwandeln?
Drück dich bitte mal gewählter aus..
|
|
|
09/28/2013, 09:49
|
#12
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
Also ich möchte eine datei einlesen und dann den 3und 4. Byte in ein 16bitinteger umwandeln
Bei den code wird 2 mal was in ein array übergegeben beim ersten mal gehts prima beim 2. Mal (in das array widb) gdhts ned
|
|
|
09/28/2013, 11:57
|
#13
|
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
|
Hab dich mal bei Skype geadded, um dir zu helfen
|
|
|
09/28/2013, 12:24
|
#14
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
danke qkuh jetz gehts kann geschlossen werden
|
|
|
09/30/2013, 18:56
|
#15
|
elite*gold: 900
Join Date: Apr 2009
Posts: 14,981
Received Thanks: 11,403
|
closed on request
|
|
|
Similar Threads
|
vpj in av i umwandeln
04/10/2012 - Technical Support - 4 Replies
Hab ein Video
in avi format, vornedran will ich son intro dranhngen...
aber das Intro ist in vpj..
Wie krieg ich das in AVI...?
|
.ico in .jpg umwandeln
12/07/2009 - AutoIt - 5 Replies
Kann man mit Autoit *.ico "Bilder" in *.jpg Bilder umwandeln?
Ich brauche das nämlich für ein Programm.
Es soll Programme schnell starten. Dazu soll es den Icon eines Programms anzeigen.
So sieht der Code aus:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
|
[HOW TO] exe umwandeln?
10/04/2009 - Metin2 Private Server - 0 Replies
wie wandelt man eine exe um?
|
All times are GMT +1. The time now is 12:30.
|
|