Sco*_*ain 4 c# vb6 vb6-migration
我的任务是将旧的VB6程序转换为C#.我无法移植的一个功能是从二进制文件中读取的字段计算出生日期:
.BirthDate = CDate((CLng(recPatient.birthDateByte2) * 256) +
(recPatient.birthDateByte1 + 366))
Run Code Online (Sandbox Code Playgroud)
我能找到的唯一一个远程类似的功能是:
DateTime BirthDate = DateTime.ToDateTime((long)recPatient.birthDateByte2) * 256)
+ (recPatient.birthDateByte1 + 366));
Run Code Online (Sandbox Code Playgroud)
然而,ToDateTime(long)
只是返回一个InvalidCastException
.
现在我可以手动构建字符串,但我无法在VB6上的任何地方找到任何文档CDate(long)
.
我究竟做错了什么?
尝试使用
DateTime.FromOADate((double)recPatient.birthDateByte2 * 256
+ recPatient.birthDateByte1 + 366)
Run Code Online (Sandbox Code Playgroud)
代替.
这是关于CDate(长篇)的一小段文档.它不是来自MS,也不是关于VB6,但由于CDate是迄今为止我见过的所有VBA实现的一部分,我怀疑它不会产生很大的不同.
归档时间: |
|
查看次数: |
1812 次 |
最近记录: |