清华大学出版社 TSINGHUA UNIVERSITY PRESS 第9章报表设计
第9章 报 表 设 计
清华大学出版社 TSINGHUA UNIVERSITY PRESS 91打印基础 T0 PRINTER打印命令 LIST| DISPLAY STRUCTURE T0 PRINTER8&打印当前表的结构 LIST DISPLAY TO PRINTER &&打印当前表的内容 LIST DISPLAY MEMORY TO PRINTER &&打印当前的变量和数组内容 LIST DISPLAY STATUS TO PRINTER &&打印VFP环境状态 DIR TO PRINTER &&打印当前目录中表的名字 TYPE<文件名.扩展名>T0 PRINTER &&打印 ASCII字符文件的内容 字符串打印命令:???<字符表达式> 定向输出打印 定向命令 流式定向: SET PRINTER ON|OFF 格式定向: SET DEVICE T0 SCREEN|T0 PRINTER|T0FILE〈文件名〉 打印输出命令: SET PRINTER T0[<文件名>[ ADDITIVE]|<打印端口为 图形打印命令 @<行,列>SAY<位图文件名> BITMAP|<通用型字段名>[ ISOMETRIC I STRETCH SIZE<数值表达式1>,数值表达式2 NOWAI门
TO PRINTER 打印命令 LIST|DISPLAY STRUCTURE TO PRINTER && 打印当前表的结构 LIST|DISPLAY TO PRINTER && 打印当前表的内容 LIST|DISPLAY MEMORY TO PRINTER && 打印当前的变量和数组内容 LIST|DISPLAY STATUS TO PRINTER && 打印VFP环境状态 DIR TO PRINTER && 打印当前目录中表的名字 TYPE <文件名.扩展名> TO PRINTER && 打印ASCII字符文件的内容 字符串打印命令:???<字符表达式> 定向输出打印 定向命令 流式定向: SET PRINTER ON | OFF 格式定向: SET DEVICE TO SCREEN | TO PRINTER | TO FILE <文件名> 打印输出命令: SET PRINTER TO [<文件名> [ADDITIVE] | <打印端口>] 图形打印命令 @<行,列> SAY <位图文件名> BITMAP | <通用型字段名> [ISOMETRIC | STRETCH] [SIZE <数值表达式1>,<数值表达式2>] [NOWAIT] 9.1 打印基础
清华大学出版社 TSINGHUA UNIVERSITY PRESS 92传统的报表打印设计 初始处理 打印表头 「打印顶线 主要设备价格表 打印标题栏 编号名称价格 016-1车床 62044.61 所有行处理完吗? 016-2车床 27132.73 打印行间隔线 打印底线 037-2麼床 241292.12 100-1微机 8810.00 [打印一行内容 打印表尾 制表部门:设备科 结束处理 图9.6传统的报表打印流程 图97主要设备的价格
9.2 传统的报表打印设计 图 9.6 传统的报表打印流程 图 9.7 主要设备的价格
[例9-2打印如图9.7所示的芏要设备价格表 k E9-2 PRG * SET DEVICE TO PRINTER &&若要打印去掉行首的*号 zt="FONT’宋体’,12 &&为宏代换设置内存变量 0,9SAY’主要设备价格表’FONT’黑体’,16 &&设置表头 @2.0 SAY &zt&&设置顶线 @3O SAY 编号|名称丨价格 &zt&&设置标题栏 UsE sb SCAN FOR主要设备 @i.O SAY ’&zt&&设置行间隔线 @i+1,0SAY’|’+ SPACE(1)+编号+’|’+名称+’|’+STR(价格,10,2)+'|’&zt &&设置一行内容 i=i+2 ENDSCAN @L0 SAY &zt&&设置底线 @i+1,20SAY’制表部门:设备科FONT’宋体’,10 &&设置表尾 SET DEVICE TO SCREEN &&结束处理 SET PRINTER TO LPTI &&若要打印去掉行首的*号
[例9-2] 打印如图9.7所示的主要设备价格表。 * E9-2.PRG * SET DEVICE TO PRINTER && 若要打印去掉行首的*号 zt= "FONT '宋体',12" && 为宏代换设置内存变量 @0,9 SAY '主要设备价格表' FONT '黑体',16 && 设置表头 @2,0 SAY '┌───┬────┬─────┐' &zt && 设置顶线 @3,0 SAY '│编 号│ 名 称 │ 价 格 │' &zt && 设置标题栏 USE sb i=4 SCAN FOR 主要设备 @i,0 SAY '├───┼────┼─────┤' &zt && 设置行间隔线 @i+1,0 SAY '│'+SPACE(1)+编号+'│'+名称+'│'+STR(价格,10,2)+'│' &zt && 设置一行内容 i=i+2 ENDSCAN @i,0 SAY '└───┴────┴─────┘' &zt && 设置底线 @i+1,20 SAY '制表部门: 设备科' FONT '宋体',10 && 设置表尾 SET DEVICE TO SCREEN && 结束处理 * SET PRINTER TO LPT1 && 若要打印去掉行首的*号
9.3报表设计器的基本操作 A UNIVERSITY尸RESS 打开报表设计器窗口 MODIFY REPORT<报表文件名> 快速制表 报表菜单中的快速报表命令 [例9-3]利用快速制表功能为SB.DBF设计一张包括编号 名称和价格3栏的报表。 (1)打开报表设计器窗口:往命令窗口键入命令 MODIFY REPORT SBJGB,使屏 幕上出现报表设计器窗口(参阅图9.12)。 (2)设置数据源:在报表设计器窗口击右键,在快捷菜单中选定数据环境命 令,在数据环境设计器窗口中添加SB表。 (3)启动快速制表:选定报表设计器窗口,然后在报表菜单中选定快速报表 命令,使出现如图9.11所示的快速报表对话框。 (4)设置快速报表属性:选定快速报表对话框的字段按钮,在字段选择器对 话框(图略)中依次选岀编号、名称和价格等3个字段,选定确定按钮返回快速报表 对话框。选定确定按钮返回报表设计器窗口。 (5)保存报表定义:选定文件菜单的保存选项,将产生报表文件 SBJGB.FRX及 其备注文件 SBJGB.FRT
9.3 报表设计器的基本操作 打开报表设计器窗口 MODIFY REPORT <报表文件名> 快速制表 报表菜单中的快速报表命令 [例9-3] 利用快速制表功能为SB.DBF设计一张包括编号、 名称和价格3栏的报表。 (1) 打开报表设计器窗口:往命令窗口键入命令MODIFY REPORT SBJGB,使屏 幕上出现报表设计器窗口(参阅图9.12)。 (2) 设置数据源:在报表设计器窗口击右键,在快捷菜单中选定数据环境命 令,在数据环境设计器窗口中添加SB表。 (3) 启动快速制表:选定报表设计器窗口,然后在报表菜单中选定快速报表 命令,使出现如图9.11所示的快速报表对话框。 (4) 设置快速报表属性:选定快速报表对话框的字段按钮,在字段选择器对 话框(图略)中依次选出编号、名称和价格等3个字段,选定确定按钮返回快速报表 对话框。选定确定按钮返回报表设计器窗口。 (5) 保存报表定义:选定文件菜单的保存选项,将产生报表文件SBJGB.FRX及 其备注文件SBJGB.FRT