VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 业余的业余

GetFileSize取大文件时私吞字节,有bug?

[复制链接]
发表于 2020-5-25 12:56:40 | 显示全部楼层
业余的业余 发表于 2020-5-25 09:04
大咖,我还有几个问题一直想问:VB6已经有20多年了,其编译的32位程序,为什么也能在64位机子上运行,有 ...

VB6只能32位,需要64位的话可以尝试VFB
回复 支持 反对

使用道具 举报

发表于 2020-5-25 15:33:27 | 显示全部楼层
如楼上的所说,可以用Visual Free Basic,Windows系统可以向下兼容,但不能向上兼容,也就是说64位系统可以运行32位和64位程序,32位的程序只能运行32位的程序,64位系统下运行32位程序任务管理器的进程中会标识出32位,比如*32说明这个就是32位的程序
回复 支持 反对

使用道具 举报

发表于 2020-6-9 08:10:44 | 显示全部楼层
本帖最后由 tlwh163 于 2020-6-9 08:17 编辑

没有vb环境 手写的不知道对不对

Public Function Cstr64 (wLow As Long, wHigh As Long) as String
    Dim tmp As Double
       
        if wLow < 0 Then
                tmp = xxxxxxxx + wLow   '4G的模,数值多少不记得了
        else
                tmp = wLow
        End If
       
        '高32位,假设它是个正数
        tmp = tmp + xxxxxxxx * wHigh
       
        Cstr64 = Cstr(tmp)
End Function

点评

对于超过2G的数据,差不多就是这个意思,先要计算出高低位的值。  发表于 2020-6-9 09:07
回复 支持 反对

使用道具 举报

发表于 2020-10-19 01:07:20 | 显示全部楼层
业余的业余 发表于 2020-5-24 09:47
你说的对,我也先尝试去理解了下,就是不太懂。我不是科班出生,遇到问题首先找度娘,可是能把GetFileSiz ...

我怎么感觉这函数写的太费劲了
Private Sub Long2Size(ByVal LongLow As Long, ByVal LongHigh As Long, ByRef FileSize As Currency)
    filesize = cdec("&H" & hex(longhigh) & right("00000000" & hex(longlow),8)
end sub
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-1 22:32

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表