1.设置函数
具体步骤以下:
1) 在DataWindow Painter中打开此DataWindow对象。
2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口。
3) 选择Position标签, 选中Autosize Height 多选框。
4) 选择Edit标签, 不选中Auto Horz Scroll多选框。
5) 单击OK按钮, 保存所作的修改。
6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项。
7) 选中Autosize Height多选框。
8) 单击OK按钮, 保存所作的修改。
9) 保存此DataWindow。
2.增长函数prototype
global type f_newline from function_object
end type对象
forward prototypes
global function string f_newline (string as_string, integer ai_charnum)
end prototypesci
global function string f_newline (string as_string, integer ai_charnum);//功能:将字符串转换为换行文本
//参数:as_string 待转换字符串
// ai_charnum 每行字符数
//两个英文算一个字符,一个汉字两个字符字符串
//3.a一二三四五六七八九a一二三四五六七八九十
//2.一二三四五六七八九十
//3.ab一二三四五六七八九
string ls_doc = ""
long li_je//奇偶string
long i, ll_strlen
int li_asc, li_ascnum, li_endchar=0, li_add =0
li_ascnum=0
string ls_left_str,ls_allstring
string ls_str1,ls_str2
ls_allstring=as_string//原始字串it
long j,jcnt
jcnt=Ceiling(len(as_string)/ai_charnum)//分红几段,
ls_str2=""io
//messagebox("分隔",string(jcnt))
for j=1 to jcnt//分红n段
li_ascnum =0
ls_left_str=left(as_string,ai_charnum)//取左边部分
//判断该串中有多少个ascii字符
for i=1 to ai_charnum
if Asc (mid(ls_left_str,i,1))<=126 then li_ascnum ++
next
//若是为奇数
li_je=mod(li_ascnum,2)
if li_je=1 then //若是为奇数,ai_charnum+1
ls_left_str=left(as_string,ai_charnum+1)
as_string=mid(as_string,ai_charnum +2,len(as_string)-ai_charnum -1)
elsefunction
ls_left_str=left(as_string,ai_charnum)
as_string=mid(as_string,ai_charnum +1,len(as_string)-ai_charnum)
end if
if len(ls_doc)<=0 then
ls_doc=ls_left_str+" "
else
ls_doc=ls_doc+ls_left_str+" "
end if
nextobject
return ls_doc
end function
3.-----------------------------------
增长计算列 f_newline(字段,10)//10为一行想的字符过数