| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 805 人关注过本帖
标题:如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
只看楼主 加入收藏
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:814
专家分:3249
注 册:2018-3-13
收藏
得分:0 
以下是引用sam_jiang在2025-10-22 19:59:12的发言:
为了避免中英文逗号问题,可以考虑在alines函数中同时使用中英文的“,”
FOR i=1 TO ALINES(arr,tb.支出明细,5,",",",")
这样无论是中文的英文的都可以了。

此法处理中文虽简单,却不安全,需视使用场景而定
试试:? ALines(arr, "郑琯芸,祝琣远", ",",",")



[此贴子已经被作者于2025-10-23 20:29编辑过]


这家伙很懒,啥也没留下
6 天前 20:13
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10804
专家分:43403
注 册:2014-5-20
收藏
得分:0 
以下是引用csyx在2025-10-23 20:13:46的发言:

此法处理中文虽简单,却不安全,需视使用场景而定
试试:? ALines(arr, "郑琯芸,祝琣远", ",",",")

单字节字符串函数处理双字节字符串就有可能存在这类风险。
如:
? AT(",", "郑琯芸")   


6 天前 21:17
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1030
专家分:1564
注 册:2021-10-13
收藏
得分:0 
我去,还有例外情况?
4 天前 09:47
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1030
专家分:1564
注 册:2021-10-13
收藏
得分:0 
中文逗号“,”是chr(163)+chr(172);"郑琯"是chr(214)+chr(163)+chr(172)+chr(103);

看来alines()遍历字符串是逐个字符的,不是按双字节遍历的。。。

当然用 ? AT(",", "郑琯芸")  是不对的,应该用?at_c(",","郑琯芸") &&结果为零。

看来需要自定义一个alines_c 函数,以便完成对中文字符的搜索! 或者在使用alines之前,先对字符串进行预处理,把中文","改成英文逗号"," ?CHRTRANC(cstr,",",",") &&在变量cstr中用英文逗号替换所有中文逗号


3 天前 22:41
快速回复:如何由 开支明细帐.dbf 动态生成 开支统计表.dbf
数据加载中...
 
   



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

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