【发布时间】:2011-01-19 13:29:51
【问题描述】:
我正在尝试编组一个 VB6 结构,但我不知道如何编组 Date 类型,例如: 日期另存为日期
和以下字符串数组: FASTNESSNAME(1 To 6) As String * 16
提前感谢您的帮助。
【问题讨论】:
我正在尝试编组一个 VB6 结构,但我不知道如何编组 Date 类型,例如: 日期另存为日期
和以下字符串数组: FASTNESSNAME(1 To 6) As String * 16
提前感谢您的帮助。
【问题讨论】:
VB6 中的日期与 .NET 中的日期非常相似(都是 8 个字节),因此您应该将其编组为 System.DateTime。
.NET 不支持固定长度字符串和基于 1 的数组。对于固定长度的字符串,您可以只使用自定义 .NET 类吗?
除此之外,您还可以使用<VBFixedString(20)> 定义固定字符串,但这与您在VB6 中所期望的方式不同。如果你在结构中使用它:
Private Structure FixedStr
<VBFixedString(20)> Dim strTest As String
End Structure
然后在您的代码中使用 - 您可以获得不同的结果:
Dim fs As FixedStr
fs.strTest = "1234567890123456789012345"
MsgBox(Len(fs)) '<- Shows 20
MsgBox(Len(fs.strTest)) '<- Shows 25
【讨论】: