不可能MM是您的类型
而DAT是一个byte array除非您说说如何装?比如ID放到DAT(0) 和 Dat(1)...
而DAT是一个byte array除非您说说如何装?比如ID放到DAT(0) 和 Dat(1)...
解决方案 »
- 请问SQL Server Desktop Engine的代替品SQL SERVER EXPRESS2012,两者之间有什么区别
- VB6加水晶报表9,不知怎样传入参数.
- access与sql之间进行 not in 查询
- 硬盘的监控,多余文件以及文件夹的删除问题(在线等)
- 调用另外一台机子上的DCOM控件出错,请高手帮忙看看
- 求助:怎样利用VB将一行数据插入到EXCEL
- 高分求救----VsPrinter控件问题
- 用过Access的过来帮帮忙,回答一个简单SQL问题
- ADODB.Recordset与DataGrid1绑定问题
- 选中MSFlexGrid的某一行的任意一列,如何使该行亮选。
- 如何在字符和ASCII码之间转换
- 如何获得文件属性是否为只读
(Destination As Any, Source As Long, ByVal Length As Long)Private Type myType
ID As Long
NAME As String * 8
AGE As Byte
SEX As Boolean
HEIGHT As Byte
End TypeDim MM As myType
Dim DAT() As BytePrivate Sub Command1_Click()
MM.ID = 1002
MM.NAME = "ABCDEFG"
MM.AGE = 22
MM.SEX = 0
MM.HEIGHT = 173
ReDim DAT(Len(MM))
CopyMemory DAT(0), MM.ID, Len(MM)
'Debug.Print DAT(0), DAT(1)
End Sub
Open "c:\aa" For Binary Access Write As #1
Put #1, , MM
Close
Open "c:\aa" For Binary Access Read As #1
ReDim cc(LOF(1))
Get #1, , DAT
Close
谁有更好的办法啊??PLEASE ,HELP ME !
字符呢?to soec(龚):
意义和在?
Debug.Print VarPtr(MM.NAME)
Debug.Print VarPtr(MM.ID), VarPtr(MM.AGE), VarPtr(MM.SEX)
从结果可以看到存放字符串的地址同其它的地址是不连续的 ,这样你可能只有分别拷贝字符串和其它了。
在读字符串时是:
DAT(4)- 65
DAT(5)- 0
DAT(6)- 66
DAT(7)- 0
DAT(8)- 67
中间是隔开的。
如果我用土办法读的时候是: Open "c:\aa" For Binary Access Write As #1
Put #1, , MM
Close
Open "c:\aa" For Binary Access Read As #1
ReDim cc(LOF(1))
Get #1, , DAT
Close
----------------------------------------------
DAT(4) - 65
DAT(5) - 66
DAT(6) - 67
----------------------------------------------
有办法像下面的那样吗??
DAT(0-16)
用CopyMemory 方法,
会隔开字符串,
dat不能装完整个数据。
有解决方法吗??
那请问有什么好的办法??