PRB: التحويل MBF إلى IEEE في Visual Basic لـ Windows

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

اضغط هنا لرابط المقالة باللغة الانجليزية140520
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الأعراض
ملفات البيانات التي تم إنشاؤها مع منتجات Microsoft Basic الأقدم (أساسي السريع ، Basic GW و Basica (IBM و Compaq مرخص Basic)) قد لا يمكن قراءته بواسطة Visual Basic لـ Windows.
السبب
قبل IEEE عائم أشر يتم القياسية بشكل واسع قبول ، Microsoft استخدام عائمة نقطة تنسيق داخلي المعروفة كـ Microsoft ثنائي تنسيق (MBF). تم تقديم لاحقاً القياسية IEEE و أصبح الصناعة القياسية.

اعتماد المبكر إصدارات Microsoft QuickBASIC Basic GW تنسيق MBF فقط. في Microsoft أساسي Professional تطوير النظام (PDS) و Visual Basic لـ MS-DOS ، تتوفر دالات للتحويل بين MBF و IEEE تنسيقات. أثناء نقل Microsoft باتجاه قبول كاملة من مقياس IEEE, على الرغم من ذلك، اعتماد تمت إزالة تنسيق MBF.

يستخدم Visual Basic for Windows مقياس IEEE. تنسيق MBF ومع ذلك، غير متوافق مع مقياس IEEE و البيانات المحفوظة في هذه الطريقة لن يكون قابل للقراءة.
الحل
PDS و Visual Basic لمنتجات MS-DOS تضمين دالات تحويل تنسيق MBF بين تنسيق IEEE. لا تتوفر هذه الوظائف في Visual Basic لـ Windows. فيما يلي اثنين الحلول المحتملة إلى هذا dilemma:
  1. يمكن كتابة برنامج في PDS أو Visual Basic لـ MS-DOS re-creates ملف يحتوي على بيانات MBF. بعد قراءة معلومات الملف PDS أو Visual Basic لـ MS-DOS, يمكنك استخدام الدالات $ MKxMBF (راجع في دلائل PDS أو Visual Basic MS-DOS أو التعليمات الخاصة بها القوائم) لتحويل البيانات إلى تنسيق IEEE. تعتبر هذه الطريقة المفضلة لسببين:
    • كان تحويل البيانات إلى IEEE بحيث يمكن الوصول إلى البرامج الأخرى الملفات.
    • في حالة استخدام الطريقة الثانية سيحتاج البرنامج DLL إضافية يجب توزيع مع التطبيق الخاص بك.
  2. سابقاً، كانت هناك أية طريقة لتحويل البيانات من Visual Basic لـ Windows. ولكن يوجد الآن DLL متوفرة للقيام بذلك. يحتوي هذا DLL (MBF2IEEE.DLL) على دالات محاكاة دالات MKS و السابقة CVS و CVD التي كانت موجودة في بعض منتجات أساسي يستند إلى MS-DOS. هذه الدالات (MKS السابقة, CVS و CVD) غير موجودة في Visual Basic لـ Windows، وبالتالي الحاجة DLL هذه. القسم "معلومات إضافية" أدناه يوفر تفاصيل حول DLL وتشرح كيفية تحميلها من "مركز التنزيل لـ Microsoft".
تصريح
يعتبر هذا السلوك حسب التصميم.
معلومات أخرى

تفاصيل حول أسلوب انتشار: استخدام Mbf2ieee.dll

ملاحظة: هذه الدالات كافة القيام تحويلات تنسيق ثنائي Microsoft "(MBF) بين IEEE عائم قيم نقاط. تحتوي بعض منتجات الأساسية الأحدث يستند إلى MS-DOS إصدارات هذه الدالات التي تعمل بشكل مختلف. على سبيل المثال، أنها تسمح لك انظر إلى رقم IEEE كسلسلة دون تحويلها إلى MBF. يتم توفير إجراءات وصفها هنا فقط كطريقة لاسترداد البيانات MBF القديمة.

توفر هذه الدالات تحويلات بين IEEE عائم قيم نقاط و تنسيق ثنائي Microsoft "(MBF) عائم أشر القيم. أدناه مجموعة من الإعلان عن عبارات التي يجب تضمينها في برنامج أساسية Visual الذي يستدعي هذه الوظائف:
   Public Declare Function Cvs Lib "MBF2IEEE.DLL" (X As String) As Single   Public Declare Function Cvd Lib "MBF2IEEE.DLL" (X As String) As Double   Public Declare Function Mks Lib "MBF2IEEE.DLL" (X As Single) As String   Public Declare Function Mkd Lib "MBF2IEEE.DLL" (X As Double) As String				

أسفل عبارة عن وصف لكل من هذه الوظائف مع مثال.

CVS و دالات CVD

قبول هذه الدالات 4 بايت (CVS) أو 8 بايت (CVD) سلسلة كوسيطة. يتوقعونها النقش بت هذه السلسلة لتمثيل دقة مفرد أو مزدوج قيمة MBF على التوالي. نتيجة إرجاع IEEE دالة.
   Dim MBF As String, IEEE As Single   ' load the string from a file, etc.   IEEE = CVS(MBF)				

MKS و دالات السابقة

هذه الدالات قبول مرة واحدة IEEE (MKS) أو مزدوج (السابقة) قيمة الدقة كوسيطة. كان تحويل هذه القيمة إلى قيمة MBF 4 بايت أو 8 بايت و إرجاع في سلسلة.
   Dim MBF AS String, IEEE As Single   MBF = MKS(IEEE)   ' Now write the MBF value out to disk				

مشاكل محتملة

توجد الاختلافات بين تنسيق IEEE MBF. ولهذا السبب الدقة قد يتم فقدان أثناء الترجمة. من الممكن أيضاً رقم لا يمكن تحويل بين تنسيقات اثنين. إذا كانت هذه هي الحالة يتم إنشاء Visual Basic تجاوز (خطأ # 6). هذا خطأ يمكن تتبعه, لذا معالجة الخطأ وفقاً لذلك.

كيفية الحصول على Mbf2ieee.dll

يتوفر الملف التالي للتنزيل من "مركز التنزيل لـ Microsoft":
للحصول على معلومات إضافية حول كيفية تنزيل ملفات دعم Microsoft "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
119591كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر الإنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدام Microsoft أحدث من برنامج كشف الفيروس المتوفر على التاريخ الذي تم نشر الملف. يتم تخزين الملف على ملقمات محسنة الأمان التي تساعد على منع إجراء أية تغييرات غير مصرح بها على الملف. بعد تحميل Mbf2ieee.exe تشغيلها للحصول على Mbf2ieee.dll مع الملفات المصدر و ملف Mbf2ieee.txt وهو الملف تمهيدي الذي يحتوي على النص من هذه المقالة.

رمز مصدر مضمنة في Mbf2ieee.exe

بالإضافة إلى .dll نفسه التعليمات البرمجية المصدر يتم أيضاً توفير ، بحيث يمكنك إجراء تعديلات ثم إعادة ترجمة إذا كان لديك Microsoft C. إلى إعادة ترجمة إنشاء ملف .DLL جديد, يجب عليك استخدام C Microsoft لأن الإجراءات خاصة C Microsoft تعتمد على طريقة C Microsoft إرجاع قيم النقطة العائمة. لم ترجمة هذه التعليمات البرمجية المصدر مع Borland C.

إلى إعادة ترجمة مع C Microsoft ، استخدم العبارات سطر الأوامر التالية لإنشاء DLL:
    cl -ALw -Ow -W2 -Zp -Tp mbf2ieee.c    link /nod c:\vb\cdk\vbapi.lib mbf2ieee, mbf2ieee.dll, NUL, sdllcew       oldnames libw, mbf2ieee    rc -t mbf2ieee.dll    implib mbf2ieee.lib mbf2ieee.def				
S14706 BASICA GWBASIC 4.00 QBASIC BASCOM Mbf2ieee

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

خصائص

رقم الموضوع: 140520 - آخر مراجعة: 02/02/2014 08:45:44 - المراجعة: 2.2

Microsoft Visual Basic 4.0 Professional Edition, Microsoft Visual Basic 4.0 16-bit Enterprise Edition

  • kbnosurvey kbarchive kbmt kbdownload kb16bitonly kbfile kbprb kbsample KB140520 KbMtar
تعليقات