PRB: Převod MBF IEEE jazyka pro Windows

Překlady článku Překlady článku
ID článku: 140520 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Datové soubory vytvořené pomocí starších produktů Microsoft Basic (rychlé základní GW-Basic a Basica (IBM a Compaq licencí Basic)) nemusí být podle jazyka pro Windows čitelný.

Příčina

Před k plovoucí IEEE na standardní právě široce přijat, Microsoft používá interní plovoucí bod formátu známé jako Microsoft binární formát (MBF). IEEE standard byla zavedena později a stal odvětví standardní.

Dřívější verze QuickBASIC Microsoft a GW-Basic podporován pouze formát MBF. V Microsoft základní Professional Development System (PDS) a Visual Basic pro MS-DOS funkce jsou k dispozici k převodu mezi MBF a IEEE formáty. Jako Microsoft přesunuty směrem k dokončení přijetí IEEE standard, však podpora formátu MBF byla odebrána.

Jazyka pro Windows používá IEEE standard. Formát MBF je však nekompatibilní s IEEE standard a data uložená v tímto způsobem nebude čitelný.

Řešení

Funkce převodu mezi MBF formát a formát IEEE obsažen PDS a jazyka pro MS-DOS produkty. Tyto funkce nejsou k dispozici v jazyka pro Windows. Zde jsou dva možných řešení této dilemma:
  1. Program může být napsán v PDS nebo Visual Basic pro MS-DOS znovu vytvoří soubor obsahující MBF data. Po přečtení informací o souboru do PDS nebo Visual Basic pro MS-DOS, můžete použít funkce $ MKxMBF (viz příručky pro PDS nebo Visual Basic pro MS-DOS nebo jejich nápovědu nabídek) data převést do formátu IEEE. Tato metoda je upřednostňována dvou důvodů:
    • Převádí data IEEE, že jiné programy lze přístup k souborům.
    • Pokud použít metodu 2 váš program potřebovat dodatečnou DLL, která je nutné distribuovat s aplikací.
  2. Dříve byla nijak převést data z jazyka pro Windows. Ale nyní je DLL k tomu k dispozici. Tento DLL (MBF2IEEE.DLL) obsahuje funkce simulovat MKS, MKD, CVS a CVD funkce, které nebyly nalezeny v některé produkty základní-systém MS-DOS. Tyto funkce (MKS, MKD, CVS a CVD) neexistují v jazyka pro Windows, tedy třeba pro tuto KNIHOVNU. Části MORE informace poskytuje podrobnosti o DLL a vysvětluje, jak stáhnout ze služby Stažení softwaru.

Prohlášení

Toto chování je záměrné.

Další informace

Podrobnosti O Metoda 2: Použití Mbf2ieee.dll

Poznámka: Všechny tyto funkce proveďte převody mezi MBF (Microsoft binární formát) a IEEE plovoucí hodnoty bodu. Některé novější-systém MS-DOS základní produkty obsahovala verze tyto funkce pracovaly odlišně. Například jejich umožňují prohlédněte IEEE číslo jako řetězec bez převodu MBF. Popsané zde rutin jsou poskytovány pouze jako způsob načítání dat staré MBF.

Tyto funkce poskytují převody mezi IEEE plovoucí hodnoty bodu a plovoucí MBF (Microsoft binární formát) přejděte hodnoty. Níže je sada deklarovat příkazy, které musí být součástí Visual Basic program, který volá tyto funkce:
   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
				

Níže je popis každého z těchto funkcí spolu s příklad.

Funkce CVD a CVS

Tyto funkce přijmout 4bajtové (CVS) nebo 8 bajtů (CVD) řetězec jako argument. Očekávané vzorek bit tento řetězec respektive představují hodnotu MBF jednoduchých nebo dvojitých přesnost. Výsledek funkce vrátí IEEE.
   Dim MBF As String, IEEE As Single
   ' load the string from a file, etc.
   IEEE = CVS(MBF)
				

Funkce MKD a MKS

Tyto funkce přijmout jediný IEEE (MKS) nebo dvojité (MKD) hodnotu přesnosti jako argument. Potom převede tato hodnota bajtu 4 nebo 8 bajtů MBF hodnotu a vrátí v řetězci.
   Dim MBF AS String, IEEE As Single
   MBF = MKS(IEEE)
   ' Now write the MBF value out to disk
				

Potenciální problémy

Existují rozdíly mezi IEEE formát a MBF. Z tohoto důvodu přesnost pravděpodobně ztraceny během překlady. Je také možné, že mezi dva formáty nelze převést číslo. Pokud se jedná o tento případ, je generována jazyka přetečení (Chyba # 6). Toto je zachytitelné chybě, takže odpovídajícím způsobem zpracovat došlo k chybě.

Jak získat Mbf2ieee.dll

Na webu služby Stažení softwaru je k dispozici ke stažení následující soubor:
Mbf2ieee.exe
Další informace o tom, jak stahovat soubory podpory společnosti Microsoft, naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
119591Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Microsoft tento soubor zkontroloval na výskyt virů. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici v den uveřejnění tohoto článku. Soubor je uložený na zabezpečených serverech neumožňujících neoprávněné změny souborů. Po stažení Mbf2ieee.exe spustit jej získat Mbf2ieee.dll spolu s souboru Mbf2ieee.txt a zdrojové soubory, které je readme, který obsahuje text tohoto článku.

Zdrojový kód obsažené v Mbf2ieee.exe

K samotné dll zdrojového kódu je také poskytnuta, proto proveďte změny a znovu zkompilujte máte Microsoft C. Překompilovat a vytvořit nový soubor .dll, musíte použít Microsoft C, protože rutin jsou specifické pro Microsoft C a spoléhají na způsob Microsoft C vrátí plovoucí hodnoty bodu. Zdrojový kód není kompilace s Borland C.

Překompilovat s Microsoft C, použijte následující příkazy příkazového řádku k sestavení 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
				

Vlastnosti

ID článku: 140520 - Poslední aktualizace: 7. února 2014 - Revize: 2.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbdownload kb16bitonly kbfile kbprb kbsample KB140520 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:140520

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com