注册 登录
编程论坛 VFP论坛

请教Thisform.Edit1.Value跟Chrtranc()、chr(0)、中文逗号有什么关系,怎么会死了呢?

wxzd123 发布于 2022-04-21 16:36, 1350 次点击
zf1=Chrtranc('第一个字符串,第一行\,第二行’,'\ ','')   && 这个“串,第”是中文逗号
zf2=Chrtranc('第第二个字符串,第一行\,第二行’,'\ ','')
Thisform.Edit1.Value=zf1+Chr(0)+Chr(13)+zf2
上面代码运行像死机一样。
以下代码能正常运行

&&交换位置Chr(13)+Chr(0)
zf1=Chrtranc('第一个字符串,第一行\,第二行’,'\ ','')   && 这个“串,第”是中文逗号
zf2=Chrtranc('第第二个字符串,第一行\,第二行’,'\ ','')
Thisform.Edit1.Value=zf1+Chr(13)+Chr(0)+zf2   

去掉函数Chrtranc()
zf1='第一个字符串,第一行\,第二行’   && 这个“串,第”是中文逗号
zf2='第第二个字符串,第一行\,第二行’
Thisform.Edit1.Value=zf1+Chr(0)+Chr(13)+zf2
把"串,第"中间中文逗号,改成英文逗号
zf1=Chrtranc('第一个字符串,第一行\,第二行’,'\ ','')   && 这个“串,第”是中文逗号
zf2=Chrtranc('第第二个字符串,第一行\,第二行’,'\ ','')
Thisform.Edit1.Value=zf1+Chr(0)+Chr(13)+zf2
请老师解答,谢谢  
8 回复
#2
fyyylyl2022-04-21 17:23
只有本站会员才能查看附件,请 登录
圈中字符为全角
#3
fyyylyl2022-04-21 17:33
只有本站会员才能查看附件,请 登录
#4
wxzd1232022-04-21 18:51
不是
#5
wxzd1232022-04-21 18:53
要是全角都不好用了,那里字符只是例子,是来自表的字段

[此贴子已经被作者于2022-4-21 19:14编辑过]

#6
吹水佬2022-04-21 19:18
chr(0)出现在editbox里有什么作用?
#7
wxzd1232022-04-21 19:52
版主我也不太明白,换行就一直两个连用Chr(0)+Chr(13)
#8
ccb20002022-04-25 12:54
这是vfp9的bug,请参考:
http://
[BUG/PRB.] VFP 9.0 FIX - EDITBOX CONTROL ENTER AN INFINITE LOOP
#9
cssnet2022-04-25 16:45
以下是引用wxzd123在2022-4-21 19:52:30的发言:
版主我也不太明白,换行就一直两个连用Chr(0)+Chr(13)


回车换行 = chr(13)+chr(10)
*或更简洁地:
回车换行 = 0h0D0A

在VFP中,除非调用C库,一般不会用到Chr(0)(事实上,在字符串加密时,我们总会竭尽全力地优化算法,以避免字符串中出现Chr(0)值!)!


[此贴子已经被作者于2022-4-25 16:49编辑过]

1