清华大学出版社 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 &&打印当前目录中表的名字 TYPET0 PRINTER &&打印 ASCII字符文件的内容 字符串打印命令:??? 定向输出打印 定向命令 流式定向: SET PRINTER ON|OFF 格式定向: SET DEVICE T0 SCREEN|T0 PRINTER|T0FILE〈文件名〉 打印输出命令: SET PRINTER T0[[ ADDITIVE]|SAY BITMAP|[ ISOMETRIC I STRETCH SIZE,数值表达式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 ,] [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
清化大县品之 写快速报表 SNY PRESS 字段布局 2[ 确定 取消 标题 字段①) 添加别名A) 将表添加到数据环境中 图9.12设备价格表 报表设计器 图9.11快速报表对话框 报表设计器- sagb. frx 回冈 0 0号 名称 价格 页标头 0号 称_价格二 细节 0DATEO △页注脚
图9.11 快速报表对话框 图9.12 设备价格表 报表设计器
清华大学出版社 TSINGHUA UNIVERSITY PRESS 页面预览 Visual foxpro 最C)显示格式@)工具①)程序P)报表③)窗口)帮助0 设计) 预览) 报表设计器sfx页面1 口K 数据环境() 打印预 报表控件工具栏L 号名标 价裕 016-1 车床 62044.61 布局工具栏 016-2 车床 27132.73 调色板工具栏 037-2 磨床 241292.12 √报表预览工具栏) 038-1 钻床 275.00 网格线(G) 100-1 微机 8810.00 101-1 复印机 10305.01 100% 显示应置) 210-1 轿车 151000.00 工具栏℃) 图913预览窗口与打印预览工具栏
页面预览 图9.13 预览窗口与打印预览工具栏
清华大学出版社 TSINGHUA UNIVERSITY PRESS 命令方式打印报表 REPORT FORM ENVIRONMEN[范围习[OR|IN SCREENI NOWAITII TOPRⅠ NTER PROMP|TOFE ASCII SUMMARY
命令方式打印报表 REPORT FORM [ENVIRONMENT] [] [FOR ] [HEADING ] [NOCONSOLE] [PLAIN] [RANGE 开始页 [,结束页]] [PREVIEW [[IN] WINDOW | IN SCREEN] [NOWAIT]] [TO PRINTER [PROMPT] | TO FILE [ASCII]] [SUMMARY]
94报表设计器的高级操作 UNIVERSITY尸RESs 页面设置 图9.15页面设置对话框 页面设置 页面布局 列 确定 列数 取消 宽度:3.5000 打印设置) 间隔:|0.2000 打印顺序 打印区域 G可打印页¢ C整页 左页边距:80 单位英寸
9.4 报表设计器的高级操作 页面设置 图 9.15 页面设置对话框
清华大学出版社 TSINGHUA UNIVERSITY PRESS 设计报表带区 表91报表带区的建立及作用 带区名称 带区产生与删除 控件打印周期 控件打印位置 标题 报表菜单的标题/总结命令 整套报表一次最先,可占一页 页标头默认存在 每页一次 标题后,页初 列标头用文件菜单的页面设置命令设置列数每列一次 页标头后 组标头报表菜单的数据分组命令 每组一次 页标头、组标头或组注脚后 细节 默认存在 每记录一次页标头或组标头后 组注脚报表菜单的数据分组命令 每组一次 细节后 列注脚用文件菜单的页面设置命令设置列数每列一次 页注脚前 页注脚默认存在 每页一次 页末 总结 报表菜单的标题/总结命令 整套报表一次组注脚后,可占一页
设计报表带区 表9.1 报表带区的建立及作用 带区名称 带区产生与删除 控件打印周期 控件打印位置 标题 报表菜单的标题/总结命令 整套报表一次 最先,可占一页 页标头 默认存在 每页一次 标题后,页初 列标头 用文件菜单的页面设置命令设置列数 每列一次 页标头后 组标头 报表菜单的数据分组命令 每组一次 页标头、组标头或组注脚后 细节 默认存在 每记录一次 页标头或组标头后 组注脚 报表菜单的数据分组命令 每组一次 细节后 列注脚 用文件菜单的页面设置命令设置列数 每列一次 页注脚前 页注脚 默认存在 每页一次 页末 总结 报表菜单的标题/总结命令 整套报表一次 组注脚后,可占一页