كيفية تحويل أرقام سداسي عشري إلى عدد صحيح طويل

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية161304
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
يحتوي Microsoft Visual Basic دالة Hex$() لتحويل رقم إلى سلسلة من الأرقام سداسي عشري. ومع ذلك، يكون له لم دالة واضحة إجراء التحويل العكسي. تفاصيل هذه المقالة كيفية استخدام الدالة Val() لتنفيذ سداسي عشري التحويل "عدد صحيح طويل" بالإضافة إلى اعتراض لتجنب.
معلومات أخرى
يمكن استخدام الدالة Val() تحويل سلسلة من الأرقام العشرية إلى رقم. يمكن أن تستخدم على سلسلة من الأرقام الست عشرية ولكن يجب عليك إلحاق الأحرف "& H" إلى سلسلة الأرقام بحيث تستخدم الدالة Val() العدد الصحيح الأساسي في عملية التحويل.

على سبيل المثال:
  A = Val("1234")    ' performs decimal conversion  A = Val("7FFF")    ' results in 7 - the F's are ignored  A = Val("&H7FFF")  ' performs hexadecimal conversion				

عدد صحيح اعتراض

إذا قمت بتعيين نتائج التحويل إلى متغير عدد صحيح طويل الذي سيقوم ربما تريد الأرقام في النطاق 80000000 إلى FFFFFFFF تتم معاملته على أنه الأرقام السالبة فقط. ومع ذلك، دون اتخاذ احتياطات خاصة ، الأرقام في النطاق من 8000 إلى FFFF سيتم أيضاً معاملته كما سالبة.

يحدث هذا بسبب يتم تحويل الأرقام مع أرقام أقل أو أربعة توقيع أعداد صحيحة 2 بايت. عند تحويل قيمة الوسيطة عدد صحيح مع إشارة إلى عدد صحيح طويل (أو 4 بايت) ، يتم نشر تسجيل.

Visual Basic 4.0/Access 95 و آخر

بإلحاق لاحقة طويل "&" إلى سلسلة سداسية عشرية أرقام صغير حتى معاملة بعيدة. الدالة التالية بتنفيذ التحويل بشكل صحيح:
      Function HexToLong(ByVal sHex As String) As Long        HexToLong = Val("&H" & sHex & "&")      End Function				

Visual Basic 3.0/Access 2.0 و قبل

لن تعمل الأسلوب هو موضح أعلاه في Microsoft Visual Basic 3.0 أو إصدار سابق لـ أرقام ست عشرية أكبر أو يساوي 80000000. الرجاء مراجعة قسم "المراجع" في هذه المقالة للحصول على مزيد من المعلومات.

لأنه لا تحدث هذه المشكلة مع الأرقام التي تقع في نطاق "اعتراض عدد صحيح" ، يضيف الدالة البديل إعطاء أدناه تعويض اللون "خطأ" للمحاولة مرة أخرى بدون لاحقة الملحقة "&" طويل:
      Function HexToLong(ByVal sHex As String) As Long        On Error Resume Next        HexToLong = Val("&H" & sHex & "&")        If Err Then          On Error Goto 0          HexToLong = Val("&H" & sHex)        End If      End Function				
يتم استخدام أي إصدار من الدالة كما يلي:
      A = HexToLong("8000")				
مراجع
موضوع تعليمات Microsoft Visual Basic: دالة فال

الموضوع Microsoft Visual Basic 4.0 التمهيدي: "قسرية قيم سداسي عشري"

لمزيد من المعلومات، الرجاء مراجعة المقالة التالية في "قاعدة المعارف لـ Microsoft:
95431خطأ عدم تطابق النوع FIX: إذا استخدم دالة VAL على قيمة كبيرة
kbVBp500 kbVBp600 kbVBp kbdse kbDSupport kbVBp300 kbVBp400 kbVBp200

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 161304 - آخر مراجعة: 12/04/2015 15:58:36 - المراجعة: 3.2

Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Visual Basic Control Creation Edition, Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic 4.0 Standard Edition, Microsoft Visual Basic 4.0 Professional Edition, Microsoft Visual Basic 4.0 Enterprise Edition, Microsoft Visual Basic 2.0 Standard Edition, Microsoft Visual Basic 3.0 Professional Edition, Microsoft Visual Basic 2.0 Professional Edition, Microsoft Visual Basic 3.0 Professional Edition

  • kbnosurvey kbarchive kbmt kbhowto KB161304 KbMtar
تعليقات