这里有一个小函数,赋值前调用一下即可。我这里函数名为gf_rowscode(),其实随便你起什么名字都可以。
调用示例:
dw_1.object.xh[ll_i] = gf_rowscode(String(ldst_data.object.xh[ll_j]),8))
就是每行显示8个字符,超过的部分自动折行
以下函数在pb8.0.4下测试通过
//-------------------------------------------------------------------------//
//函数名称:gf_rowscode()
//功能描述:在源字符串中插入换行符,用于打印或显示时对连续字母或数字自动换行
//参数: as_str string 源字符串
// ai_n integer 每行显示的字母个数
//返回值: string 插入换行符的字符串
//-------------------------------------------------------------------------//
string ls_newstr
integer li_i,li_len,li_asc,li_t
If len(as_str) <= ai_n Then
ls_newstr = as_str
Else
li_len = len(as_str)
for li_i = 1 to li_len
li_asc = asc(midw(as_str,li_i,1))//这里用midw而不是mid,是因为pb8中mid按字节取,midw按字符取,用midw可以避免把双字节字符分开而造成乱码
If li_asc < 0 then li_asc = li_asc + 65536
If li_asc > 255 then
li_t = li_t + 2
Else
li_t = li_t + 1
End If
ls_newstr += (midw(as_str,li_i,1))
If li_t > ai_n Then
ls_newstr += "~n"
li_t = 0
End if
next
End If
return ls_newstr