ورود

View Full Version : تبدیل حروف به هکس hex



Mr FTHEL
پنج شنبه 12 خرداد 1390, 17:20 عصر
دوستان چطوری میشه برنامه ای نوشت که مثلا بهش بدی ab بعد هکسشو بده یعنی بده 6162 ممنون مشم کمک کنید

vbhamed
پنج شنبه 12 خرداد 1390, 17:38 عصر
سلام

Dim s$, i&, h$
s = "ab"
For i = 1 To Len(s)
h = h & Hex$(Asc(Mid$(s, i, 1)))
Next
MsgBox h

pcdownload.bloghaa.com
پنج شنبه 12 خرداد 1390, 18:46 عصر
سلام

Private Function CharToHex(s As String) As String
Dim i As Long
For i = 0 To Len(s)
CharToHex = CharToHex + Hex(Asc(Mid(s, i, 1)))
Next i
End Function


نحوه استفاده :


Text1 = CharToHex("ab")

Mr FTHEL
پنج شنبه 12 خرداد 1390, 19:22 عصر
ممنون دوستان اگر میشه توی فایل زیپ برنامه رو بزارید ممنون میشم آخه هر کاری میکنم ارور میده
خیلی ممنون
vbhamed (http://barnamenevis.org/member.php?10624-vbhamed) عزیز کد شما اجرا شد ممنون
میخوام با کد اون دوستم هم اجرا کنم
ممنون

محسن واژدی
پنج شنبه 12 خرداد 1390, 19:38 عصر
سلام علیکم
کد جناب pcdownload.bloghaa.com را بصورت زیر ویرایش کردم،


Private Function CharToHex(s As String) As String
Dim i As Long
For i = 1 To Len(s)
CharToHex = CharToHex & Hex(Asc(Mid(s, i, 1)))
Next i
End Function


موفق باشید

Mr FTHEL
پنج شنبه 12 خرداد 1390, 20:12 عصر
عزیز برعکش چطوری میشه؟
مثلا 6162 رو بدم ab رو بده؟
ممنون

محسن واژدی
پنج شنبه 12 خرداد 1390, 21:31 عصر
برای برگرداندن hex به string میتوانید از برنامه زیر استفاده کنید:

private Function StringFromHex(byval EvalString as string) as string
Dim strText as string
Dim intLoop as Integer
Dim intCnt as Integer
Dim vArray() as string
EvalString = Trim(EvalString)
If len(EvalString) = 0 then Exit Function
vArray = Split(EvalString, " ")
intCnt = UBound(vArray)
for intLoop = 0 to intCnt
strText = strText & Chr(vArray(intLoop))
next
StringFromHex = strText
End Function


برنامه زیر خیلی مختصرتر از بالایست اما در کل هردو یک کار انجام میدهند:

Public Function hex2ascii(ByVal hextext As String) As String

For y = 1 To Len(hextext)
num = Mid(hextext, y, 2)
Value = Value & Chr(Val("&h" & num))
y = y + 1
Next y

hex2ascii = Value
End Function

موفق باشید