我正在尝试修改一个很久以前有人用VB6编写的程序,并且遇到了下面的行,还有许多类似的行。我的问题是,从语法上看,这个“Get”行看起来像什么?
Get #3, StartByte + Offset, StudentScrBytes
在程序中,它后面总是跟着3个逗号分隔的项目,除了一个例外,第一个项目是前面有#的数字。第二个看起来总是解析为一个数字,第三个看起来是一个单一变量。
我很确定我已经知道#前面的数字是一个文件引用-第一次出现Get时,它不是#3、#10或#之类的,而是一个变量“TempFile”,初始化为
FreeFile().
TempFile = FreeFile()
Open "c:\folerName.dir" For Binary Shared As TempFile
我在VB6中的Get上找到的唯一东西似乎与OOP和getters/setter有关。也许我错了,但我真的不认为这是这里发生的事情,我所能做的只是模糊的猜测。
这是该行取自的函数。两个参数都是整数。
Function StudentScr$(Record, Contest)
Dim StudentScrBytes As String * 4
StartByte = (Record - 1) * LengthOfStudentRecord
If Contest = 1 Then Offset = 77
If Contest = 2 Then Offset = 85
If Contest = 3 Then Offset = 94
If Contest = 4 Then Offset = 102
If Contest = 5 Then Offset = 110
If Contest = 6 Then Offset = 118
If Contest = 7 Then Offset = 126
If Contest = 8 Then Offset = 134
Get #3, StartByte + Offset, StudentScrBytes
StudentScr$ = StudentScrBytes
End Function
我认为Get会从指定的文件中获得一些东西,除非我根本不知道如何(或是否)指定文件。