【问题标题】:Structures in VB .NET like COBOLVB .NET 中的结构,如 COBOL
【发布时间】:2013-05-21 08:37:41
【问题描述】:

我正在将 COBOL 程序转换为 VB .NET。

有没有办法像 COBOL 一样使用 VB NET 中的结构?

例如:

COBOL:

01 VAR1
    10  VAR11 PIC X
    10  VAR12 PIC X

MOVE 'AA' TO VAR1

之后 VAR11 = A 和 VAR12 = A

有没有办法在 VB NET 中将字符串移动到结构的顶部标题上,并且该结构的每个成员都获取相应字符串的“片段”?

谢谢。

【问题讨论】:

    标签: .net vb.net data-structures cobol


    【解决方案1】:

    没有。但是 VB.Net(嗯,它不是 VB 特定的)String 类提供了很多功能 - 您可以将 index 它像一个数组一样,您可以要求 Substrings 等等。

    不要试图从字面上复制 COBOL 程序的所有方面。寻找可以编写更简洁的 VB 代码的小胜利。

    【讨论】:

    • 这个论坛是我最后的希望。我希望避免创建一个模拟此功能的类。谢谢!!!
    • 字符串是基于字符的——非单字节编码可能会把事情搞砸。带有数据类型索引映射的 ByteArray 可能是更好的方法。
    【解决方案2】:

    这可能是红鲱鱼,但会是这样的:

    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
    

    有什么帮助吗?组级移动几乎是字节移动的无类型字节。也许明智地使用记忆动作就足够了?或者让整个事情崩溃,因为这将是值得水泥围栏的精致代码。

    使用它可能还需要明智地使用

    VarPtr(), StrPtr(), or ObjPtr()
    

    获取指针。

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 2022-11-04
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多