SORUN: MBF Windows için Visual Basic'te IEEE için dönüştürme

Makale çevirileri Makale çevirileri
Makale numarası: 140520 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Eski Microsoft Basic ürünleri ile oluşturulan veri dosyalarının (hızlı temel GW-basit ve Basica (IBM ve Compaq Basic lisanslı)) Visual Basic for Windows tarafından okunabilir durumda olmayabilir.

Neden

IEEE kayan önce fazla kabul gören standart olan nokta, Microsoft Microsoft ikili biçim (MBF gibi) bilinen bir iç kayan nokta kullanılan. IEEE) standardı, daha sonra kullanılmaya başlanan ve endüstri oldu standart.

Microsoft QuickBASIC ve GW-Basic önceki sürümleri, yalnızca MBF biçimi desteklenmiyor. Microsoft temel Professional geliştirme sistemi (PDS) ve Visual Basic for MS-DOS işlevleri MBF IEEE arasında biçimleri dönüştürmek kullanılabilir. IEEE) standardı tam kabulü doğru Microsoft taşınmış gibi MBF biçimi kaldırıldı ancak desteği.

Windows için Visual Basic IEEE standardını kullanır. MBF biçimi, ancak IEEE standardı ile uyumlu değil ve bu şekilde kaydedilen veriler okunamaz.

Çözüm

Visual Basic for MS-DOS ürünleri ve PDS MBF biçimi IEEE biçiminde arasında dönüştürme işlevleri içeriyordu. Visual Basic for Windows bu işlevler kullanılamaz. Aşağıda, bu dilemma için iki olası geçici çözümler:
  1. Bir programı PDS veya Visual Basic MBF verileri içeren dosyanın yeniden oluşturur ve MS-DOS için yazılabilir. Dosya bilgilerini PDS veya Visual Basic için MS-DOS okuduktan sonra MKxMBF $ işlevleri kullanabilirsiniz (el kitaplarını PDS veya Visual Basic için görmek için MS-DOS veya kendi Yardım menüleri) verileri IEEE biçimine dönüştürmek için. Bu iki nedenle tercih edilen yöntemdir:
    • Diğer programları, dosyaları erişebilmeleri için IEEE verilerinizi dönüştürür.
    • Programınızı, yöntem 2, uygulamanızla dağıtmanız gereken ek bir DLL gerekir.
  2. Daha önce verileri için Visual Basic Windows'dan dönüştürmek yolu yoktu. Ancak şimdi bunu bir DLL. Bu DLL (MBF2IEEE.DLL) MS-DOS'A tabanlı temel ürünlerden bazıları yoktu MKS MKD, CVS ve CVD işlevleri benzetimi işlevleri içerir. Bu işlevler (MKS MKD, CVS ve CVD) Visual Basic for Windows, bu nedenle bu DLL gerek yok. Ek BILGI bölümü DLL ayrıntılarını verir ve Microsoft Yükleme Merkezi'nden karşıdan açıklar.

Durum

Bu davranış tasarım yüzündendir.

Daha fazla bilgi

Iki yöntem hakkında ayrıntılar: Mbf2ieee.dll kullanma

Not: Tüm bu işlevleri Microsoft ikili biçim (MBF) ve IEEE noktası değerlerini kayan arasında dönüştürme yapabilirsiniz. MS-DOS'A tabanlı yeni temel ürünlerinin bazı sürümleri farklı çalıştığı bu işlevlerin sahipti. Örneğin, bunlar için MBF değiştirmeden, dize olarak bir IEEE numaradan aramak sağlar. Burada açıklanan yordamları, yalnızca eski MBF verileri bir yol sağlanmıştır.

Bu işlevler arasında IEEE dönüştürmeleri sağlar noktası değerlerini kayan ve Microsoft ikili biçim (MBF) kayan değerleri işaretleyin. Aşağıda bir kümesi olan bu işlevleri çağıran bir Visual Basic programında bulunan ifadeleri bildirin:
   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
				

Aşağıda bir örnek birlikte bu işlevlerden her biri açıklamasıdır.

CVS ve CVD işlevler

Bu işlevler, bağımsız değişken olarak bir 4 baytlık (CVS) veya 8 bayt (CVD) dize kabul edin. Bunlar, bir tek veya çift duyarlıklı MBF değeri sırasıyla göstermek için bu dizenin bit deseni bekler. Işlevini verir, bir IEEE sonucu.
   Dim MBF As String, IEEE As Single
   ' load the string from a file, etc.
   IEEE = CVS(MBF)
				

MKS ve MKD işlevler

Bu işlevler (MKS) bir IEEE tek kabul veya (MKD) çift duyarlık değerini bir bağımsız değişken olarak. Bu değer bir 4 bayt) veya 8 bayt MBF değerine dönüştürür ve onu bir dize döndürür.
   Dim MBF AS String, IEEE As Single
   MBF = MKS(IEEE)
   ' Now write the MBF value out to disk
				

Olası sorunları

IEEE biçiminde MBF arasındaki farklar vardır. Bu nedenle duyarlık sırasında çevirileri kaybolmuş olabilir. Iki biçimleri arasında bir sayı dönüştürülemiyor olasıdır. Bu durumda, bir Visual Basic (hata # 6) taşması oluşturulur. Bu yakalanabilir bir hata, bu nedenle hata buna göre tanıtıcı.

Nasıl yapılır: Mbf2ieee.dll Al

Aşağıdaki dosya Microsoft Yükleme Merkezi'nden yüklenebilir:
Mbf2ieee.exe
Microsoft destek dosyalarını karşıdan yükleme konusunda ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
119591Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den Nasıl Alınır
Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır. Mbf2ieee.exe onu kaynak dosyaları ve dosya Mbf2ieee.txt birlikte Mbf2ieee.dll edinmek için karşıdan yükledikten sonra bu makalenin metni içeren bir Benioku olduğu.

Mbf2ieee.exe içinde bulunan bir kaynak kodu

Değişiklikleri yapın ve Microsoft C varsa yeniden derleyin. DLL'i ek olarak kendisini, kaynak kodunu da, yardımıyla Kullanılan yordamlarının için Microsoft C'ye özgü Microsoft C kayan nokta değerler döndürür gelmekte bağımlı olduğundan yeniden derleyin ve yeni bir .dll dosyası oluşturmak için Microsoft C kullanmanız gerekir. Bu kaynak kodu Borland C ile derleme

Microsoft C ile yeniden derlemek için <a0></a0>, DLL olu?turmak için a?a??daki komut satırını kullanın:
    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
				

Özellikler

Makale numarası: 140520 - Last Review: 30 Ocak 2014 Perşembe - Gözden geçirme: 2.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbdownload kb16bitonly kbfile kbprb kbsample KB140520 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:140520

Geri Bildirim Ver

 

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