第9章 输入输出格式设计
9.1.2建立屏幕格式文件
用户设计的屏幕格式, 可存放在屏幕格式文件中。 需 要时, 打开此文件以供使用。 1. 建立屏幕格式文件 屏幕格式文件实际上是一种特殊的命令文件 , 它只能
由 @ 语句 , 注释语句 , CLEAR 语句组成。
MODIFY COMMAND命令建立之。
因此 , 可用
命令格式: MODIFY COMMAND 〈屏幕格式文件名〉
这两条命令完全等价。 命令中的〈文件名〉的默 认扩展名为 .LBX。
第9章 输入输出格式设计
〈文件名〉/?: 若选择了〈文件名〉, 则建立(若无此
文件)一个标签文件, 或编辑( 若已有此文件)一个标签文件; 若选择了?, 则显示现 存标签文件, 用户可选择一个进行编辑, 也可键入一个 新标签文件名予以建立。 执行这两条命令时, 将打开一个标签编辑窗口如图 9 — 2。
因而不可能利用打印机来编辑变量值。
命令格式: @〈行, 列〉SAY子句 打印机格式设计命令即为屏幕输出格式设计命令。 在使用中, 应注意:
第9章 输入输出格式设计
① 几个@命令连用时, 后面的@命令的坐标值不能 小于前面@命令的坐标值。 换页。 ② 命令中宜采用打印机当前行坐标函数 PROW( ) 和当前列坐标函数PCOL( )。 例如: 否则, 将引起打印机走纸
第9章 输入输出格式设计
图 9 — 2 标签编辑窗口
第9章 输入输出格式设计
该窗口中显示了系统默认的标签布局数据。
Margin: 左页边空白列数。 初始值为 0, 选择范围 为 0~220。 Height: 标签高度。 初始值为 5, 选择范围为 1~255。 Lines Between: 上、 下标签间的行距。 初始值为
@ 7,60 SAY “月工资” GET 工资
第9章 输入输出格式设计
2. 屏幕格式文件的使用 (1) 打开屏幕格式文件。 使用屏幕格式文件时, 首 先应把它打开。 命令格式: SET FORMAT TO 〈格式文件名〉/? 在缺省扩展名时, 系统默认为 .FMT。
(2) 屏幕格式文件的使用。 被打开的格式文件可供
为当前打开库文件中符合要求的记录制作标签。
若缺省〈范围项〉, 则等价于ALL。 FORM〈标签文件名〉/?: 不带此项时, 等同于此项 为?。 此时, 将显示已有的标签文件, 供用户选择; 若本 项为FORM〈标签文件名〉, 则用户指定了该标签文件。
第9章 输入输出格式设计
9.3.3 打印标签实例 以“职工.DBF”库文件为例, 为每个职工制作一个标 签。 1. 建立标签格式文件“GZBQ.LBX” 首先打开库文件“职工.DBF”:
SET DEVICE TO PRINTER使DEVICE为打印机。 SET DEVICE TO FILE〈文件名〉使 DEVICE 为 〈文件名〉规定的文件。
第9章 输入输出格式设计
当DEVICE为SCREEN时, @命令结果只在屏幕显示。 当DEVICE 为PRINTER时, @命令结果只送打印机
示格式由屏幕格式文件“F.FMT”规定。
下: 职工情况输入表 职工姓名 出生时间 王爱民 10/05/39 职工号 1004
本例显示如
性别
男
婚否
T
职称
技师 月工资 128.34
第9章 输入输出格式设计
例3
G8.PRG程序如下:
USE 职工 SET FORMAT TO F APPEND 执行后, 屏幕显示如下:
〈字符表达式1〉 ][RANGE[〈表达式2〉]
[, 〈表达式3〉]][VALID 〈条件1〉] [ERROR 〈 2〉][WHEN 〈条件2〉]
第9章 输入输出格式设计
3. READ命令的常用格式
命令格式 : READ [ ACTIVATE 〈条件 1 〉] [DEACTIVATE〈条件 2〉] [VALID〈条件 3〉][WHEN〈条件 4〉] ACTIVATE: 一执行 READ 命令, 首先要判断
@PROW( ), PCOL( ) SAY “职工”
③ 为避免行坐标超长, 打印机走纸, 并方便调试, 在 不使用PICTURE〈短语〉情况时, 用“?”和“??”命 令为佳。
第9章 输入输出格式设计
9.2.3 利用打印机格式设计命令设计输出报表实例 实际的应用系统中, 常常需要大量的报表, 其中尤
第9章 输入输出格式设计
READ
SKIP ENDDO 执行此程序时, 将对“职工.DBF”的所有记录逐一 按设计的格式在屏幕上显示修改。 第一记录的编辑格
式如下:
职工情况输入表 职工姓名 出生时间 婚否 胡一民1 01/30/60 T 职称 助工 月工资 85.00 职工号 1002 性别 男
第9章 输入输出格式设计
输出。
当DEVICE为〈文件名〉规定的文件时, @命令结果 只送至此文件。 此命令只对@命令有效。 而SET PRINTER命令和 ^P只对其它输出命令生效。
第9章 输入输出格式设计
9.2.2 打印机输出格式设计命令 打印机输出虽然与屏幕输出类似, 但两者有着本质 的差别: 打印机不能从当前位置回跳到它前面的位置去 输出。 例如, 当打印机处在第二行上时, 再想使打印机 回到第一行去打印输出数据将引起打印机的走纸换页。
第9章 输入输出格式设计
9.1 用@命令建立屏幕格式文件
9.1.1设计屏幕输入格式 @命令和READ命令配套, 可设计出各种屏幕输入 格式。
例 根据表 9 — 1, 设计一个屏幕输入格式, 来修改
“职工.DBF”库文件内容。
第9章 输入输出格式设计
程序如下: CLEAR @ 1, 35 SAY[KG*2]“职工情况输入表” USE职工 DO WHILE .NOT .EOF( ) @ 3,20 SAY “职工姓名” GET 姓名 @ 3,40 SAY “职工号” GET 职工号 @ 3,60 SAY “性别” GET 性别 @ 5,20 SAY “出生时间” GET 出生日期 @ 7,20 SAY “婚否” GET 婚否 @ 7,40 SAY “职称” GET 职称 @ 7,60 SAY “月工资” GET 工资
USE 职工 键入建立标签格式文件命令:
CREATE LABEL GZBQ 命令执行后, 屏幕上将打开标签编辑窗口。 Number Across为 3。 通过 Tab键, 重新定义标签宽度Width为 20; 横向打印标签数
第9章 输入输出格式设计
2. 输出标签 USE 职工
LABEL FORM GZBQ TO PRIN
〈条件 1〉。 若为 .T., 则执行READ; 若为 .F., 不执
行。 〈条件 1〉一般由用户自定义函数组成。 DEACTIVATE〈条件 2〉: 当用户企图改变当前 READ窗口时, 将判别〈条件 2〉。 若为 .T., 则允许改 变; 若为 .F., 则不允许改变。
第9章 输入输出格式设计
但应注意, 此命令的默认扩展名为 .PRG, 而屏幕格式
文件的系统默认扩展名为 .FMT 或 .PRX。 当然, 也可用操作系统的编辑软件建立之。
第9章 输入输出格式设计
例1 屏幕格式文件“F.FMT”如下: @ 3,20 SAY “职工姓名” GET 姓名 @ 3,40 SAY “职工号” GET 职工号 @ 3,60 SAY “性别” GET 性别 @ 5,20 SAY “出生时间” GET 出生日期 @ 7,20 SAY “婚否” GET 婚否 @ 7,40 SAY “职称” GET 职称
为左上角, 直至桌面, 或FoxPro主窗口或用户自定义窗口右
下角的一个矩形的全部内容。 (4) @ 〈行, 列〉CLEAR TO 〈行, 列〉。 此命令将清 除以两个坐标点为对点的一个方框。
第9章 输入输出格式设计Biblioteka 9.2 打印机输出格式设计命令
9.2.1 控制@命令输出去向的命令——SET DEVICE
命令格式: CLEAR GETS
功能: 在某CLEAR GETS命令后的READ命令, 不去 编辑在此CLEAR GETS命令前的@命令给出的变量值。
第9章 输入输出格式设计
3. 利用屏幕格式设计命令清除部分屏幕 (1) @ 〈行, 列〉。 执行该命令后, 把在规定行上, 从 规定列开始的内容全部清除。 (2) @ 〈行, 0〉。 该命令将清除规定行上的全部内容。 (3) @ 〈行, 列〉CLEAR。 此命令将清除掉以〈行, 列〉
此时, 用户可通过窗口编辑键对以上数据重新定义, 定义好后, 按^W存盘。
第9章 输入输出格式设计
9.3.2 标签输出命令—— LABEL 命令常用格式: LABEL[FORM〈标签文件名〉/?] [FOR〈条件 1〉][WHILE 〈条件 2〉][〈范围〉][TO PRINTER] 本命令将按照指定标签文件所规定的格式和内容 ,
职工姓名 职工号 性别
出生时间 / / 婚否 ? 职称 月工资
打开了屏幕格式文件后, 将改变一些全屏幕编辑命 令的显示格式, 但不影响这些命令的功能和执行过程。
第9章 输入输出格式设计
(3) 关闭屏幕格式文件。 屏幕格式文件使用完后, 应及时使用关闭命令关闭。 命令格式: CLOSE FORMAT或SET FORMAT TO&&无任选项
在 9.1 节中, @命令的执行结果只能在屏幕上显示,
即使接通打印机控制键“ ^P ”也不能把结果送打印机 打印。 SET DEVICE命令可决定@命令的输出去向。 命令格式: SET DEVICE TO SCREEN/PRINTER/FILE〈文件名〉。
SET DEVICE TO SCREEN使DEVICE为屏幕。
可以由标准格式符或功能符组成。
〈短语〉
第9章 输入输出格式设计
2. 屏幕输入格式设计命令的常用格式 命令格式: @〈行, 列〉[SAY子句]GET〈变 量名〉[FUNCTION〈功能符〉] [ PICTURE 〈短语〉][ DEFAULT 〈表达式 1 〉] [ENABLE/DISABLE] [MESSAGE