自定义数据类型,怎样获取自己的长度?
时间:2011-10-29
来源:互联网
以下是在模块内:
VB code
我想用 结构中的lSize来保存 SZDataHead 自己的大小,怎么获得呢?
用 Len(G_DataHead)获得不了哦~
下面我的测试例子,不成功!
VB code
但是我确实是见过这样的数据类型,可惜只有读取的源码,没有写入的源码
VB code
VB code
Public Type SZDataHead Flag As String '变长的字串 lSize As Long '此结构长度 End Type
我想用 结构中的lSize来保存 SZDataHead 自己的大小,怎么获得呢?
用 Len(G_DataHead)获得不了哦~
下面我的测试例子,不成功!
VB code
'写数据 Private Sub Command1_Click() Dim G_DataHead As SZDataHead G_DataHead.Flag = Text1.Text G_DataHead.lSize = Len(G_DataHead) Open App.Path & "\1.dat" For Binary As #1 Put #1, , G_DataHead Put #1, , Text2.Text Close #1 Label1.Caption = G_DataHead.lSize End Sub '读数据 Private Sub Command2_Click() Dim s As String Dim G_DataHead As SZDataHead Open App.Path & "\1.dat " For Binary As #1 Text1 = "" Text2 = "" Get #1, , G_DataHead Seek #1, G_DataHead.lSize + 1 Get #1, , s Text2 = s Text1 = G_DataHead.Flag Close #1 Label1.Caption = G_DataHead.lSize End Sub
但是我确实是见过这样的数据类型,可惜只有读取的源码,没有写入的源码
VB code
'解析.lnk文件的类 '......... '文件位置信息段 Private Type tFileLocationInfoHead lSize As Long '此段长度 lFirstOffset As Long '头结构长度,&H1C eFlag As eLocationFlag '文件在哪些卷有效 lVolumeOffset As Long '本地卷偏移,&H1C lBasePathOffset As Long '本地路径偏移 lNetworkOffset As Long '网络卷偏移 lRemainingPathOffset As Long '剩余路径偏移 '如果文件在本地卷,那么文件名为:本地路径+剩余路径 '如果文件在网络卷,那么文件名为:网络卷信息中的共享名+剩余路径 End Type Private Type tFileLocationVolume lSize As Long '此结构长度 eVolType As eVolumeType '卷类型 lVolSerialNumber As Long '卷序列号 lVolNameOffset As Long '&H10 sVolName As String '卷标 End Type Private Type tFileLocationNetwork lSize As Long '此结构长度 lUnknown1 As Long '&H2 lNetNameOffset As Long '&H14 lUnknown2 As Long '&H0 lUnknown3 As Long '&H20000 sNetName As String '网络共享名 End Type '........
作者: shuzhi920354 发布时间: 2011-10-29
len可以的,要加个头尾什么的,具体数字忘记了。
作者: patrickkong 发布时间: 2011-10-29
MSDN 上vb帮助中关于Len的解释,最后一段是这样的:
注意 当在用户自定义数据类型中使用变长字符串时,Len 可能不能确定实际存储所需的字节数目。
Len貌似不行
注意 当在用户自定义数据类型中使用变长字符串时,Len 可能不能确定实际存储所需的字节数目。
Len貌似不行
作者: shuzhi920354 发布时间: 2011-10-29
卷标、路径等是有长度上限的,所以可以
你的变长字符串纯粹没有一个确定的长度上限,叫人家怎么统计你的长度……
你的变长字符串纯粹没有一个确定的长度上限,叫人家怎么统计你的长度……
作者: alifriend 发布时间: 2011-10-29
引用 3 楼 alifriend 的回复:
卷标、路径等是有长度上限的,所以可以
你的变长字符串纯粹没有一个确定的长度上限,叫人家怎么统计你的长度……
卷标、路径等是有长度上限的,所以可以
你的变长字符串纯粹没有一个确定的长度上限,叫人家怎么统计你的长度……
变长字符串不能实时统计吗?
作者: shuzhi920354 发布时间: 2011-10-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28