VB6到VB.NET写入随机访问文件

时间:2015-08-26 12:30:47

标签: vb.net vb6 vb6-migration

我有一个传统的VB6应用程序,它以随机访问模式写入文件。然后由第三方开发的应用程序读取此文件。

我的任务是在VB.NET中重写VB6应用程序,但第三方应用程序不会改变。我试图将VB6代码转换为VB.NET,但随机访问文件未正确读取。

下面提供了VB6和VB.NET代码的压缩片段。 VB.NET代码成功写入文件,但字段长度不正确,读取文件的应用程序未正确解析数据。如何以相同的方式写入随机访问文件?

我已经四处寻找但没有找到有效的解决方案。

VB6

Type Person
    ID as String * 5
    Name as String * 25
    EyeColor as String * 10
End Type

Dim myPerson as Person
myPerson.ID = "13"
myPerson.Name = "Joe"
myPerson.EyeColor = "Blue"

Open <file path> For Random As <file number> Len = Len(myPerson)
    Put <file number>, myPerson.ID, myPerson
Close <file number>

VB.NET

Structure Person
    <VBFixedString(5)> Dim ID As String
    <VBFixedString(25)> Dim Name As String
    <VBFixedString(10)> Dim EyeColor As String
End Structure

Dim myPerson as New Person
myPerson.ID = "13"
myPerson.Name = "Joe"
myPerson.EyeColor = "Blue"

FileOpen(<file number>, <file path>, OpenMode.Random, , , Len(myPerson))
    FilePut(<file number>, myPerson, myPerson.ID)
FileClose(<file number>)

0 个答案:

没有答案