我有一个传统的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>)