Get 在 VB6 中做什么?

问题描述 投票:0回答:2

我正在尝试修改某人在 sem-遥远的过去用 VB6 编写的程序,并且遇到了下面的行以及许多类似的行。我的问题是,从语法上来说,这个“Get”行看起来像它的作用或可能的作用是什么?

  Get #3, StartByte + Offset, StudentScrBytes

在程序中,它后面总是跟着 3 个逗号分隔的项目,除了一个例外,第一个项目是前面带有 # 的数字。第二个看起来总是解析为数字,第三个看起来总是解析为单个变量。

我相当确定我已经弄清楚 # 前面的数字是文件引用 - 第一次 Get 出现时,它不是 #3 或 #10 或 #whatever,而是一个变量“TempFile”,初始化为 FreeFile().

  TempFile = FreeFile()
  Open "c:\folerName.dir" For Binary Shared As TempFile

我在 VB6 中的 Get 上找到的唯一内容似乎与 OOP 和 getter/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 会从指定的文件中获取某些内容,但我根本无法判断如何(或是否)指定文件。

vb6
2个回答
6
投票

查看原始 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 获取站点:microsoft.com

确实在我的机器上调出了 Get 和 Put 作为两个第一个 Google 答案。


0
投票

我一直使用二进制共享。正在访问数据的共享文件中的精确更改。非常适合发出指令和其他程序读取指令。换句话说,它是从文件中的精确位置“挑选”数据。美妙之处在于,除了错误捕获之外,无需一遍又一遍地创建文件并在此过程中创建错误。

它应该有各种语言版本。

当年,MS MASM 做到了。还有 QuickBasic。命名法不同,但过程完全相同。

© www.soinside.com 2019 - 2024. All rights reserved.