标题:在VFP9.0中CTOBIN( LEFT( m.cPI, 4 ), 'rs' ) 可以使用,但是VFP8.0不支持
取消只看楼主
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
结帖率:73.33%
已结贴  问题点数:20 回复次数:8 
在VFP9.0中CTOBIN( LEFT( m.cPI, 4 ), 'rs' ) 可以使用,但是VFP8.0不支持
请问如何在VFP8.0中实现CTOBIN( LEFT( m.cPI, 4 ), 'rs' ) 相同的功能?
搜索更多相关主题的帖子: LEFT VFP9.0 相同 
2020-04-07 19:03
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
    m.cSI = BINTOC( 0, 'rs' ) + BINTOC( This.pcNewDesktop, 'rs' ) + REPLICATE( CHR(0), 14*4 )
    m.cSI = BINTOC( LEN( m.cSI )+4, 'rs' ) + m.cSI
     m.hProcess = CTOBIN( LEFT( m.cPI, 4 ), 'rs' )
这些代码只能在VFP9.0中实现,可我用的是VFP8.0,请问这几行代码改如何改变为VFP8.0的呢?
2020-04-07 20:29
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
回复 3楼 吹水佬
BINTOC和CTOBIN这些函数内部的运算机制我真地是搞不懂,对我来说太深奥了,因为没有深入的学习计算机方面的专业知识。
    m.cSI = BINTOC( 0, 'rs' ) + BINTOC( This.pcNewDesktop, 'rs' ) + REPLICATE( CHR(0), 14*4 )
    m.cSI = BINTOC( LEN( m.cSI )+4, 'rs' ) + m.cSI
    m.hProcess = CTOBIN( LEFT( m.cPI, 4 ), 'rs' )
肯请版主帮忙写个VFP8.0的函数,比如函数名BTOCRS(参数),等价于VFP9.0的BINTOC(参数,'RS'),函数名CTOBINRS(参数),等价于VFP9.0的CTOBIN(参数,'RS')。这样上述三行代码,我就可以顺利的在VFP8.0中改成
   m.cSI = BTOCRS( 0) + BTOCRS( This.pcNewDesktop) + REPLICATE( CHR(0), 14*4 )
   m.cSI = BTOCRS( LEN( m.cSI )+4 ) + m.cSI
   m.hProcess = CTOBRS( LEFT( m.cPI, 4 ) )
本人愿意微信支付100元略表感谢!
2020-04-07 20:45
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
回复 5楼 吹水佬
吹版主,您这个代码用在VFP8.0中就相当于VFP9.0中的CTOBIN(参数,'rs')对吗?
2020-04-07 21:11
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
回复 7楼 吹水佬
吹版,那VFP9.0中的CTOBIN(参数,'RS')在VFP8.0中如果实现呢?
2020-04-08 05:14
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
吹版,不好意思,上面写错了。应该是VFP9.0中的BINTOC(参数,'RS')在VFP8.0中如果实现呢?
2020-04-08 05:16
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
自己做了函数BTOCRS(nSI),代码如下:
lPARAMETERS nSI
LOCAL c1,c2,c3,c4
c4=CHR(INT(nSI/0x1000000))
nSI=MOD(nSI,0x1000000)
c3=CHR(INT(nSI/0x10000))
nSI=MOD(nSI,0x10000)
c2=CHR(INT(nSI/0x100))
nSI=MOD(nSI,0x100)
c1=CHR(nSI)
RETURN c1+c2+c3+c4
运行了一下btocrs(100),返回字符d,感觉差不多
2020-04-08 05:30
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
经过试验那个创建新桌面运行外部程序的过程测验,有些外部应用会出现在新桌面中运行,直到关闭它,有些应用则没有出现预期的运行效果(没有出现新桌面没有打开应用),看来吹版的代码是正确的,我写的逆运算代码应该也没大有问题。
2020-04-08 05:42
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:0 
回复 12楼 吹水佬
一点经验,刚才吹版代码中的0h78563412,在VFP8.0中其实是不支持的,所以运行吹版的代码就会出错,在VFP9.0中就支持。所以,在代码编写过程中出现一些莫名其妙的错误时,尤其是代码是来自互联网上检索的时候,如果找不出原因,不妨考虑一下VFP版本的问题。
2020-04-08 07:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500924-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.434637 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved