الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم التحويل من ال Hex إلى Asc ؟

بدأه السندبااد في 7 فبراير 2009 · 6 رد · 1,002 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

إذا أردت أن أقوم بالتحويل من الـنظام العشري

Decimal

إلى نظام الهيكس أو الأسكي

فيكفي كتابة هذا الكود

  1. Private Sub Command1_Click()

  2. Text2.Text = Chr(Text1.Text)
  3. Text3.Text = Asc(Text1.Text)
  4. Text4.Text = Hex(Text1.Text)
  5. End Sub
  6.  

لكن أنا أريد العكس

أي أريد التحويل من الهيكس إلى النظام العشري

ومن الهيكس إلى الآسكي

مثلاً: أضع الرقم 41 في مربع النص1 وعند ضغط الزر يحوله لي في مربع النص2 إلى A

41=A

أتمنى أن تساعدوني في الكود

؟!؟!؟

تم تعديل هذه المشاركة بواسطة السندبااد في 7 فبراير 2009 في 06:36

فاعلم أنه لا إله إلا الله

#2

وعليكم السلام ورحمة الله وبركاته

 

[color= #800000;]Public [color= #800000;]Function HextoDec[color= #66cc66;](HexNum [color= #800000;]As [color= #800000;]String[color= #66cc66;]) [color= #800000;]As [color= #800000;]Long

[color= #800000;]Dim lngOut [color= #800000;]As [color= #800000;]Long

[color= #800000;]Dim i [color= #800000;]As [color= #800000;]Integer

[color= #800000;]Dim c [color= #800000;]As [color= #800000;]Integer

 

[color= #800000;]For i = [color= #cc66cc;]1 [color= #800000;]To [color= #800000;]Len[color= #66cc66;](HexNum[color= #66cc66;])

  c = [color= #800000;]Asc[color= #66cc66;]([color= #800000;]UCase[color= #66cc66;]([color= #800000;]Mid[color= #66cc66;](HexNum, i, [color= #cc66cc;]1[color= #66cc66;])[color= #66cc66;])[color= #66cc66;])

  Select [color= #800000;]Case c

  [color= #800000;]Case [color= #cc66cc;]65 [color= #800000;]To [color= #cc66cc;]70

    lngOut = lngOut + [color= #66cc66;]([color= #66cc66;](c - [color= #cc66cc;]55[color= #66cc66;]) * [color= #cc66cc;]16 ^ [color= #66cc66;]([color= #800000;]Len[color= #66cc66;](HexNum[color= #66cc66;]) - i[color= #66cc66;])[color= #66cc66;])

  [color= #800000;]Case [color= #cc66cc;]48 [color= #800000;]To [color= #cc66cc;]57

    lngOut = lngOut + [color= #66cc66;]([color= #66cc66;](c - [color= #cc66cc;]48[color= #66cc66;]) * [color= #cc66cc;]16 ^ [color= #66cc66;]([color= #800000;]Len[color= #66cc66;](HexNum[color= #66cc66;]) - i[color= #66cc66;])[color= #66cc66;])

  [color= #800000;]End Select

[color= #800000;]Next i

HextoDec = lngOut

[color= #800000;]End [color= #800000;]Function

 

[color= #800000;]Function HexToAsc[color= #66cc66;](ByVal hstr [color= #800000;]As [color= #800000;]String[color= #66cc66;]) [color= #800000;]As [color= #800000;]String

[color= #800000;]Dim x [color= #800000;]As [color= #800000;]Long

[color= #800000;]Dim nstr [color= #800000;]As [color= #800000;]String

[color= #800000;]Dim hexstr [color= #800000;]as variant

 

hexstr = [color= #800000;]split[color= #66cc66;](hstr,[color= #ff0000;]" "[color= #66cc66;])

[color= #800000;]For x = [color= #cc66cc;]0 [color= #800000;]To [color= #800000;]ubound[color= #66cc66;](hexstr[color= #66cc66;])

nstr = nstr & [color= #800000;]Chr[color= #66cc66;]([color= #800000;]Val[color= #66cc66;]([color= #ff0000;]"&H" & hexstr[color= #66cc66;](x[color= #66cc66;])[color= #66cc66;])

[color= #800000;]Next

 

HexToAsc = nstr

[color= #800000;]End [color= #800000;]Function

تم تعديل هذه المشاركة بواسطة Xacker في 7 فبراير 2009 في 07:13 — السبب: code collected from here and there

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

تفضل أخي في المثال المرفق، الدالة الأصلية أخذتها من هذا الرابط:

/index.php?showtopic=76337

فقط عدلت عليها قليلاً لكي تأخذ الأرقام وتحولها إلى Asc

وفقك الله

From_Hex.rar

-----------------------------

يبدو أني كررت الرد، لكن لم يكن موجوداً وأنا أكتب :)

تم تعديل هذه المشاركة بواسطة Abboodd في 7 فبراير 2009 في 07:32

هذه الجملة خاطئة  :wacko: 


#4

السلام عليكم ورحمة الله وبركاته

الأستاذ الكبير Xacker والأخ الحبيب Abboodd

أسأل الله أن يجعلكما مباركين أينما كنتم وأن يرزقكما العمر المديد والعمل الصالح الرشيد

الحمد لله جربت الأكواد وكلها تعمل

بقي لي طلب واحد فقط يتعلق بالتحويل من ليهكس إلى الآسكي

في الأمثلة التي ـرفقتموها لا يتم إلا تحويل رقم فقط واحد، مثلاً:

DB = غ

لكن إذا كتبت أكثر من قيمة هيكس فلن يتم تحويلها للآسكي؛ مثلاً:

DECFD3 = قدس

أو بالأجنبي؛ مثلاً:

6B756473 = kuds

البرنامج بالمرفقات نسختان: نسخة الأخ Xacker والأخ Abboodd

From_Hex.rar

فاعلم أنه لا إله إلا الله

#5

للرفع والإنعاش

فاعلم أنه لا إله إلا الله

#6
  1. Public Function fromHex(sHex As String) As String
  2. Dim i As Integer, j As Integer, result As String
  3. j = Len(sHex) / 2
  4. For i = 1 To j
  5. result = result & Chr(CDec("&H" & Mid$(sHex, i * 2 - 1, 2)))
  6. Next i
  7. fromHex = result
  8. End Function
  9.  

سبحان الله وبحمده ... سبحان الله العظيم

#7

أسأل الله أن يرفع قدرك في الدنيا والآخرة أخ أبو حميد

وأن ينير دربك وأن يريح بالك

فاعلم أنه لا إله إلا الله

مواضيع مشابهة