В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

PRB: Преобразование MBF IEEE в Visual Basic для Windows

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:140520
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.
Проблема
Файлы данных, созданные с помощью устаревших продуктов Microsoft Basic (Быстрый Basic GW-Basic и Basica (IBM и Compaq лицензированные Basic)) может быть прочитать в Visual Basic для Windows.
Причина
До IEEE плавающей точки стандартной being широко принято, известная как Microsoft внутренний с плавающей точкой формат используется Microsoft Двоичный формат (MBF). Стандарт IEEE позже появилась и стала промышленный стандарт.

Ранние версии Microsoft QuickBASIC и GW-Basic поддерживается только формат MBF. В Microsoft Basic профессиональной разработки Система (PDS) и Visual Basic для MS-DOS, доступны функции для преобразования между форматами MBF и IEEE. При перемещении Майкрософт ближе к полное согласие стандарт IEEE, поддержка формата MBF был удален.

Visual Basic для Windows использует стандарт IEEE. Тем не менее, является формат MBF несовместимый со стандартом IEEE и данные, сохраненные таким образом не будет. для чтения.
Решение
PDS и Visual Basic для содержащимся продуктов MS-DOS функции, которые преобразуют между MBF формате и формате IEEE. Следующие функции: недоступно в Visual Basic для Windows. Ниже приведены два возможных способа решения для Эта дилемма:
  1. Программы могут быть написаны на Visual Basic или PDS для MS-DOS повторно создает файл, содержащий MBF. После прочтения файла сведения в PDS или Visual Basic для MS-DOS, можно использовать MKxMBF$ функции (см. раздел руководства для Visual Basic или PDS для MS-DOS или их помощь меню) для преобразования данных в формате IEEE. Этот метод является предпочтительным для двух по причинам:
    • Он преобразует данные IEEE так других программ доступа к файлам.
    • При использовании метода 2 программы потребуется один дополнительный Библиотека DLL, необходимо распространять вместе с приложением.
  2. Ранее не существует способа преобразования данных из Visual Basic для Windows. Но теперь отсутствует DLL, доступных для этого. Эта библиотека DLL (MBF2IEEE.Библиотека DLL) содержит функции, которые имитируют MKS, MKD, CVS и CVD функции, которые отсутствовали в некоторые основные продукты на основе MS-DOS. К ним функции (MKS MKD, CVS и CVD) не существуют в Visual Basic для Windows Таким образом необходимость данной библиотеки DLL. Ниже в разделе Дополнительная информация содержит подробные сведения о библиотеке DLL и объясняется, как загрузить из загрузки Майкрософт Центр.
Статус
Данное поведение является особенностью.
Дополнительная информация

Подробности О два метода: Использование Mbf2ieee.dll

Примечание: Все эти функции выполнять преобразование между двоичный файл Microsoft Формат (MBF) и IEEE с плавающей точкой значения. Некоторые из новых основе MS-DOS Основные продукты были версии этих функций, которые работали по-разному. Для пример, с их помощью можно просмотреть номер IEEE как строку без преобразования Чтобы MBF. Процедуры, описанные здесь предлагаются только как способ получения старые данные MBF.

Эти функции обеспечивают преобразование между IEEE с плавающей запятой и двоичный формат Microsoft (MBF) с плавающей точкой значения. Ниже приведен набор операторов, которые должны быть включены в Visual Basic объявления Программа, которая вызывает следующие функции:
   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				

Ниже приведено описание каждой из этих функций, а также пример.

Функции CVD и CVS

Эти функции принимают 4 байта (CVS) или строку длиной 8 байт (CVD) аргумент. Они ожидали битовый шаблон для представления одной строкой или двойной точности MBF значение соответственно. Функция возвращает IEEE результат.
   Dim MBF As String, IEEE As Single   ' load the string from a file, etc.   IEEE = CVS(MBF)				

Функции MKD и MKS

Эти функции принимают один IEEE (MKS) или двойной (MKD) значение точности как аргумент. Затем преобразует это значение в 4-байтовое или 8-байтовое значение MBF и возвращает его в строку.
   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

Ниже файл доступен для загрузки из загрузки Майкрософт Центр:
Для Нажмите кнопку Дополнительные сведения о том, как загрузить файлы поддержки Майкрософт следующий номер статьи базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Майкрософт из Интернета
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует наиболее текущего антивирусного программного обеспечения на дату, файл была учтена. Файл хранится на защищенных серверах, которые помогают для файла предотвращает его несанкционированное изменение. После загрузки Mbf2ieee.exe, запустите его, чтобы получить Mbf2ieee.dll вместе с исходные файлы и файл Mbf2ieee.txt, который является файл readme, содержащий текст статьи.

Исходный код включен в Mbf2ieee.exe

В дополнение к самой библиотеки DLL также приведен исходный код, поэтому вносить изменения и выполните повторную компиляцию при наличии Microsoft C. Для Перекомпилируйте и построить новый.Файл DLL, необходимо использовать Microsoft C поскольку подпрограммы относятся к Microsoft C и зависит от способа, возвращает Microsoft C Значения с плавающей точкой. Этот исходный код компилируется с Borland C.

Перекомпиляция с Microsoft C, используйте следующую команду операторы для построения библиотеки 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 GWBASIC BASICA 4.00 BASCOM QBASIC Mbf2ieee

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 140520 — последний просмотр: 06/02/2011 08:13:00 — редакция: 4.0

Microsoft Visual Basic 4.0 Professional Edition

  • kbdownload kb16bitonly kbfile kbprb kbsample kbmt KB140520 KbMtru
Отзывы и предложения