代码之家  ›  专栏  ›  技术社区  ›  donutguy640

Get在VB6中做什么?

vb6
  •  2
  • donutguy640  · 技术社区  · 8 年前

    我正在尝试修改一个很久以前有人用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会从指定的文件中获得一些东西,除非我根本不知道如何(或是否)指定文件。

    1 回复  |  直到 8 年前
        1
  •  6
  •   user1889116 user1889116    8 年前

    查看原始MS VB6文档:

    https://msdn.microsoft.com/en-us/library/aa243376(v=vs.60).aspx

    您可能还对其对应方Put感兴趣:

    https://msdn.microsoft.com/en-us/library/aa266212(v=vs.60).aspx

    提示:搜索旧版VB语句时,请在Google搜索中包含Visual Studio 6.0的“vs.60”,并将搜索限制在MS站点。MS在官方链接中有这个术语,所以你不能错过它。此搜索:

    vb6 vs.60 get-put网站:microsoft.com

    会在我的机器上显示Get和Put作为Google的前两个答案。