datawindow自动换行打印,需结合该函数一起使用
2013-06-19 15:39
323 查看
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.增加函数
global type f_newline from function_object
end type
forward prototypes
global function string f_newline (string as_string, integer ai_charnum)
end prototypes
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//奇偶
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//原始字串
long j,jcnt
jcnt=Ceiling(len(as_string)/ai_charnum)//分成几段,
ls_str2=""
//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)
else
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
next
return ls_doc
end function
3.-----------------------------------
增加计算列 f_newline(字段,10)//10为一行想的字符过数
具体步骤如下:
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.增加函数
global type f_newline from function_object
end type
forward prototypes
global function string f_newline (string as_string, integer ai_charnum)
end prototypes
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//奇偶
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//原始字串
long j,jcnt
jcnt=Ceiling(len(as_string)/ai_charnum)//分成几段,
ls_str2=""
//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)
else
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
next
return ls_doc
end function
3.-----------------------------------
增加计算列 f_newline(字段,10)//10为一行想的字符过数
相关文章推荐
- 实时监控文件夹应用(WinForm 中通过结合windowsService一起使用)
- 对模板新的理解 ----- 模板和虚函数结合使用的新发现
- SYD8801 UART使用说明【uart轮发数据代码实现】【 uart中断发数据代码实现】【RFSleep函数对串口的影响】【中断中调用串口打印函数有可能会造成死机】
- C++ - 使用copy函数打印容器(container)元素
- AcceptEx函数与完成端口的结合使用例子
- 跟我一起写 Makefile(7)使用函数
- 阿里云API网关、函数计算、表格存储简单结合使用小结
- over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用
- 函数嵌套和函数名作参数结合使用
- 关于PHP程序使用file_get_content()函数进行抓取PHP程序与smarty结合编译过程中产生的静态文件,抓取不了?连接超时?(地址映射)
- 与jquery serializeArray()一起使用的函数,主要来方便提交表单
- select三级联动结合jquery的chosen.jquery.js 插件一起使用原创案例
- 合计函数无法和where条件一起使用
- mysql查询分组归类函数-group_concat,通常与group_by一起使用
- 开发驱动时用到的内核打印函数KdPrint 的使用方法
- FastReport.net分组排序、打印顺序、分页、函数使用语法、数据块编辑
- 使用vs2008结合codesoft来实现条形码的打印
- 关于PHP程序使用file_get_content()函数进行抓取PHP程序与smarty结合编译过程中产生的静态文件,抓取不了?连接超时?(地址映射)
- 跟我一起写Makefile(15)--使用make更新函数库文件(函数库文件的成员+函数库成员的隐含规则+函数库文件的后缀规则)
- 函数的使用——根据传入的值,打印出相应的矩形。