请VB,VC都精通的高手进来帮忙!关于日期控件的问题!!
请问VB和VC的DTPicker控件存放日期(不需要日期部分)时有什么不同呀?同一个数据用VB和VC读出来的结果不相同,相差很远并且没有一点儿的规律,麻烦大家帮忙解决一下,看如何可以实现两者的统一?让VC中保存的日期,可也让VB正确的识别出来!!
思路是这样的,比如我向某一存储设备的8个字节存储单元中用VC写入日期控件的值,从b(0)这一单元开始写入,
假设用VC通过以下代码可以实现(我不知道用VC应该如何写,但我相信一定可以实现的:
Dim dat As Date
Dim b(8) As Byte '定义8个字节数组来存放日期
'以下为VC部分
dat = DTPicker1 'DTPicker1为日期控件
'给b(0)赋值,将值保制到内存中
CopyMemory b(0), dat, Len(dat)
'将内存中的数据保存到某一存储设备中,省略。
'以下为VB部分
'将存储设备中的数据保存到内存中,省略。
'然后在VB中用如下代码从该存储单元中读取数据:
CopyMemory dat, b(0), Len(dat)
DTPicker2 = dat
如果不作处理,VC写入的值和VB读出的值是不相同的,而且没有的规律可找!
请问如何可以实现,让DTPicker2读出的值与DTPicker1写入的值相同,
问题点数:0、回复次数:9Top
1 楼pirateRocy(海盗罗西)回复于 2004-09-03 15:19:33 得分 0
VB中date类型的长度是16,
也就是说 lenB(date) = 16 , len(date) = 8
这里的关键是VB采用unicode字符。
所以,建议楼主定义b(16)试试。 如果成功了,通知我 ^_^Top
2 楼pirateRocy(海盗罗西)回复于 2004-09-03 15:23:16 得分 0
好象也不对,容我再想想Top
3 楼of123()回复于 2004-09-03 15:25:19 得分 0
date类型是 Double 类型。怎么会是 unicode 字符。Top
4 楼of123()回复于 2004-09-03 15:29:25 得分 0
不要用字节数组,直接用 Double 传递。Top
5 楼xutaotao(*new*)回复于 2004-09-03 15:41:13 得分 0
不需要定义b(16),定义为b(8)就行了,用VB读写没有问题,只是用VC写,用VB读就有问题了。
请问怎么将日期保存到double中去呢?
dim d as double
d=DTPicker1
DTPicker2=d
这样的店主语句就可以了吗?我只需要日期,不需要时间呀!又应该如何提取呢?Top
6 楼xutaotao(*new*)回复于 2004-09-03 16:03:37 得分 0
没有人能解决吗?急呀!!!!Top
7 楼of123()回复于 2004-09-03 16:23:52 得分 0
用取整函数取得日期。
注意,Double 的结构并非 8 字节整数,8 字节小数!!!它是由符号位、有效数字和乘幂系数组成的。不可直接截取。Top
8 楼xanger(do while MYM<400000)回复于 2004-09-03 16:52:41 得分 0
upTop
9 楼xutaotao(*new*)回复于 2004-09-10 13:20:28 得分 0
还是不知道怎么解决!Top




