web-dev-qa-db-ja.com

VB6で16進値を10進値に変換します

VB6で16進値を10進値に変換するにはどうすればよいですか?

私はこれが機能するかどうかを確認しようとしています:

Dim hexVal as string
hexVal = "#7B19AB"
clng("&H" & hexVal)

ただし、「Type MisMatch "」エラーが発生します。

9
webdad3

#記号を取り除く

Dim hexVal as string
hexVal = "7B19AB"
clng("&H" & hexVal)
16
JohnFx

HexVal文字列の番号記号(#)を削除します。

5
Coeffect

この方法で試してください:

Print Hex(Asc(Text1.Text))
3
Sedat Bilgin

これはそれを行う必要があります

Dim hexVal as String
hexVal = "#7B19AB"
Dim intVal as Integer
intVal = Val("&H" & Replace(hexVal, "#", ""))
3
André Laszlo

それを試してみてください:

value=CDbl("&H" & HexValue) 

または

value=CInt("&H" & HexValue) 'but range +- 32,768
3
LearningUser
Dim hexVal As String
Dim str As String
Dim uzunluk As Integer

On Error Resume Next

hexVal = "#7B19AB" 

str = Replace(hexVal, "#", "")
Text1.Text = str

uzunluk = Len(Text1.Text) 

For i = 0 To uzunluk 
    Text1.SelStart = i 
    Text1.SelLength = 1 
    Print Hex(Asc(Text1.SelText))
Next i
0
Sedat Bilgin

非常に慎重になります。

Dim hexVal as string
hexVal = "FFFF"
clng("&H" & hexVal)

hEX値が署名されていると見なされるため、値-1が返されます。 F00Aで何が起こるかを見てください、再びそれは署名されていると思います。

ClngをABSに交換してください。

0
Joe
Dim uzunluk as Integer

On Error Resume Next
uzunluk = Len(Text1.Text)
For i = 0 To uzunluk
     Text1.SelStart = i
     Text1.SelLength = 1
     Print Hex(Asc(Text1.SelText))
Next i
0
Sedat Bilgin