Al momento sei offline in attesa che la connessione Internet venga ristabilita

PRB: Conversione MBF IEEE in Visual Basic per Windows

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 140520
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sintomi
I file di dati creati con prodotti Microsoft Basic precedenti (base veloce GW-Basic e Basica (IBM e Compaq licenza Basic)) potrebbero non essere leggibili da Visual Basic per Windows.
Cause
Prima per il mobile IEEE punto da standard ampiamente accettato, Microsoft ha utilizzato un formato di virgola mobile interno noto come Microsoft Binary Format (MBF). Lo standard IEEE è stata introdotta in un secondo momento ed è diventato il settore standard.

Le versioni precedenti di Microsoft QuickBASIC e GW-Basic supportate solo formato MBF. In Microsoft Basic Professional Development System (PDS) e Visual Basic per MS-DOS, funzioni sono disponibili per la conversione tra MBF e IEEE formati. Come Microsoft spostato verso l'accettazione completa dello standard IEEE, tuttavia, supportano per il formato MBF è stato rimosso.

Visual Basic per Windows utilizza lo standard di IEEE. Il formato MBF, tuttavia, è incompatibile con lo standard IEEE e i dati salvati in questo modo non sarà leggibili.
Risoluzione
Il PDS e la Visual Basic per MS-DOS prodotti contenuti funzioni per la conversione tra formato MBF e formato IEEE. Queste funzioni non sono disponibili in Visual Basic per Windows. Di seguito sono due possibili soluzioni a questo problema:
  1. Un programma può essere scritti in PDS o in Visual Basic per MS-DOS che ricrea il file contenente i dati MBF. Dopo aver letto le informazioni del file in PDS o Visual Basic per MS-DOS, è possibile utilizzare le funzioni di $ MKxMBF (vedere i manuali per PDS o Visual Basic per MS-DOS o Guida in linea menu) per convertire i dati in formato IEEE. Questo metodo è consigliato per due motivi:
    • Converte i dati in IEEE in modo che altri programmi possano accedere i file.
    • Se si utilizza il metodo 2, è necessario una DLL aggiuntiva che è necessario distribuire con l'applicazione.
  2. In precedenza, non era alcun modo per convertire i dati di Visual Basic per Windows. Ma è presente una DLL disponibile per effettuare questa operazione. Questa DLL (MBF2IEEE.DLL) contiene le funzioni che simulano le funzioni MKS, MKD, CVS e CVD che erano presenti in alcuni dei prodotti base basati su MS-DOS. Queste funzioni di (MKS, MKD, CVS e CVD) non sono disponibili in Visual Basic per Windows, pertanto la necessità di questa DLL. La sezione informazioni riportata di seguito fornisce informazioni dettagliate sulla DLL e le modalità per il download dall'area Download Microsoft.
Status
Questo comportamento legato alla progettazione.
Informazioni

Dettagli sul metodo 2: Utilizzo Mbf2ieee.dll

Nota: Queste funzioni in tutti i eseguono la conversione tra formato binario di Microsoft (MBF) e IEEE valori a virgola mobile. Alcuni dei più recenti basati su MS-DOS base prodotti era versioni di queste funzioni che funzionava in modo diverso. Ad esempio, consentono osservare un numero IEEE sotto forma di stringa senza convertirlo MBF. Le routine descritte di seguito vengono fornite solo come metodo di recupero dei dati MBF precedenti.

Queste funzioni forniscono le conversioni tra IEEE valori a virgola mobile e Mobile in formato binario di Microsoft (MBF) punto di valori. Di seguito è un insieme di istruzioni che devono essere inclusa in un programma Basic Visual che chiama queste funzioni di dichiarare:
   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				

Di seguito è una descrizione di ciascuna di queste funzioni insieme con un esempio.

CVS e funzioni CVD

Queste funzioni accettano un a 4 byte (CVS) o di una stringa (CVD) a 8 byte come argomento. Si aspettano che lo schema di bit di questa stringa per rappresentare una precisione singola o doppia, valore MBF, rispettivamente. Il risultato di funzione restituisce un IEEE.
   Dim MBF As String, IEEE As Single   ' load the string from a file, etc.   IEEE = CVS(MBF)				

Funzioni MKD e MKS

Tali funzioni accettano un singolo IEEE (MKS) o doppia (MKD) come argomento valore di precisione. Quindi converte questo valore in un valore MBF a 4 byte o 8 byte e li restituisce nella stringa.
   Dim MBF AS String, IEEE As Single   MBF = MKS(IEEE)   ' Now write the MBF value out to disk				

Potenziali problemi

Vi sono differenze tra il formato IEEE e MBF. Per questo motivo precisione vadano perduti durante le conversioni. È inoltre possibile che un numero non può essere convertito tra i due formati. Se questo è il caso, un Overflow Visual Basic (errore n. 6) viene generato. Si tratta di un errore intercettabile, quindi gestire l'errore di conseguenza.

Come ottenere Mbf2ieee.dll

Il seguente file è disponibile per il download dall'Area download Microsoft:
Per ulteriori informazioni su come scaricare file di supporto Microsoft, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
119591Come ottenere file di supporto Microsoft dai servizi online
Microsoft analizzati questo file per individuare eventuali virus. Microsoft ha utilizzato il software antivirus più recente disponibile alla data di pubblicazione del file. Il file è archiviato in server con protezione avanzata per impedire modifiche non autorizzate al file. Dopo avere scaricato Mbf2ieee.exe, eseguirlo per ottenere Mbf2ieee.dll con i file di origine e un file Mbf2ieee.txt, ovvero un file readme che contiene il testo di questo articolo.

Codice sorgente inclusi in Mbf2ieee.exe

Oltre alle DLL stessa, viene fornito anche il codice sorgente, pertanto è possibile apportare modifiche e ricompilare se si dispone di c. Microsoft Per ricompilare e generare un nuovo file dll, è necessario utilizzare Microsoft C, poiché le routine sono specifiche per Microsoft C e si basano su quella di che Microsoft C restituisce valori di virgola mobile. Il codice sorgente non viene compilato con il c di Borland.

Ricompilare con Microsoft C, utilizzare le istruzioni della riga di comando riportate di seguito per generare la 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				
BASCOM QBASIC GWBASIC BASICA 4.00 S14706 Mbf2ieee

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 140520 - Ultima revisione: 02/09/2014 20:51:54 - Revisione: 2.2

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

  • kbnosurvey kbarchive kbmt kbdownload kb16bitonly kbfile kbprb kbsample KB140520 KbMtit
Feedback