好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第7章程序设计基础.ppt

147页
  • 卖家[上传人]:博****1
  • 文档编号:587978184
  • 上传时间:2024-09-07
  • 文档格式:PPT
  • 文档大小:1.19MB
  • / 147 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第7 7章章 程序设计基础程序设计基础 福建农林大学东方学院 7.1 7.1 命令格式命令格式•由两部分组成由两部分组成–命令动词,表示应执行的操作命令动词,表示应执行的操作–若干个短语,对操作提供某些限制性若干个短语,对操作提供某些限制性说明•一般格式如下:一般格式如下: 命令动词命令动词 短语短语–如:如:copy to aa for copy to aa for 性别性别= =“男男” 命令书写的规则命令书写的规则•命令以命令动词开头命令以命令动词开头•用用空格空格来分隔各单词短语来分隔各单词短语•命令的最长是命令的最长是254254个字符,用分行符;分行个字符,用分行符;分行•命令动词和关键字可以缩写为前四个字符命令动词和关键字可以缩写为前四个字符–如如 MODIFY STRUCTURE MODIFY STRUCTURE 可写为可写为 MODI STRU MODI STRU •不分大小写,可以混合使用不分大小写,可以混合使用•变变量量名名、、字字段段名名和和文文件件名名时时,,应应避避免免与与命命令令动词和关键字同名,以免运行时发生混乱动词和关键字同名,以免运行时发生混乱 与表有关的命令与表有关的命令•与表有关的命令格式:与表有关的命令格式: 命令动词命令动词 [ [范围范围] ] FOR< FOR<条件条件> > [FIELDS < [FIELDS <字段名表字段名表>]>] 命命令令中中的的 FORFOR、、FIELDSFIELDS是是关关键键字字,,用用户户不不得随意更改。

      得随意更改 •约定:约定:[ ][ ]表示可选项表示可选项, ,不选用使,系统自动使用默认值不选用使,系统自动使用默认值< >< >表示必选项表示必选项< <范围范围> >:表示对表记录操作的范围:表示对表记录操作的范围ALL ALL 表示全体记录表示全体记录NEXT N NEXT N 当前记录开始后续共计当前记录开始后续共计 N N 个记录个记录RECORD N RECORD N 特指第特指第 N N 号记录 REST REST 从当前记录开始到表尾的所有记录从当前记录开始到表尾的所有记录FORFOR〈〈条件条件〉〉 选择操作选择操作FIELDS > 投影操作投影操作与表有关的命令与表有关的命令 操作释例操作释例•Go 3•Disp all•Go 2•Disp next 2•Go 3•Disp rest•Go 3•Disp record 5编号 姓名101 张三102 王一103 刘六104 李四105 赵七106 朱八表一Go 1List for 编号>‘101’.and.编号<“105”选择操作Go 1List fields 姓名投影操作 7.2 7.2 数据库的操作命令数据库的操作命令 •常用的操作命令常用的操作命令•包括包括–数据库的建立数据库的建立–打开打开–设置设置–关闭关闭–删除删除 1.1.创建数据库创建数据库–CREATE DATABASE CREATE DATABASE 命令命令•命令格式:命令格式:–CREATE DATABASE CREATE DATABASE [[〈〈数据库名数据库名〉〉|?|?]]•命令功能:用于创建一个数据库命令功能:用于创建一个数据库 说明说明: :(1)(1)数据库名已经存在,则提示新的路径或文件名数据库名已经存在,则提示新的路径或文件名(2)(2)参数参数“? ?”或无参数,弹出对话框,位置及名称或无参数,弹出对话框,位置及名称(3)(3)数数据据库库以以.DBC.DBC为为其其扩扩展展名名,,以以.DCT.DCT为为备备注注文文件件,,索引文件则以索引文件则以.DCX.DCX为扩展名为扩展名(4)(4)该命令以独占方式创建并打开一个数据库该命令以独占方式创建并打开一个数据库例例如如: :创创建建一一个个名名为为t1.dbct1.dbc的的数数据据库库,,并并显显示示有有关关数数据库的信息据库的信息CREATE DATABASE t1 CREATE DATABASE t1 &&创建数据库&&创建数据库t1t1CLEAR CLEAR &&清除屏幕&&清除屏幕DISPLAY DATABASE DISPLAY DATABASE &&显示数据库&&显示数据库t1t1信息信息 2.2.打开数据库打开数据库•用用OPEN OPEN DATABASEDATABASE命命令令打打开开已已经经存存在在的的数数据库据库•命令格式:命令格式:OPEN DATABASE OPEN DATABASE [[〈〈数据库名数据库名〉〉|?|?]]•命令功能命令功能: :–打开一个指定的数据库。

      打开一个指定的数据库•说明说明: : 3.3.设置当前数据库设置当前数据库•SET DATABASE TO SET DATABASE TO 命令命令•命令格式:命令格式:–SET DATABASE TO SET DATABASE TO [[〈〈数据库名数据库名〉〉]]•命令功能命令功能: :–设置当前数据库设置当前数据库 说明:说明:(1)(1)〈〈数据库名数据库名〉〉为当前要打开的数据库名称为当前要打开的数据库名称(2)(2)略名,弹出一个略名,弹出一个‘‘显库显库’’对话框对话框例如:例如:–OPEN DATABASE t1 OPEN DATABASE t1 库库t1.dbct1.dbc–OPEN DATABASE t2 OPEN DATABASE t2 库库t2.dbct2.dbc–DISPLAY DATABASE DISPLAY DATABASE 显示当库显示当库t2.dbct2.dbc的信息的信息–SET DATABASE TO t1 SET DATABASE TO t1 置置t1t1为当前库为当前库–DILPLAY DATABASE DILPLAY DATABASE 显示当库显示当库t1t1的信息的信息–SET DATABASE TO t2 SET DATABASE TO t2 设设t2t2为当库为当库–DISPLAY DATABASE DISPLAY DATABASE 显库显库t2.dbct2.dbc的信息的信息 4.4.关闭数据库关闭数据库命令格式: CLOSE DATABASE [ALL]说明:–ALL用于关闭所有打开的数据库–如果没有指定此参数,则将关闭当前数据库 5.5.删除数据库删除数据库•命令格式:命令格式: DELETE DATABASE DELETE DATABASE 〈〈数据库名数据库名〉〉|? |? [[DELETE TABLESDELETE TABLES][][RECYCLERECYCLE]]说明说明 •要删除的数据库文件必须保证处于非使用状态要删除的数据库文件必须保证处于非使用状态•?弹出一个?弹出一个““删除删除””对话框对话框 •DELETE TABLESDELETE TABLES删除数据库中包含的表和包含这些删除数据库中包含的表和包含这些表的数据库表的数据库•RECYCLERECYCLE文件放入回收站中,可恢复删除的文件文件放入回收站中,可恢复删除的文件•SET SAFETYSET SAFETY的值为的值为ONON,删文件前会提示用户,删文件前会提示用户•SET SAFTYSET SAFTY设置为设置为OFFOFF,,VFPVFP将不做任何提示将不做任何提示 表的操作命令表的操作命令•包括:–创建表–打开一个存在的表–将一个自由表加入到数据库中去–从数据库中移去表–显示表中信息–关闭–删除表 1.1.创建表创建表•命令格式:命令格式: CREATECREATE〈〈数据库表名数据库表名〉〉•命令功能:命令功能:–创建数据库表或自由表创建数据库表或自由表, ,其扩展名为其扩展名为.dbf.dbf–如有数据库打开,则该表是数据库表,且已如有数据库打开,则该表是数据库表,且已加入到该数据库中,否则该表是自由表加入到该数据库中,否则该表是自由表 •例如例如: :新建一个表新建一个表a1,a1,将它包含到数据库将它包含到数据库t1t1中中OPEN OPEN DATABASE t1 &DATABASE t1 &打开数据库打开数据库t1t1 CREATE TABLE a1 CREATE TABLE a1 & &创建表创建表a1.dbf,a1.dbf,将其包含到数据库将其包含到数据库t1t1中中 2.2.将自由表加入到数据库中将自由表加入到数据库中•命令格式:命令格式: ADD TABLEADD TABLE〈自由表名〉〈自由表名〉|?|?•说明说明: : 1 1)〈自由表名〉指定要加入到一个已打开的数)〈自由表名〉指定要加入到一个已打开的数据库中的自由表的名称据库中的自由表的名称 2 2)不指定名称或)不指定名称或 “ “??””作为参数,弹出对话框作为参数,弹出对话框 3 3)表一旦加入到库中,不再是自由)表一旦加入到库中,不再是自由表表 4 4)可以通过)可以通过REMOVE TABLEREMOVE TABLE命令将该表从数据库命令将该表从数据库中移出,使之成为新的自由表中移出,使之成为新的自由表 库中表的一些规定:库中表的一些规定:①①必须是一个有效的必须是一个有效的.DBF.DBF文件文件②②不能与数据库中已存在的表重名不能与数据库中已存在的表重名③③一个表只能属于一个数据库,不能再成一个表只能属于一个数据库,不能再成为其他数据库中的表为其他数据库中的表 3.3.将表从数据库中移出将表从数据库中移出•命令格式:命令格式: REMOVE TABLE REMOVE TABLE 〈〈数据库表名数据库表名〉〉|? |? [[DELETEDELETE][][RECYCLERECYCLE]]•说明:说明:1 1)参数)参数‘‘?’?’或忽略数据库表名时,将打开对话框或忽略数据库表名时,将打开对话框2 2)参数)参数DELETE DELETE 用于指定将表从数据库和磁盘中删除用于指定将表从数据库和磁盘中删除3 3))RECYCLERECYCLE参数参数, ,先放回收站中,不立即删,可恢复先放回收站中,不立即删,可恢复4 4)与表相连的主索引、默认值及有效性规则将被删除)与表相连的主索引、默认值及有效性规则将被删除 5 5)当一个表从数据库中移出时,它将变成一个自由表)当一个表从数据库中移出时,它将变成一个自由表 例如例如•建建2 2个表并加入到库个表并加入到库t1t1中,而后执行删除命令中,而后执行删除命令OPEN DATABASE t1 OPEN DATABASE t1 打开数据库打开数据库CREATE c1 CREATE c1 创建表创建表c1.dbfc1.dbfCREATE c2 CREATE c2 创建表创建表c2.dbfc2.dbfCLEAR CLEAR 清屏幕清屏幕DISPLAY DATABASE DISPLAY DATABASE 显示当前数据库信息显示当前数据库信息REMOVE TABLE c2 REMOVE TABLE c2 移动数据库表移动数据库表c2.dbfc2.dbfCLEAR CLEAR 清屏幕清屏幕DISPLAY DATABASE DISPLAY DATABASE 显示当前数据库信息显示当前数据库信息ADD TABLE c2 ADD TABLE c2 将表将表c2c2添加到当前库中添加到当前库中DELETE DATABASE t1 DELETE DATABASE t1 删除数据库删除数据库t1t1 4.4.显示表的结构显示表的结构命令格式命令格式: :LIST STRUCTURE LIST STRUCTURE [[TO PRINTERTO PRINTER]]| |[[TO FILE TO FILE 〈〈文件名文件名〉〉]]说明说明: :(1)(1)有[有[TO PRINTERTO PRINTER]选项时]选项时, ,将屏幕显示的信将屏幕显示的信息输出到打印机息输出到打印机(2)(2)有[有[TO FILE TO FILE 〈〈文件名文件名〉〉]选项时]选项时, ,将屏幕将屏幕显示的信息输出到指定的文件显示的信息输出到指定的文件 5.5.修改表的结构修改表的结构•命令格式:命令格式: ALT TABLE ALT TABLE 〈〈表名表名〉〉•命令功能命令功能: :–修改表的结构修改表的结构 7.7.输入记录输入记录•表的结构建立,没有数据,是空表表的结构建立,没有数据,是空表•命令格式:命令格式:APPEND APPEND [[BLANKBLANK]]•命令功能命令功能: :从表的末尾追加记录从表的末尾追加记录BLANKBLANK,末尾追加一空记录,不出现,末尾追加一空记录,不出现APPENDAPPEND输入记录窗口输入记录窗口 7.7.打开表打开表•命令格式:命令格式:USE USE [[〈〈表名表名〉〉]]•命令功能命令功能: :打开一个和多个已经存在的表打开一个和多个已经存在的表•说明说明: :[[〈〈表名表名〉〉]用于指定需要打开表的名称]用于指定需要打开表的名称 8.8.关闭表关闭表•命令格式:命令格式: USEUSE CLOSE TABLES CLOSE TABLES [[ALLALL]]•命令功能命令功能: :–USE USE 关闭已打开的表关闭已打开的表–CLOSE TABLES CLOSE TABLES [[ALLALL]可以同时关闭多个表。

      ]可以同时关闭多个表•说明说明: : 及时关闭,从内存上卸下表,以防止操作不当及时关闭,从内存上卸下表,以防止操作不当 ******记录指针定位记录指针定位 •用用RECNO()RECNO()函数函数, ,可测试当前记录指针可测试当前记录指针•绝对指针定位绝对指针定位–命令格式:命令格式:GO GO [[TOTO]] TOPTOPGO GO [[TOTO]] BOTTOMBOTTOMGO GO [[TOTO]] RECORD NRECORD NGO GO [[TOTO]]〈〈数值表达式数值表达式〉〉GO GO [[TOTO]] N N• 命令功能:命令功能:– 使记录指针指向表中的指定记录使记录指针指向表中的指定记录 说明说明•GO TOP GO TOP 定位第一个逻辑记录定位第一个逻辑记录•GO BOTTOM GO BOTTOM 定位最后一个逻辑记录定位最后一个逻辑记录•GO RECORD N GO RECORD N 指针定位到表的指针定位到表的N N号记录号记录•GOGO〈〈数值表达式数值表达式〉〉定到表达式值取整后定到表达式值取整后的记录的记录•GO N GO N 指针定位到指针定位到N N号记录号记录•当选用参数当选用参数N N时,时,GOGO、、TOTO均可省略不写均可省略不写 相对指针转移相对指针转移• 命令格式:命令格式:SKIP SKIP [[+ +//- -〈〈数值表达式数值表达式〉〉]]• 命令功能:命令功能:–相对当前位置按表达式值移动若干个记录相对当前位置按表达式值移动若干个记录–值为正时,指针向后移值为正时,指针向后移–为负值时,指针向前移为负值时,指针向前移–缺省选择项时指针向后移一个记录缺省选择项时指针向后移一个记录•说明:说明:–GOGO绝对定位,定位到所指的记录上绝对定位,定位到所指的记录上–SKIPSKIP是相对定位命令,以当前记录为中心,是相对定位命令,以当前记录为中心,按给定的表达式值相对地移动若干记录按给定的表达式值相对地移动若干记录 记录的显示记录的显示 •两种格式两种格式: :–LIST LIST [[〈〈范围范围〉〉][][FIELDSFIELDS〈〈字段名表字段名表〉〉][][FORFOR〈〈条件条件〉〉][][TO PRINTER TO PRINTER ]] [[OFFOFF][][TO FILETO FILE〈〈文件名文件名〉〉]][[NOCONSOLENOCONSOLE][][NOOPTIMIZENOOPTIMIZE]]–DISPLAY DISPLAY [[〈〈范围范围〉〉][][FIELDSFIELDS〈〈字段名字段名表表〉〉][][FORFOR〈〈条件条件〉〉][][TO P TO P RINTERRINTER][][OFFOFF][][TO FILETO FILE〈〈文件名文件名〉〉]][[NOCONSOLENOCONSOLE][][NOOPTIMIZENOOPTIMIZE]] 说明:说明:•LIST=DISPLAY ALLLIST=DISPLAY ALL显示的全部记录显示的全部记录•[[OFFOFF]时,不显示记录号]时,不显示记录号•有有FORFOR〈〈条件条件〉〉显示出满足条件表达式的记录显示出满足条件表达式的记录•[[FIELDSFIELDS〈〈字段名表字段名表〉〉],显示指定字段],显示指定字段•有[有[〈〈范围范围〉〉],显示指定范围],显示指定范围•[[TO PRINTERTO PRINTER],显示的结果送到打印机输出],显示的结果送到打印机输出•[[TO FILETO FILE〈〈文件名文件名〉〉],结果输出到文件],结果输出到文件•[[NOCONSOLENOCONSOLE],不将显示结果送到主窗口和[],不将显示结果送到主窗口和[TO TO PRINTERPRINTER][][TO FILE TO FILE 〈〈文件名文件名〉〉]一起使用]一起使用•[[NOOPTIMIZENOOPTIMIZE]短语时,不使用]短语时,不使用RUSHMORERUSHMORE优化技术优化技术 差别有两点:差别有两点:•LISTLIST缺省范围是显示全体记录缺省范围是显示全体记录•DISPLAYDISPLAY缺省当前记录缺省当前记录•LISTLIST具有连续显示特点具有连续显示特点•DISPLAYDISPLAY具有分页显示,满一页就停止,具有分页显示,满一页就停止,并提示按任一键继续显示下页内容并提示按任一键继续显示下页内容 例例7.17.1•将将ZGDAZGDA表中职称是讲师的、年龄在表中职称是讲师的、年龄在4545岁以下的岁以下的记录显示出来,并且只列出记录显示出来,并且只列出 姓名、年龄、职姓名、年龄、职称三个字段称三个字段USE ZGDA USE ZGDA LIST FIELDS LIST FIELDS 姓名,年龄,职称姓名,年龄,职称 FOR FOR 职称=职称=““讲师讲师””..ANDAND.年龄.年龄<45<45 【【例例7.27.2】】–将将ZGDAZGDA表的后表的后4 4个记录显示出来个记录显示出来, ,并且将第并且将第1 1和第和第5 5个记录分别显示出来个记录分别显示出来【【例例7.37.3】】–将将ZGDAZGDA表中表中19951995年年1 1月月1 1日以后参加工作的记日以后参加工作的记录显示出来录显示出来【【例例7.47.4】】–将将ZGDAZGDA表的后表的后4 4个记录中性别是女的记录显个记录中性别是女的记录显示出来示出来 7.3 7.3 表的修改和维护表的修改和维护 1.EDIT 1.EDIT 和和 CHANGECHANGE命令命令格式分别是格式分别是: :– EDIT EDIT [[〈〈范围范围〉〉][][FIELDSFIELDS〈〈字段名表字段名表〉〉]] [[FORFOR〈〈条件条件〉〉]]–CHANGECHANGE[[〈〈范围范围〉〉][][FIELDSFIELDS〈〈字段名表字段名表〉〉]] [[FOR FOR 〈〈条件条件〉〉]]• 命令功能命令功能: : 进入全屏幕编辑方式,对当前打进入全屏幕编辑方式,对当前打开的表的记录进行修改开的表的记录进行修改 说明说明: :•缺省所有的选择项,从当前记录开始进缺省所有的选择项,从当前记录开始进行修改行修改•FIELDSFIELDS〈〈字段名表字段名表〉〉,对列出的字段进,对列出的字段进行修行修 改改•范围和范围和FORFOR〈〈条件条件〉〉,范围内满足条件的,范围内满足条件的记录进行修改记录进行修改•缺省了[缺省了[〈〈范围范围〉〉]是指全部记录]是指全部记录 2.BROWSE2.BROWSE命令命令•命令格式:命令格式: BROWSE BROWSE [[FIELDS FIELDS 〈〈字段名表字段名表〉〉]]•命令功能:命令功能: 该命令以窗口方式显示当前表的内容,该命令以窗口方式显示当前表的内容,并可以对窗口内的数据按需要进行修改并可以对窗口内的数据按需要进行修改•使用使用EDITEDIT命令和命令和CHANGECHANGE命令时命令时 一行只显示一个字段一行只显示一个字段 每屏幕只能显示一个记录每屏幕只能显示一个记录 3.REPLACE3.REPLACE命令命令******•命令格式:命令格式: REPLACEREPLACE[[〈〈范围范围〉〉]]〈〈字段字段1 1〉〉WITHWITH〈〈表达式表达式1 1〉〉[[ADDITIVEADDITIVE][,][,〈〈字段字段2 2〉〉WITHWITH〈〈表达式表达式2 2〉〉[[ADDITIVEADDITIVE]] ……][][FORFOR〈〈条件条件〉〉]]• 命令功能:命令功能:–成批地、快速地修改满足给定条件的成批地、快速地修改满足给定条件的一批记录一批记录–修改的方法是修改的方法是 用用WITHWITH后面表达式的值后面表达式的值替换替换WITHWITH前面的字段内容前面的字段内容 说明:说明:(1) (1) 系统不进入全屏幕编辑方式系统不进入全屏幕编辑方式(2) (2) 范围和范围和FORFOR〈〈条件条件〉〉,修改范围内满足条件的所,修改范围内满足条件的所有记录,缺省范围,当前记录有记录,缺省范围,当前记录 (3)REPLACE(3)REPLACE命令可以对备注字段的数据进行替换命令可以对备注字段的数据进行替换–可用关键字[可用关键字[ADDITIVEADDITIVE],追加到备注的文本],追加到备注的文本内容的尾部内容的尾部–否则表达式的内容覆盖备注字段中的原有内容否则表达式的内容覆盖备注字段中的原有内容(4)(4)〈〈字段名字段名〉〉和和〈〈表达式表达式〉〉的数据类型必须相同的数据类型必须相同–数值字段,表达式的值大于字段宽度时,四舍数值字段,表达式的值大于字段宽度时,四舍五入运算,或采取科学计数法五入运算,或采取科学计数法 【【例例7.57.5】】•在表在表DA.DBFDA.DBF中,对工资小于中,对工资小于800800元的职工各元的职工各增加增加1010元元USE DAUSE DAREPLACE ALL REPLACE ALL 工资工资 WITH WITH 工资工资+10 +10 FOR FOR 工资工资<800<800USEUSE 记录的插入与删除记录的插入与删除 1.1.记录的插入记录的插入APPEND APPEND 命令是从表末尾增加新记录命令是从表末尾增加新记录•命令格式:命令格式: INSERT INSERT [[BLANKBLANK]] [[BEFOREBEFORE]]•命令功能:命令功能: 在当前表中的当前记录之前或之后插入记录在当前表中的当前记录之前或之后插入记录•说明:说明: 说明:说明:(1)(1)没有选择项,是在当前记录之后插入一个记录没有选择项,是在当前记录之后插入一个记录(2)(2)如果有[如果有[BEFOREBEFORE]选择项,是在当前记录之前插]选择项,是在当前记录之前插入一个记录入一个记录(3)(3)如果有[如果有[BLANKBLANK]选择项,是在当前记录之后插]选择项,是在当前记录之后插入一个空白记录入一个空白记录 2.2.记录的删除记录的删除•分两步进行:分两步进行:–对欲删除的记录打删除标记对欲删除的记录打删除标记 “*” “*”,称,称为逻辑删除为逻辑删除•必要时,可恢复,即把必要时,可恢复,即把“*”“*”去掉去掉–把带有删除标记的记录真正删除,称为把带有删除标记的记录真正删除,称为永久性删除记录或称物理删除记录永久性删除记录或称物理删除记录 (1)(1)逻辑删除记录命令逻辑删除记录命令•命令格式:命令格式:DELETEDELETE[[〈〈范围范围〉〉][][FORFOR〈〈条件条件〉〉]]•命令功能:命令功能:–指定范围内满足条件的那些记录加上删除标指定范围内满足条件的那些记录加上删除标记记“*” “*” •说明:说明:–若省略两个选择项,则给当前记录打删除标若省略两个选择项,则给当前记录打删除标记记“*”“*”–当用命令当用命令 SET DELETE ON SET DELETE ON 在显示或有关操在显示或有关操作时,作了删除标记的记录就不起作用,如作时,作了删除标记的记录就不起作用,如同真正删除这些记录一样。

      同真正删除这些记录一样 【【例例7.67.6】】•将表将表DADA..DBFDBF的的4 4号记录打上删除标记号记录打上删除标记USE DAUSE DADELETE RECORD 4DELETE RECORD 4LISTLIST (2)(2)记录恢复删除命令记录恢复删除命令•命令格式命令格式: : RECALL RECALL [[〈〈范围范围〉〉][][FORFOR〈〈条件条件〉〉]]•命令功能:命令功能:–将规定范围内的、符合条件的、已作了删除将规定范围内的、符合条件的、已作了删除标记的记录恢复即把删除标记的记录恢复即把删除 标记标记“*”“*”去掉 (3)(3)永久性删除记录命令永久性删除记录命令•命令格式:命令格式: PACKPACK•命令功能:命令功能:–将带有删除标记的记录从当前表中删除将带有删除标记的记录从当前表中删除–并重新调整表的记录号并重新调整表的记录号•说明:说明:–执行执行PACKPACK命令后,删除的记录在表中不再存命令后,删除的记录在表中不再存在,并且不能被恢复,称永久性删除记录在,并且不能被恢复,称永久性删除记录 (4)(4)删除表的全部记录命令删除表的全部记录命令•命令格式:命令格式:ZAPZAP•命令功能:命令功能:–将已打开的表中的全部记录一次性删除将已打开的表中的全部记录一次性删除•说明:说明:(1)(1)执行此命令,只是删除全部记录,而执行此命令,只是删除全部记录,而表的结构仍然保留。

      表的结构仍然保留2)(2)该命令等效于执行了该命令等效于执行了DELETE ALLDELETE ALL命令命令后再执行后再执行PACKPACK命令 表的排序表的排序 •按一定的条件在已有的表之外产生一个新的有序按一定的条件在已有的表之外产生一个新的有序表表 ,从而实现数据的重新组织从而实现数据的重新组织•命令格式:命令格式:SORT TO SORT TO 文件名文件名 ONON〈〈字段名字段名1 1〉〉[/[/A A][/][/C C][/][/D D][,][,〈〈字段名字段名2 2〉〉[/[/A A][/][/C C][/][/D D]]……][][ASCENDING|DESCENDINGASCENDING|DESCENDING]][[〈〈范围范围〉〉][][FORFOR〈〈条件条件〉〉][][FIELDSFIELDS〈〈字段名表字段名表〉〉]]•命令功能:对当前表中指定范围内满足条件的记录,根据命令功能:对当前表中指定范围内满足条件的记录,根据关键字段按字符顺序关键字段按字符顺序 、数值大小或时间顺序进行重新排、数值大小或时间顺序进行重新排列,生成一个新的表。

      列,生成一个新的表 说明:说明:•新生成的表,扩展名为新生成的表,扩展名为.DBF.DBF•不选择范围和条件时,对全部记录进行排序不选择范围和条件时,对全部记录进行排序•不指定不指定FIELDSFIELDS,新表结构全部字段组成,新表结构全部字段组成•多重排序,即先对多重排序,即先对〈〈字段名字段名1 1〉〉 排序,对于记录相同的记排序,对于记录相同的记录,再按录,再按〈〈字段名字段名2 2〉〉排序,依此类推排序,依此类推•//A A和/和/D D分别表示升序和降序,升序符号可以省略不写分别表示升序和降序,升序符号可以省略不写•//C C使排序时不分大小写字母使排序时不分大小写字母•//C C可以和/可以和/A A或/或/D D连用,两种选择可以只用一条斜线,连用,两种选择可以只用一条斜线,如/如/ACAC或或 //DCDC•ASCENDINGASCENDING和和DESCENDINGDESCENDING仅对那些没有指定/仅对那些没有指定/A A和/和/D D的关的关键字段起作用,关键字段默认按升序键字段起作用,关键字段默认按升序 //A A排序排序 【【例例7.77.7】】•将表将表A1.DBFA1.DBF按工资排序,排序后的表名按工资排序,排序后的表名为为GZ.DBFGZ.DBFUSE A1USE A1SORT ON SORT ON 工资工资 TO GZTO GZUSE GZUSE GZLISTLIST 7.4 7.4 索引文件索引文件 •表排序的方法:表排序的方法:–分类方法分类方法–索引索引•两种索引文件类型两种索引文件类型–一种为单入口索引文件一种为单入口索引文件•其扩展名为其扩展名为.IDX.IDX索引文件索引文件–复合索引文件复合索引文件•其扩展名为其扩展名为.CDX.CDX索引文件索引文件•索引就像一本书的目录索引可使读者快速索引就像一本书的目录索引可使读者快速找到所需的内容一样找到所需的内容一样 (1)(1)单入口索引文件单入口索引文件•是与是与FoxBASEFoxBASE表索引文件相兼容的索引文件表索引文件相兼容的索引文件•一个表可以有多个这样的索引文件一个表可以有多个这样的索引文件•其扩展名为其扩展名为.IDX.IDX索引文件索引文件 (2)(2)复合索引文件复合索引文件•包含许多索引包含许多索引•每个索引都有一个每个索引都有一个TAGTAG标志标志•复合索引文件就好像是许多单个索引的集合复合索引文件就好像是许多单个索引的集合1)1)结构复合索引文件:结构复合索引文件:•这样的索引文件与相关的表同名这样的索引文件与相关的表同名•但扩展名为但扩展名为.CDX.CDX•当表被打开时,索引文件也自动被打开当表被打开时,索引文件也自动被打开•并能自动及时更新并能自动及时更新2)2)独立型复合索引文件:独立型复合索引文件:•这样的索引文件不与相关的表同名这样的索引文件不与相关的表同名•且不会随相关表的打开而自动打开且不会随相关表的打开而自动打开 1.1.建立索引文件建立索引文件•命令格式:命令格式:INDEX ONINDEX ON〈〈索引表达式索引表达式〉〉TOTO〈〈..IDXIDX索引文件名索引文件名〉〉|TAG|TAG〈〈标志名标志名〉〉[[OFOF〈〈..CDXCDX索引文件名索引文件名〉〉]][[FORFOR〈〈条件条件〉〉]][[COMPACTCOMPACT][][ASCENDING|DESCENDINGASCENDING|DESCENDING][][UNIQUUNIQUE E][][ADDITIVEADDITIVE]]•命令的功能命令的功能: :–对满足指定条件的记录按对满足指定条件的记录按〈〈索引表达式索引表达式〉〉进行索进行索引,引, 形成形成.IDX.IDX索引文件或索引文件或.CDX.CDX索引文件。

      索引文件 主要参数说明:主要参数说明:•如有关键字如有关键字TAG,TAG,表示建立复合索引表示建立复合索引–TAGTAG关键字关键字〈〈标志名标志名〉〉为复合索引一个索引标志为复合索引一个索引标志•选择选择OFOF..CDXCDX索引文件名时索引文件名时, ,可建立独立型复合索引可建立独立型复合索引文件文件–缺省时可建立与表同名的结构化复合索引文件缺省时可建立与表同名的结构化复合索引文件•有有FORFOR条件时,按满足条件的记录进行索引条件时,按满足条件的记录进行索引•[[ASCENDINGASCENDING]任选项]任选项, ,排序方式是按升序排序方式是按升序•[[DESCENDINGDESCENDING]任选项]任选项, ,排排 序方式是按降序序方式是按降序•默认时为升序默认时为升序 主要参数说明:主要参数说明:•索引表达式中的字段名可以是数值型、字符型或索引表达式中的字段名可以是数值型、字符型或日期型日期型•表达式由多个字段组成时,必须转换成相同的数表达式由多个字段组成时,必须转换成相同的数据类型据类型–转换可使用转换可使用VAL()VAL()、、STR()STR()、、CTOD()CTOD()、、DTOC()DTOC()函数。

      如函数如果索引表达式的字段类型一致时,必须用果索引表达式的字段类型一致时,必须用““+”+”连接•选择[选择[COMPACTCOMPACT]项时]项时, ,在建立单入口索引时使用,在建立单入口索引时使用,表示可生成一个压缩的单独索引文件表示可生成一个压缩的单独索引文件 –复合索引文件自动采用压缩方式复合索引文件自动采用压缩方式•UNIQUEUNIQUE项时,多记录有相同的关键字表达式值,项时,多记录有相同的关键字表达式值,第一个记录有效,包含在索引文件中第一个记录有效,包含在索引文件中–若未指定若未指定UNIQUEUNIQUE,则所有记录均包含在索引文件中,则所有记录均包含在索引文件中 2.2.打开和关闭索引文件打开和关闭索引文件•打开索引文件的两种命令打开索引文件的两种命令1)1)用用USEUSE打开表和索引文件打开表和索引文件2)2)用用SET INDEXSET INDEX打开索引文件打开索引文件 1)1)用用USEUSE打开表和索引文件打开表和索引文件•命令格式:命令格式:USEUSE〈〈表文件名表文件名〉〉INDEXINDEX〈〈索引文件名表索引文件名表|?|?〉〉[[ORDERORDER]][[〈〈数值表达式数值表达式〉〉| |〈〈..IDXIDX文件名文件名〉〉]]• 命令功能:命令功能:–本命令将索引文件连同表主文件一起打开本命令将索引文件连同表主文件一起打开–执行此命令后,关闭当前工作执行此命令后,关闭当前工作 区前使用的表及索区前使用的表及索引文件引文件 2)2)用用SET INDEXSET INDEX打开索引文件打开索引文件•命令格式命令格式SET INDEX TOSET INDEX TO[[〈〈索引文件名表索引文件名表|?|?〉〉][][ADDITIVEADDITIVE]]•命令功能:命令功能:–打开表主文件后,用此命令打开已建立的索引文件打开表主文件后,用此命令打开已建立的索引文件•说明:说明:–凡与表一同打开的多个索引文件,用凡与表一同打开的多个索引文件,用APPENDAPPEND、、BROWSEBROWSE、、EDITEDIT及及REP LACEREP LACE命令修改时,均会自动地命令修改时,均会自动地修改所有的索引文件。

      修改所有的索引文件–结构化复合索引文件随着表的打开而打开结构化复合索引文件随着表的打开而打开, ,随着表随着表的关闭而关闭的关闭而关闭–对于单入口索引对于单入口索引 文件和独立型索引文件可以用上文件和独立型索引文件可以用上述命令,该命令可以一次打开一个或多个索引文件述命令,该命令可以一次打开一个或多个索引文件 3)3)确定主控索引确定主控索引•命令格式命令格式: :SET ORDER TOSET ORDER TO〈〈数值表达式数值表达式〉〉| |〈〈IDXIDX文件名文件名〉〉| |[[TAGTAG〈〈标志名标志名〉〉][][OFOF〈〈..CDXCDX索引文件索引文件名名〉〉][][ASCENDING|DESCENDINGASCENDING|DESCENDING]]•一个表可以同时打开多个索引文件一个表可以同时打开多个索引文件•但是只有一个索引起作用,称之为主索引但是只有一个索引起作用,称之为主索引 4)4)关闭索引文件关闭索引文件•命令格式:命令格式:格式格式1 USE1 USE格式格式2 SET INDEX TO2 SET INDEX TO格式格式3 CLOSE INDEX3 CLOSE INDEX•说明:说明:–格式格式1)1)可以关闭表及其索引文件可以关闭表及其索引文件–格式格式2)2)与格式与格式3)3)功能相同功能相同, ,可以关闭可以关闭.IDX.IDX文件文件与独立型复合索引文件与独立型复合索引文件, ,但不能关闭结构化复但不能关闭结构化复合索引文件合索引文件 【【例例7.87.8】】•有一个表有一个表A1.DBFA1.DBF,按工资建立单入口的,按工资建立单入口的索引文件索引文件(.IDX(.IDX文件文件) ),, 其文件名为其文件名为GZ.IDXGZ.IDX。

      USE A1USE A1INDEX ON INDEX ON 工资工资 TO GZTO GZ 6 records indexed 6 records indexedSET INDEX TO GZSET INDEX TO GZLISTLIST 3.3.添加记录后的重新索引添加记录后的重新索引 •命令格式:命令格式:REINDEXREINDEX•命令功能:命令功能:–重新建立已索引过的索引文件重新建立已索引过的索引文件•说明:说明:–已有索引文件,在输入记录前,并没已有索引文件,在输入记录前,并没有打开,需要再一次建立索引文件有打开,需要再一次建立索引文件–使用该命令时,必须先打开索引文件使用该命令时,必须先打开索引文件 数据检索数据检索 数据检索的命令:数据检索的命令:–顺序检索顺序检索LOCATELOCATECONTINUECONTINUE–索引检索索引检索FINDFINDSEEKSEEK 1.1.查找命令查找命令FINDFIND•命令格式:命令格式:FIND FIND 〈〈字符串字符串〉〉//〈〈数字数字〉〉•命令功能:命令功能:–从表的索引文件中查找指定字符串或与数字相从表的索引文件中查找指定字符串或与数字相匹配的记录匹配的记录–找到:找到:将记录指针指向将记录指针指向 函数函数FOUND()FOUND()返回逻辑真值返回逻辑真值–未找到:未找到:指向文件尾,指向文件尾,eof()eof()为真为真 此时的记录号为表的最大记录号此时的记录号为表的最大记录号+1+1 函数函数FOUND()FOUND()返回逻辑假值返回逻辑假值 说明:说明:•检索值可以是字符串和数字,但不能是表达检索值可以是字符串和数字,但不能是表达式式–若使用字符型内存变量检索时,必须使用若使用字符型内存变量检索时,必须使用宏代换宏代换& &函数,以内存变量的内容检索函数,以内存变量的内容检索•字符串不用定界符字符串不用定界符–如果字符串以空格如果字符串以空格 开始,必须用定界符开始,必须用定界符 【【例例7.97.9】】查找字符型数据查找字符型数据USE A1 INDEX XMUSE A1 INDEX XMFIND FIND 孟彬彬孟彬彬DISPLAYDISPLAYFIND FIND 孙孙DISPLAYDISPLAY 2.2.检索命令检索命令 SEEKSEEK•命令格式:命令格式:–SEEKSEEK〈〈表达式表达式〉〉•命令功能:命令功能:–在主控索引文件中将记录指针定位在在主控索引文件中将记录指针定位在索引关键字内容与命令中指定的表达索引关键字内容与命令中指定的表达式相匹配的第一个记录式相匹配的第一个记录–SEEKSEEK能实现快速查找信息能实现快速查找信息 SEEKSEEK说明:说明:•当表达式为字符型数据时,必须用单引当表达式为字符型数据时,必须用单引号、双引号或方括号括起来号、双引号或方括号括起来–如果是内存变量或如果是内存变量或 数值型表达式时,不用数值型表达式时,不用定界符定界符•FINDFIND不能查找日期型数据,而不能查找日期型数据,而SEEKSEEK可以可以 直接查找日期索引关键字的内容。

      直接查找日期索引关键字的内容•后接表达式:后接表达式:–用内存变量可直接用用内存变量可直接用SEEKSEEK检索,不用加宏替检索,不用加宏替换函数换函数 【【例例7.107.10】】•查找字符型数据查找字符型数据–利用前面以姓名为索引关键字的索引文件利用前面以姓名为索引关键字的索引文件USE A1USE A1SET INDEX TO XM SET INDEX TO XM SEEK "SEEK "张张 燕燕" "DISPLAYDISPLAY 顺序查找命令顺序查找命令(LOCATE(LOCATE与与CONTINUE)CONTINUE)•直接查找命令,不用索引直接查找命令,不用索引–命令格式:命令格式:LOCATE LOCATE [[〈〈范围范围〉〉]] FORFOR〈〈条件条件〉〉–命令格式:命令格式: CONTINUECONTINUE–命令功能:命令功能:•对当前表中的记录进行顺序查找,查找指定范围内满对当前表中的记录进行顺序查找,查找指定范围内满足条件的第一个记录足条件的第一个记录•若有满足条件的记录,将记录指针定位在满足条件的若有满足条件的记录,将记录指针定位在满足条件的第一个记录,并显示出当前记录的记录号第一个记录,并显示出当前记录的记录号Record=n)Record=n) 说明:说明:•用用LOCATELOCATE命令查询时,不用对表进行排序或建命令查询时,不用对表进行排序或建立索引文件立索引文件•若在表中没有查找到满足条件的记录则屏幕显若在表中没有查找到满足条件的记录则屏幕显示出示出““END OF LOCATE SCOPE”END OF LOCATE SCOPE”的文件结束标的文件结束标志信息志信息•若若LOCATE LOCATE 与与 CONTINUECONTINUE联合使用,可以实现查联合使用,可以实现查询每一个满足条件的记录询每一个满足条件的记录–不可再用不可再用LOCATE FORLOCATE FOR,否则还是找到第一个,否则还是找到第一个记录。

      记录 【【例例7.117.11】】•查找工资=查找工资=560.00560.00元的记录元的记录USE A1USE A1LOCATE ALL FOR LOCATE ALL FOR 工资=工资=560.00560.00DISPLAYDISPLAYCONTINUECONTINUEDISPLAYDISPLAYCONTINUECONTINUE 7.5 7.5 统计命令统计命令•求和命令求和命令(SUM) •求平均值命令求平均值命令(AVERAGE) •计数命令计数命令(COUNT)•求统计量命令求统计量命令(CALCULATE) •分类汇总命令分类汇总命令 求和命令求和命令(SUM) (SUM) •命令格式命令格式: : SUM SUM[[〈〈范围范围〉〉][][〈〈字段名表字段名表〉〉]][[TOTO〈〈内存变量表内存变量表〉〉| |〈〈数组名数组名〉〉]][[FORFOR〈〈条件条件〉〉]]•命令功能:命令功能: 对当前表指定的数值型字段进行列向求和对当前表指定的数值型字段进行列向求和 【【例例7.127.12】】•以以B1.DBFB1.DBF表为例,进行下面的统计操作:表为例,进行下面的统计操作:(1)(1)将所有数值型字段求和将所有数值型字段求和(2)(2)将性别是女的记录求和将性别是女的记录求和USE B1USE B1LISTLISTSUMSUM 5 records summed 5 records summedSUM FOR SUM FOR 性别=性别=" "女女" " 3 records summed 3 records summed 求平均值命令求平均值命令(AVERAGE) (AVERAGE) •命令格式:命令格式:AVERAGEAVERAGE[[〈〈范围范围〉〉][][〈〈字段名表字段名表〉〉]][[TOTO〈〈内存变量表内存变量表〉〉| |〈〈数组名数组名〉〉]][[FORFOR〈〈条件条件〉〉]]•命令功能:命令功能:–对当前表指定的数值型字段列向求算术平均对当前表指定的数值型字段列向求算术平均值值 【【例例7.137.13】】•对对B1.DBFB1.DBF表指定数值型字段求算术平均值,表指定数值型字段求算术平均值,并把结果送到对应的内存变量中并把结果送到对应的内存变量中 USE B1 USE B1 AVERAGE AVERAGE 基本工资,年龄基本工资,年龄 TO C1 TO C1,,C2C2 5 records average 5 records average ?? C1 C1,,C2C2 2 2348.00 27348.00 27 计数命令计数命令(COUNT)(COUNT)•命令格式:命令格式:COUNTCOUNT[[〈〈范围范围〉〉][][FORFOR〈〈条件条件〉〉]][[TOTO〈〈内存变量内存变量〉〉| |〈〈数组名数组名〉〉]] •命令功能:命令功能:– 统计当前表中记录的个数统计当前表中记录的个数•****受受set deleted on|offset deleted on|off影响影响–Set deleted onSet deleted on则不数有删除标记的记录则不数有删除标记的记录–RECCOUNTRECCOUNT()不受其影响()不受其影响 例:例:Use da &设该表中记录个数为设该表中记录个数为8,一个逻辑删除,一个逻辑删除Go 3DeleSet deleted onCount 7? Reccount() 8Set deleted offCount 8? Reccount 8 【【例例7.147.14】】•将将B1.DBFB1.DBF表中对性别是男的记录进行统表中对性别是男的记录进行统计,并且存储到内存变量中计,并且存储到内存变量中USE B1USE B1COUNT FOR COUNT FOR 性别=性别=" "男男" TO XB" TO XB 2 records 2 records??XBXB 2 2 求统计量命令求统计量命令(CALCULATE) (CALCULATE) •命令格式:命令格式:CALCULATECALCULATE〈〈数值表达式数值表达式〉〉[[〈〈范围范围〉〉]][[FORFOR〈〈条件表达式条件表达式〉〉]][[TOTO〈〈内存变量名表内存变量名表〉〉|TO|TO〈〈数组名数组名〉〉]]•命令功能命令功能: :–该命令是根据当前表中的各数值型字段该命令是根据当前表中的各数值型字段组成的数值表达式进行计算组成的数值表达式进行计算 【【例例7.157.15】】•对表对表B1.DBFB1.DBF分别统计记录个数、平均年分别统计记录个数、平均年龄、最小年龄,将结果存入龄、最小年龄,将结果存入A1,A2,A3A1,A2,A3中,中,并显示变量的值。

      并显示变量的值USE B1USE B1CALCULATE CNT(),AVG(CALCULATE CNT(),AVG(年龄年龄) ),,MINMIN( (年龄年龄) TO A1,A2,A3) TO A1,A2,A3? A1,A2,A3 ? A1,A2,A3 5 27 21 5 27 21 分类汇总命令分类汇总命令 •命令格式:命令格式: TOTAL ONTOTAL ON〈〈关键字段关键字段〉〉 TO TO〈〈目标文件名目标文件名〉〉[[〈〈范围范围〉〉]][[FIELDSFIELDS〈〈字段名表字段名表〉〉][][FORFOR〈〈条件条件〉〉]]•命令功能:命令功能: 对已对已排序排序或已索引过的表,按指定关键字或已索引过的表,按指定关键字段相同的那些记录进行分组求和,并将处理段相同的那些记录进行分组求和,并将处理结果存入到目标文件名指定的表中,其结构结果存入到目标文件名指定的表中,其结构与有序文件结构相同与有序文件结构相同 说明:生成新的表文件说明:生成新的表文件((sortsort))(1)(1)如果没有任何选择项,将按关键字段分组,如果没有任何选择项,将按关键字段分组,并对所有数值型字段求和生成一个新的表。

      并对所有数值型字段求和生成一个新的表2)(2)有[有[〈〈范围范围〉〉]短语时,将按指定范围内的]短语时,将按指定范围内的记录进行分组求和记录进行分组求和3)(3)有[有[FIELDSFIELDS〈〈字段名表字段名表〉〉]短语时,将按指]短语时,将按指定的数值型字段分组求和定的数值型字段分组求和4)(4)有[有[FORFOR〈〈条件条件〉〉]短语时,将对满足条件的]短语时,将对满足条件的那些记录的数值型字段分组求和那些记录的数值型字段分组求和 【【例例7.167.16】】•将将B1.DBFB1.DBF表按性别分组,求工资总和表按性别分组,求工资总和–第一步:先显示一下第一步:先显示一下B1.DBFB1.DBF表的内容表的内容USE B1USE B1LISTLIST–第二步:建立索引文件,关键字段为性别第二步:建立索引文件,关键字段为性别INDEX ON INDEX ON 性别性别 TO B1XTO B1XLISTLIST–第三步:计算工资总和,形成一个新的表第三步:计算工资总和,形成一个新的表HB.DBFHB.DBF,其结构与,其结构与B1B1表中的结构相同表中的结构相同TOTAL ON TOTAL ON 性别性别 TO HBTO HBUSE HBUSE HBLISTLIST 7.6 7.6 命令文件的建立与运行命令文件的建立与运行 •程序使用的方式:程序使用的方式:–向导方式向导方式–菜单方式菜单方式–命令方式:命令方式:•命令窗口的显示(命令窗口的显示(Ctrl+F2Ctrl+F2))–程序执行方式:程序执行方式:•将多条命令按一定的结构编写成一个程序将多条命令按一定的结构编写成一个程序((.prg.prg))•然后命令机器去执行这个程序然后命令机器去执行这个程序(do (do 命令命令) )•基本逻辑结构:基本逻辑结构:•顺序结构顺序结构•条件分支结构条件分支结构•循环结构循环结构 •命令文件命令文件–由一系列由一系列VFPVFP命令组成的程序命令组成的程序–一般以某种方式建立并存入磁盘中一般以某种方式建立并存入磁盘中–使用时再调出来执行使用时再调出来执行•两种方式建立:两种方式建立: •用用VFPVFP的文本编辑程序建立命令文件的文本编辑程序建立命令文件 –采用全屏幕编辑方式采用全屏幕编辑方式•一般的文本编辑程序一般的文本编辑程序–如:记事本如:记事本命令文件 •命令格式:命令格式:– MODIFY COMMAND MODIFY COMMAND 〈〈文件名文件名〉〉• 命令功能:命令功能:–生成和编辑命令文件生成和编辑命令文件–文件名中若未指定扩展名,系统认定文件名中若未指定扩展名,系统认定为为.PRG.PRG文件文件 【【例例7.177.17】】•在在D D盘上建立一个查看盘上建立一个查看DA1DA1表结构和内容的命令文件表结构和内容的命令文件 MODIFY COMMAND W1MODIFY COMMAND W1 CLEAR CLEAR USE stu USE stu LIST STRUCTURE LIST STRUCTURE wait wait LIST LIST USE USE•存盘:存盘:–按按CTRL+WCTRL+W–建立了一个建立了一个W1.PRG W1.PRG 的命令文件的命令文件 命令文件的运行命令文件的运行 •在在VFP VFP 命令窗口中,用命令窗口中,用DODO命令运行命令文件命令运行命令文件•命令格式:命令格式:DODO〈〈命令文件名命令文件名〉〉[[WITHWITH〈〈发送参数表发送参数表〉〉]]说明:说明:–执行执行DODO命令,首先将指定的文件读到内存中命令,首先将指定的文件读到内存中–后逐条地执行该文件中的命令后逐条地执行该文件中的命令 编程中的辅助命令编程中的辅助命令 1.1.命令执行结果输出命令命令执行结果输出命令• 命令格式:命令格式:–SET TALK ONSET TALK ON//OFFOFF• 命令功能:命令功能:–选择选择ONON状态时,命令的操作结果显示或状态时,命令的操作结果显示或打印打印–选择选择OFFOFF状态则命令结果不显示状态则命令结果不显示–缺省时为缺省时为ONON状态状态 2.2.命令行输出命令命令行输出命令•命令格式:命令格式: SET ECHO ONSET ECHO ON//OFFOFF•命令功能:命令功能:–选择选择ONON状态时,在屏幕或打印机上输出命令行及运状态时,在屏幕或打印机上输出命令行及运行结果行结果–选择选择OFFOFF状态只输出运行结果,不输出命令本身状态只输出运行结果,不输出命令本身–缺省为缺省为OFFOFF状态状态•命令格式:命令格式:SET PRINT ONSET PRINT ON//OFFOFF•命令功能:命令功能:–选择选择ONON状态时,接通打印机状态时,接通打印机–选择选择OFFOFF状态时,断开打印机状态时,断开打印机–缺省值为缺省值为OFFOFF状态状态 3.3.数据的输出语句数据的输出语句•命令格式命令格式::SET DEVICE TO PRINTSET DEVICE TO PRINT//SCREENSCREEN•命令功能:命令功能: 将@将@…SAY…SAY命令的结果送到打印机或屏幕。

      命令的结果送到打印机或屏幕•说明:说明:–有有PRINTPRINT项,输出便发往打印机项,输出便发往打印机–但执行该语句后并没有启动打印机但执行该语句后并没有启动打印机–须通过按须通过按CTRL+PCTRL+P或输入或输入SET PRINT ONSET PRINT ON命令命令方可使打印机启动方可使打印机启动–若选用若选用SCREENSCREEN选择项,则输出转向屏幕选择项,则输出转向屏幕 命令文件终止命令命令文件终止命令(CANCEL)(CANCEL)•命令格式:命令格式: CANCELCANCEL[[〈〈任意字符任意字符〉〉]]•命令功能:命令功能:–本命令终止命令文件的执行,回到本命令终止命令文件的执行,回到VFPVFP提示符下并关闭所有打开的文件提示符下并关闭所有打开的文件–< <任意字符任意字符〉〉可用于书写注释可用于书写注释 7.7 程序结构程序结构•顺序结构顺序结构•分支结构分支结构•循环结构循环结构 顺序结构顺序结构•顺序依次执行顺序依次执行–按照语句排列的先后顺序,一条接一按照语句排列的先后顺序,一条接一条地依次执行条地依次执行–顺序结构是程序中最基本的常用的结顺序结构是程序中最基本的常用的结构。

      构 【【例例7.197.19】】•顺序结构程序顺序结构程序: :求求 1+2+3+4 1+2+3+4 的结果的结果SET TALK OFFSET TALK OFFX=0X=0X=X+1X=X+1X=X+2X=X+2X=X+3X=X+3X=X+4X=X+4? X? XCANCELCANCEL–运行这一程序时,系统逐条执行各语句,求运行这一程序时,系统逐条执行各语句,求行行1+2+3+41+2+3+4之和,最后显示和为之和,最后显示和为1010 【【例例7.207.20】】•编一个程序,将华氏温度编一个程序,将华氏温度F=68F=68度变换成摄氏度变换成摄氏温度温度C C,并将结果显示出来并将结果显示出来–计算公式为:计算公式为:C=5×(F-32)÷9 C=5×(F-32)÷9 •程序如下:程序如下:SET TALK OFFSET TALK OFFF=68F=68C=5*(F-32)/9C=5*(F-32)/9? “? “摄氏:摄氏:” ” + STR(C, 4) + “+ STR(C, 4) + “度度“ “ + ”+ ”,,” ” +;+; " "华氏:华氏:“ “ + STR(F, 4) + "+ STR(F, 4) + "度度" "CANCELCANCEL•运行结果:运行结果: 分支结构分支结构•体现计算机的逻辑判断能力体现计算机的逻辑判断能力–根据给定的不同逻辑条件,转向执行根据给定的不同逻辑条件,转向执行不同的程序语句,进行相应的处理。

      不同的程序语句,进行相应的处理–这些不同的转向就构成了分支结构这些不同的转向就构成了分支结构•分类:分类:–简单分支语句简单分支语句(IF(IF--ENDIF) ENDIF) –选择分支语句选择分支语句(IF(IF--ELSEELSE--ENDIF)ENDIF)–结构分支(结构分支(do case-endcasedo case-endcase)) 简单分支语句简单分支语句(IF(IF--ENDIF) ENDIF) • 语句格式:语句格式:IF IF 〈〈条件表达式条件表达式〉〉 〈〈语句组语句组〉〉ENDIFENDIF•语句功能:语句功能: –当条件为真时,执行当条件为真时,执行IFIF和和ENDIFENDIF之间的语句之间的语句行序列行序列–当条件为假时,执行当条件为假时,执行ENDIFENDIF后面的语句后面的语句• 简单分支流程图简单分支流程图 语句体1判断为真为假 【【例例7.217.21】】•显示显示DA.DBFDA.DBF中有无工资低于中有无工资低于650650元的记录元的记录•程序如下:程序如下:USE DAUSE DALOCATE FOR LOCATE FOR 工资工资 < 650< 650..0000IF .NOT.EOF( )IF .NOT.EOF( ) DISPLAY DISPLAYENDIFENDIF 选择分支语句选择分支语句(IF(IF--ELSEELSE--ENDI ENDI F)F)•语句格式:语句格式:IFIF〈〈条件表达式条件表达式〉〉 〈〈语句组语句组1 1〉〉ELSEELSE 〈〈语句组语句组2 2〉〉ENDIFENDIF•语句功能:语句功能:–当条件为真时,先执行当条件为真时,先执行〈〈语句组语句组1 1〉〉•然后再去执行然后再去执行ENDIFENDIF后面的语句后面的语句–当条件为假时,先执行当条件为假时,先执行〈〈语句组语句组2 2〉〉•后再转去执行后再转去执行ENDIFENDIF后面的语句后面的语句语句体语句体判断为真为假 【【例例7.227.22】】•某地至北京的邮路里程为某地至北京的邮路里程为1043KM,通过邮政局,通过邮政局向北京城区寄交向北京城区寄交"特快专递特快专递"邮件,应在邮件,应在24小时内小时内到达,计费标准每克为到达,计费标准每克为0.05元,但超过元,但超过100克后,克后,超出数每克为超出数每克为0.02元。

      试编写程序计算邮费试编写程序计算邮费 •计算公式如下:计算公式如下:0.05×W 0.05×W 当当 W≤100 W≤100 克克0.05×100+0.02×(W-100)0.05×100+0.02×(W-100)当当 W W>>100 0 克克 SET TALK OFFSET TALK OFFCLEAR CLEAR INPUT "INPUT "请输入请输入邮件邮件的重量为:的重量为:" TO W" TO WIF W<=100IF W<=100 X=0.05*W X=0.05*WELSEELSE X=0.05*100+0.02*(W-100) X=0.05*100+0.02*(W-100)ENDIFENDIF? “? “邮件邮件的重量为的重量为””+STR(W,6,2)+“+STR(W,6,2)+“克,克,其邮费为:其邮费为:"+STR(X,6,2)+""+STR(X,6,2)+"元元" "CANCELCANCEL运行 IFIF条件语句的嵌套条件语句的嵌套 第一层ENDIFIF 条件ELSE语句组1ENDIFIF 条件ELSE语句组3第三层ENDIFIF 条件ELSE语句组2第二层 说明:说明:•有有IFIF必有必有ENDIFENDIF,成对出现。

      成对出现•每一层的每一层的IFIF和和ELSEELSE及及ENDIFENDIF必须一一对应必须一一对应•IF-ELSE-ENDIF IF-ELSE-ENDIF 每个命令各占一行,不能每个命令各占一行,不能在同一行出现在同一行出现 结构分支语句结构分支语句(DO(DO--CASECASE--END CASE)END CASE)•选择的方案较多时,用选择判断语句选择的方案较多时,用选择判断语句 DO DO --CASECASE--ENDCASEENDCASE 语句格式:语句格式:DO CASEDO CASE CASE CASE 〈〈条件表达式条件表达式1 1〉〉 〈〈语句组语句组1 1〉〉 CASE CASE 〈〈条件表达式条件表达式2 2〉〉 〈〈语句组语句组2 2〉〉 :: [[OTHERWISEOTHERWISE]] [[〈〈语句组语句组 N N〉〉]]ENDCASEENDCASE 语句功能:语句功能:•从头依次查看每一个从头依次查看每一个CASECASE的条件表达式,只要的条件表达式,只要某一个条件表达式的值为真,就执行该条件下某一个条件表达式的值为真,就执行该条件下的语句组。

      的语句组•其他条件下的语句组都跳过去,接下来执行其他条件下的语句组都跳过去,接下来执行ENDCASEENDCASE后面的语句后面的语句•OTHERWISEOTHERWISE是一个可选项,若所有的条件都不是一个可选项,若所有的条件都不成立,则执行成立,则执行OTHERWISEOTHERWISE后面的语句后面的语句•如果没有可选项如果没有可选项OTHERWISEOTHERWISE,则所有的条件都,则所有的条件都不成立不成立 ,接着执行,接着执行ENDCASEENDCASE后面的语句后面的语句 说明:说明:•如有两个或两个以上的条件为真,则只执行第一个如有两个或两个以上的条件为真,则只执行第一个条件表达式值为真的条件表达式值为真的 CASECASE后的语句组,执行完后,后的语句组,执行完后,即转去执行即转去执行ENDCASEENDCASE之后的语句,而不会再去判断之后的语句,而不会再去判断下一个下一个CASECASE中的条件中的条件•DO CASEDO CASE中的中的CASECASE〈〈条件表达式条件表达式〉〉个数不限个数不限•每个每个CASECASE〈〈条件表达式条件表达式〉〉之间是独立的之间是独立的•DO CASEDO CASE和和CASECASE〈〈条件表达式条件表达式1 1〉〉之间不允许出现之间不允许出现任何语句任何语句•DO CASE DO CASE 和和 ENDCASEENDCASE必须成对出现必须成对出现 循环是指按照给定的条件去重复执循环是指按照给定的条件去重复执行一段具有特定功能的程序行一段具有特定功能的程序循环结构程序设计 DO WHILE—ENDDODO WHILE—ENDDO循环循环 •语句格式:语句格式: DO WHILEDO WHILE〈〈条件表达式条件表达式〉〉 〈〈语句组语句组〉〉 ENDDO ENDDO•语句功能:语句功能:–当条件表达式的值为真时,执行语句当条件表达式的值为真时,执行语句组。

      组–否则执行否则执行ENDDOENDDO后面的语句后面的语句 说明:说明: •DO WHILE DO WHILE 和和 ENDDOENDDO之间的语句称为循环体之间的语句称为循环体–一条语句一条语句–一组语句一组语句–一个一个VFPVFP子程序子程序•ENDDOENDDO是循环终止语句,循环以此为终点是循环终止语句,循环以此为终点 •循环语句本身不会修改执行的条件循环语句本身不会修改执行的条件–要在循环体内设置修改循环条件的语句要在循环体内设置修改循环条件的语句–否则会出现死循环否则会出现死循环 求表达式值语句体修正条件YNENDDO后语句循环语句流程图 【【例例7.237.23】】•以显示方式输出以显示方式输出1 1到到1010的数字的数字SET TALK OFFSET TALK OFFCLEARCLEARI I==1 1DO WHILE I <= 10DO WHILE I <= 10 ?? I I I I==I I++1 1ENDDOENDDO•语句语句I I==I I++1 1就是用来修改循环条件就是用来修改循环条件 【【例例7.247.24】】•程序如下:程序如下:STORE 0 TO C, WSTORE 0 TO C, WUSE ZGDAUSE ZGDADO WHILE .NOT.EOF( )DO WHILE .NOT.EOF( ) DO CASE DO CASE CASE ( CASE (年龄年龄<45).AND.<45).AND.职称职称="="讲师讲师" " W=W+1 W=W+1 CASE ( CASE (年龄年龄<45) .AND.<45) .AND.职称职称="="副教授副教授" " C=C+1 C=C+1 ENDCASE ENDCASE SKIP SKIPENDDOENDDO? "? "人数为:人数为: " ",,W W? "? "人数为:人数为: " ",,C CSET TALK ONSET TALK ONCANCELCANCEL请解读该段程序,说明其功能?请解读该段程序,说明其功能? 转跳语句转跳语句(LOOP)(LOOP)•在在DO WHILEDO WHILE--ENDDO ENDDO 内提供了一条短路内提供了一条短路语句,可以起到转跳作用。

      语句,可以起到转跳作用•语句格式:语句格式:LOOPLOOP•语句功能:语句功能:–中断本次循环体的执行中断本次循环体的执行–跳回到跳回到DO WHILEDO WHILE的开始处,重复条件的开始处,重复条件的判断 说明:说明:–LOOPLOOP语句一定要用在语句一定要用在DO WHILEDO WHILE的循环的循环体内才有意义体内才有意义–LOOPLOOP语句使它后面的语句在本次循环语句使它后面的语句在本次循环时不被执行时不被执行–在具有多重在具有多重DO WHILEDO WHILE--ENDDOENDDO嵌套的程嵌套的程序中,序中,LOOPLOOP只返回到与它本身所处的只返回到与它本身所处的内层循环体相匹配的内层循环体相匹配的 DO WHILEDO WHILE语句语句 【【例例7.257.25】】•工资小于工资小于160160元的增加元的增加1010元元SET TALK OFFSET TALK OFFUSE DA2USE DA2DO WHILE .NOT.EOF( )DO WHILE .NOT.EOF( ) IF IF 工资工资<160<160 REPLACE REPLACE 工资工资 WITH WITH 工资+工资+1010 SKIP SKIP LOOP LOOP ENDIF ENDIF SKIP SKIPENDDOENDDO请解读该段程序,说明每一个命令的功能?请解读该段程序,说明每一个命令的功能? 【【例例7.267.26】】•求求0 0~~100100之间奇数之和之间奇数之和 SET TALK OFFSET TALK OFF X=0 X=0 Y=0 Y=0 DO WHILE X<100 DO WHILE X<100 X=X+1 X=X+1 IF INT(X/2)=X/2 IF INT(X/2)=X/2 LOOP LOOP ELSE ELSE Y=Y+X Y=Y+X ENDIF ENDIFENDDOENDDO? "0? "0~~100100之间的奇数之和为:之间的奇数之和为: ", Y", YSET TALK ONSET TALK ONCANCELCANCEL请解读该段程序,说明每一个命令的功能?请解读该段程序,说明每一个命令的功能?运行 此程序中此程序中•用用INT(X/2)INT(X/2)是否等于是否等于X/2X/2判断判断X X是否为偶数是否为偶数–是则执行是则执行LOOPLOOP语句,返回语句,返回DOWHILEDOWHILE•如果如果INT(X/2)INT(X/2)不等于不等于X/2X/2–说明说明X X的值为奇数的值为奇数–执行执行LOOPLOOP后面的语句,将奇数累加后面的语句,将奇数累加 2.2.出口语句出口语句(EXIT)(EXIT)•如果在循环的中途,需要结束循环而转如果在循环的中途,需要结束循环而转到本层循环的后继命令去执行,可以用到本层循环的后继命令去执行,可以用出口命令。

      出口命令•语句格式:语句格式: EXITEXIT•语句功能:语句功能:–终止终止DO WHILEDO WHILE--ENDDOENDDO的正常循环的正常循环–无条件地转到无条件地转到ENDDOENDDO的后继命令去执行的后继命令去执行–多重循环,只能跳出一层多重循环,只能跳出一层 【【例例7.277.27】】•计算计算1 1++2 2++3 3++……++100100的和的和SET TALK OFFSET TALK OFFN N==1 1S S==0 0DO WHILE .T.DO WHILE .T. IF N>100 IF N>100 EXIT EXIT ENDIF ENDIF S=S+N S=S+N N=N+1 N=N+1ENDDOENDDO? “S=”,S? “S=”,S运行 多重循环中多重循环中LOOPLOOP和和EXITEXIT的作用域的作用域 •循环的嵌套循环的嵌套: :–如果在一个循环程序的循环体内又包如果在一个循环程序的循环体内又包含着另一些循环,就构成了多层次含着另一些循环,就构成了多层次( (多多重重) )循环循环–LOOPLOOP和和EXITEXIT语句放在哪一个层次,它语句放在哪一个层次,它就只能在那个层次中起作用,这个层就只能在那个层次中起作用,这个层次就是它的作用域次就是它的作用域–课本课本P148P148 DO WHILE DO WHILE LOOP EXIT ENDDO LOOP EXITENDDO FOR—ENDFORFOR—ENDFOR循环循环 •语句格式:语句格式: FOR FOR 循环变量循环变量= =〈〈初值初值〉〉TOTO〈〈终值终值〉〉[[STEPSTEP〈〈步长步长〉〉]] 〈〈命令序列命令序列〉〉 [[LOOPLOOP]] [[EXITEXIT]] ENDFORENDFOR•语句功能:语句功能:–循环过程是首先将初值赋于循环变量,每当执行一循环过程是首先将初值赋于循环变量,每当执行一次循环,循环变量增加一个步长,直到循环变量值次循环,循环变量增加一个步长,直到循环变量值大于终值时结束循环大于终值时结束循环–LOOPLOOP语句用于转到语句用于转到FORFOR语句继续执行循环语句继续执行循环–EXITEXIT用于跳出循环,转到用于跳出循环,转到ENDFORENDFOR后面命令执行后面命令执行 例例•1、输出几个星号?、输出几个星号?–For n=1 to 11 step 2– ? “*”•2、输出几个星号?、输出几个星号?–For n=1 to 10 -1– ? “*”•3、输出几个星号?、输出几个星号?–For n=1 to 10 – ? “*”请解读各段程序,说明其功能?请解读各段程序,说明其功能? 【【例例7.287.28】】最大值最大值•找出表中年龄最大的记录找出表中年龄最大的记录SET TALK OFFSET TALK OFFUSE ZGDAUSE ZGDAMAX=MAX=年龄年龄J=RECCOUNT() J=RECCOUNT() 指表中所含的记录的总数指表中所含的记录的总数FOR I=1 TO JFOR I=1 TO J IF MAX IF MAX<< 年龄年龄 MAX=MAX=年龄年龄 RSC=RECNO()RSC=RECNO() ENDIF ENDIF SKIP SKIPENDFORENDFORUSEUSE? RSC? RSC请解读该段程序,说明每一个命令的功能?请解读该段程序,说明每一个命令的功能? SCAN—ENDSCANSCAN—ENDSCAN循环循环 •语句格式:语句格式: SCANSCAN[[〈〈范围范围〉〉][][FORFOR〈〈条件表达式条件表达式〉〉] ] 〈〈命令序列命令序列〉〉 [[LOOPLOOP]] [[EXITEXIT]] ENDSCANENDSCAN 语句功能:语句功能:•SCANSCAN的功能是在的功能是在表中移动并重执行命令序列中移动并重执行命令序列•循环开始时记录指针指向满足条件的第一个循环开始时记录指针指向满足条件的第一个记录记录•执行到执行到ENDSCANENDSCAN时,记录指针指向第二个满足时,记录指针指向第二个满足条件记录条件记录•控制又回到控制又回到SCANSCAN循环的开始,直到所有记录循环的开始,直到所有记录处理完,循环也就结束了处理完,循环也就结束了 【【例例7.297.29】】(改为(改为do whiledo while))•查找职称为查找职称为““讲师讲师””的记录,计算满足条件的的记录,计算满足条件的记录个数(工资的总和)记录个数(工资的总和)SET TALK OFFSET TALK OFFUSE ZGDAUSE ZGDAS=0S=0N=0N=0SCAN FOR SCAN FOR 职称职称="="讲师讲师" " DISPLAY DISPLAY S=S+ S=S+工资工资 N=N+1N=N+1ENDSCANENDSCANUSEUSERETURNRETURN请解读该段程序,说明每一个命令的功能?请解读该段程序,说明每一个命令的功能? 【【例例7.307.30】】 (改为(改为do whiledo while))•用用SCAN…ENDSCANSCAN…ENDSCAN命令显示表的记录。

      命令显示表的记录USE ZGDAUSE ZGDASCANSCAN DISPLAY DISPLAYENDSCANENDSCANRETURNRETURN•【【例例7.317.31】】用用FOR...ENDFORFOR...ENDFOR命令显示表的记录命令显示表的记录USE ZGDAUSE ZGDAFOR I=1 TO FOR I=1 TO 5 5 GO I GO I DISPLAY DISPLAYENDFORENDFORRETURNRETURN 7.8 7.8 过程及其调用过程及其调用 •过程过程–程序设计时,常常有些运算或处理程序是相同的程序设计时,常常有些运算或处理程序是相同的–可以将重复出现的或能单独使用的程序写成可供可以将重复出现的或能单独使用的程序写成可供其他程序调用的独立程序段称为子程序,在其他程序调用的独立程序段称为子程序,在VFPVFP中中也称为过程也称为过程•过程与主程序过程与主程序–同样的方法建立同样的方法建立 、运行、运行–同样的文件形式存放在磁盘上同样的文件形式存放在磁盘上–有相同的扩展名有相同的扩展名(.PRG)(.PRG)–惟一不同的,一个过程中至少应有一条返回语句惟一不同的,一个过程中至少应有一条返回语句 返回语句返回语句•语句格式:语句格式:RETURN RETURN [[TO MASTERTO MASTER]]• 语句功能:语句功能:–结束过程的运行结束过程的运行–使执行返回调用它的主程序或最高一使执行返回调用它的主程序或最高一级主程序中级主程序中 说明:说明:–[[TO MASTERTO MASTER]是在过程嵌套中使用]是在过程嵌套中使用•无此项时,回到调用它的原处去;无此项时,回到调用它的原处去;•有此项时,执行回到最高一级主程序有此项时,执行回到最高一级主程序–若直接运行一个程序,执行到若直接运行一个程序,执行到RETURNRETURN时,则时,则返回到返回到VFPVFP的命令状态;的命令状态;–在命令文件中用在命令文件中用DODO语句来运行另一个命令文语句来运行另一个命令文件,这就是过程调用;件,这就是过程调用;–被调用的命令文件必须有被调用的命令文件必须有RETURNRETURN语句,以返语句,以返回调用它的主程序中。

      回调用它的主程序中 过程文件过程文件 •过程文件是一种包含有过程的命令文件,可以容过程文件是一种包含有过程的命令文件,可以容纳纳128128个过程;个过程;•过程文件被打开后,系统就能找到该文件所容纳过程文件被打开后,系统就能找到该文件所容纳的各个过程所在位置;的各个过程所在位置;•过程文件也是命令文件,建立方法与命令文件一过程文件也是命令文件,建立方法与命令文件一样,扩展名也是样,扩展名也是.PRG.PRG;;•一个程序可以有多个过程文件,但同一时间只能一个程序可以有多个过程文件,但同一时间只能打开一个过程文件;打开一个过程文件;•每个独立子过程的开始应该用每个独立子过程的开始应该用PROCEDURE PROCEDURE 〈〈过程过程名名〉〉进行标识;进行标识;•过程名是以字母开头的字符串过程名是以字母开头的字符串( (包含字母、数字及包含字母、数字及下划线下划线) ),最多可达,最多可达8 8个字符个字符 1.1.过程文件的建立过程文件的建立•语句格式:语句格式:PROCEDURE PROCEDURE 〈〈子过程名子过程名〉〉 〈〈语句组语句组〉〉RETURNRETURN 2.2.打开过程文件打开过程文件•语句格式:语句格式:– SET PROCEDURE TOSET PROCEDURE TO〈〈过程文件名过程文件名〉〉•语句功能:语句功能:–打开打开〈〈过程文件名过程文件名〉〉所指定的过程文件所指定的过程文件•说明:说明:–调用过程文件仍使用调用过程文件仍使用DODO语句语句 3.3.关闭过程文件关闭过程文件•在主程序结束之前应用下面语句关闭过在主程序结束之前应用下面语句关闭过程文件程文件•语句格式:语句格式: CLOSE PROCEDURECLOSE PROCEDURE•语句功能:语句功能:–关闭已打开的过程文件。

      关闭已打开的过程文件 带参数的过程调用带参数的过程调用 •允许在调用命令和被调用过程中设置数量相允许在调用命令和被调用过程中设置数量相同,类型一致的参数,按其排列顺序一一对同,类型一致的参数,按其排列顺序一一对应;应;•调用命令将一系列参数的值传送给被调用程调用命令将一系列参数的值传送给被调用程序中的对应参数;序中的对应参数;•被调用程序运行结束时,再将相应参数的值被调用程序运行结束时,再将相应参数的值( (可能已被改变可能已被改变) )返回;返回;•这种方法可用带参数传递语句来实现这种方法可用带参数传递语句来实现 带参数的过程调用带参数的过程调用•语句格式:语句格式: DODO〈〈文件名文件名〉〉WITHWITH〈〈发送参数表发送参数表〉〉•语句功能:语句功能:–带参数调用一般过程和过程文件中的带参数调用一般过程和过程文件中的过程及应用程序过程及应用程序 说明:说明:•参数可以是常量、变量和表达式参数可以是常量、变量和表达式•被调用的程序中第一个可执行的语句必须被调用的程序中第一个可执行的语句必须是参数语句,参数语句有以下格式:是参数语句,参数语句有以下格式: PARAMETERSPARAMETERS〈〈接受参数表接受参数表〉〉•语句功能:语句功能:–接受调用命令中相应参数的值,并在调用结束接受调用命令中相应参数的值,并在调用结束后返回对应参数的计算值后返回对应参数的计算值• 说明:说明:–参数表必须与调用命令中的参数相匹配。

      参数表必须与调用命令中的参数相匹配–参数语句与带参数调用语句必须配合使用,成参数语句与带参数调用语句必须配合使用,成对出现对出现 习题习题 ((P.166)) 一、单项选择题一、单项选择题二、思考题(不必交)二、思考题(不必交)三、上机操作题三、上机操作题 。

      点击阅读更多内容
      相关文档
      2025国开山东开大《土质学与土力学》形成性考核123答案+终结性考核答案.docx 中学综合素质知识点梳理【中学教师资格证】.docx 2025国开山东开大《特许经营概论》形成性考核123答案+终结性考核答案.doc 2025年高考英语全国一卷真题(含答案).docx 2025国开山东《农民专业合作社创建与管理》形成性考核123答案+终结性考核答案.docx 2025国开山东开大《自然现象探秘》形成性考核123答案+终结性考核答案.docx 2025国开山东《消费心理学》形成性考核123答案+终结性考核答案.doc 2025国开山东《小微企业管理》形成性考核123答案+终结性考核答案.doc 2025国开山东开大《资本经营》形成性考核123答案+终结性考试答案.docx 2025国开山东《小学生心理健康教育》形考123答案+终结性考试答案.docx 2025国开《视频策划与制作》形考任务1-4答案.docx 2025国开《亲子关系与亲子沟通》形考任务234答案+期末大作业答案.docx 2025国开电大《煤矿地质》形成性考核123答案.docx 2025国开电大《冶金原理》形考任务1234答案.docx 2025国开《在线学习项目运营与管理》形考任务1234答案.doc 2025国开电大《在线教育的理论与实践》阶段测验1-4答案.docx 2024 年注册环保工程师《专业基础考试》真题及答案解析【完整版】.docx 环保工程师---2023 年注册环保工程师《专业基础考试》真题及答案解析【完整版】.docx 2025国开《液压与气压传动》形考任务一参考答案.docx 2025年春江苏开放大学教育研究方法060616计分:形成性作业2、3答案.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.