Hej Hmm, jag förstår inte riktigt vad du menar. 11 hexadecimalt är väl också numeriskt? Men du kanske menar att du vill ändra till det decimala värdet 11. Isåfall kan du väl ändra det till hexadecimala värdet 0B. Hej Lägg til prefixet &H så kan vb tolka ditt hexadecimal tal. När jag hämtar värdet i filen så motsvaras det av "" och det verkar inte som att det går att konvertera det till något annat. Kanske gör jag på fel sätt när jag läser in värdet? När jag tittar på filen jag läser ifrån så är det hexadecimala värdet "11" Hej Men jag skulle ändå vilja se att det är 11, precis som jag kan göra med min hexeditor. Är det möjligt? Ok så här ungefär , du kan stega genom hela filen enl denna metod.Hex till nummer
Har ett litet problem, jag vill omvandla ett stränguttryck som jag hämtar från en fil, när jag öppnar filen med en hexeditor så är det hexadecimala värdet "11" hur ska jag kunna omvandla det till det numeriska värdet 11?Sv: Hex till nummer
Har ingen erfarenhet av hexeditorer.
/JörgenSv: Hex till nummer
Option Explicit
Private Sub Command1_Click()
Dim hexStr As String
hexStr = "11"
MsgBox Hex$(11) '11 är här det decimala svar 0B
'Det är detta du frågade om svaret blir 17
'du omvandlar hex byte enl nedan med Val functionen
MsgBox Val("&H" & hexStr)
'Dvs om du läser 11 i en hexeditor betyder det 17
End Sub
/SvenSv: Hex till nummer
<code>
Dim strHex As String
Dim lngNumber as Long
strHex = "11"
lngNumber = CLng("&H" & strHex)
</code>
Eller ett mer tydligt exempel:
<code>
Dim strHex As String
Dim lngNumber as Long
strHex = "FF"
lngNumber = CLng("&H" & strHex)
</code>Sv: Hex till nummer
Sv: Hex till nummer
Det är ju riktigt , dom första tecknen som betyder något vettigt
för oss är ju 20 Hex eller 32 decimal. Om det står 11 i din Hexeditor
så betyder det 17 som i sin tur kan betyda lite av varje DOS trix
Framför allt användes dessa tecken till att skicka kommando till printern.
Du kollar förmodligen i NotePad eller TextBox, då finns det inget
vettigt tecken för 17. Två exempel 13 decimal betyder Enter (radskifte)
27 decimal betyder Esc osv. 32 decimal är det första vettiga (Space)
41 Hex = 65 decimal = betyder "A" osv.
>och det verkar inte som att det går att konvertera det till något annat.
Joooooo det går att konvertera till 17 decimalt.
/SvenSv: Hex till nummer
Sv: Hex till nummer
Option Explicit
Private Sub Command1_Click()
Dim byteStr As Byte, FileNum As Long
FileNum = FreeFile
Open "C:\Netlog.txt" For Binary As #FileNum
Get #FileNum, 16, byteStr
MsgBox "Byte nr: 16 = " & Hex$(byteStr) & " Hex"
Close #FileNum
End Sub
'Om du nu kollar på vilken plats det står 11 i din
'HexEditor , och skriver denna plats där jag skrivit 16
'så kommer det att stå 11 i MsgBoxen
'Obs första byten har nr:1 en byte är två tecken som 11 , två ettor.
'du måste alltså räkna 2 och 2 åt gången
/Sven