| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 566 人关注过本帖
标题:如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
只看楼主 加入收藏
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:811
专家分:3245
注 册:2018-3-13
收藏
得分:3 
以下是引用王咸美在2025-10-22 15:40:03的发言:

真是无语了。

这句:DO WHILE SYS(2600,p,1) != 0h00
改成:DO WHILE !(SYS(2600,p,1) == 0h00)

用改后循环在一台xp上运行了30次,只遇到一次提取失败

在自己本本VM虚拟机上安装个xp,用改后循环运行100次,无失败
两台机的 set('exact') 默认设置均为 ON



[此贴子已经被作者于2025-10-22 18:40编辑过]


这家伙很懒,啥也没留下
昨天 16:09
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:431
专家分:143
注 册:2015-4-18
收藏
得分:0 
回复 41楼 csyx
厉害,高手看问题透彻,原来与操作系统有关。
昨天 17:06
王咸美
Rank: 1
等 级:新手上路
帖 子:821
专家分:3
注 册:2018-1-4
收藏
得分:0 
@csyx 谢谢!问题完美解决。
昨晚 19:38
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1026
专家分:1555
注 册:2021-10-13
收藏
得分:0 
为了避免中英文逗号问题,可以考虑在alines函数中同时使用中英文的“,”
FOR i=1 TO ALINES(arr,tb.支出明细,5,",",",")
这样无论是中文的英文的都可以了。

简单测试一下:
cstr="1,2,3,5,6,7"
n=ALINES(atemp,cstr,5,",",",") &&前面一个逗号半角的,后面一个全角的。
?n &&得到n=6
昨晚 19:59
王咸美
Rank: 1
等 级:新手上路
帖 子:821
专家分:3
注 册:2018-1-4
收藏
得分:0 
感谢+抱歉,分数有限实在分不开,不少指点我的人没有得到分数,实在不好意思,多谢了!!!
昨晚 20:04
王咸美
Rank: 1
等 级:新手上路
帖 子:821
专家分:3
注 册:2018-1-4
收藏
得分:0 
@sam_jiang 这个方法好!
昨晚 20:07
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10794
专家分:43364
注 册:2014-5-20
收藏
得分:0 
以下是引用csyx在2025-10-22 16:09:05的发言:


这句:DO WHILE SYS(2600,p,1) != 0h00
改成:DO WHILE !(SYS(2600,p,1) == 0h00)

用改后循环在一台xp上运行了30次,只遇到一次提取失败

在自己本本VM虚拟机上安装个xp,用改后循环运行100次,无失败
两台机的 set('exact') 默认设置均为 ON

应该与XP关系不大。
可能是SYS(2600)抛出的异常,用指针操作要谨慎。

不清楚vfp调用API按“@字符串”作为字符串in/out参数的内部处理方法是怎样,每次调用“@字符串”后这个“字符串”的内存分配应该是变动的。

或者可以这样试试看还会不会出错:每次获取字符串指针都要重新定义字符串buffer
        buffer = REPLICATE(0h00,256)        
        p  = strcpy(@buffer, arr[i])

最好的方法应该是先分配一块堆内存块作为字符串buffer,这样得到的buffer指针是固定不变的。

执行 SYS(2600) 前也可以先调用相关api检测:
   IsBadCodePtr()
   IsBadReadPtr()
   IsBadWritePtr()
   IsBadStringPtrA()


昨晚 21:59
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2291
专家分:4774
注 册:2012-2-29
收藏
得分:0 
回复 44楼 sam_jiang
7 小时前
hsfisher
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:152
专家分:122
注 册:2009-4-26
收藏
得分:0 
学习了
5 小时前
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:431
专家分:143
注 册:2015-4-18
收藏
得分:0 
回复 47楼 吹水佬
原来原来如此,学习了
5 小时前
快速回复:如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021311 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved