@8,4 say '错误代码:'+allt(str(m_num)) colo w+/b
@9,4 say '错误内容:'+iif(len(m_mess)<=28,m_mess,subs(m_mess,1,28)+'...') colo w+/b
@2,3 to 2,wcol()-4 colo w/b @5,3 to 10,wcol()-4 colo w/b
=opendbf('errosave','errosave','shar')&&存放错误情况 inse into ;
dbf\\errosave (errodate,errotime,erroprog,erroline,errocode,erromess); valu (date(),time(),m_prog,m_line,m_num,m_mess) use in errosave m_readkey=20 m_cnt=1
do while m_readkey=20 if mod(m_cnt,2)=0
@1,6 say ' 错误警告' colo b/b else
@1,6 say ' 错误警告' colo gr+/b endi
@wrow()-2,wcol()/2-2 get mb_isee func '*th 确定' defa 1 &&colo sche 13 read cycl modal time 0.4 m_readkey=readkey() m_cnt=m_cnt+1 endd
set cons &m_odcons clea wind close data clea
retu to master&&返回主程序
6. 显示文件目录命令
格式:DIR [<驱动器>][<路径>][<文件名>] 功能:显示指定的磁盘驱动器上的文件名
说明:<文件名>中可带通配符;命令中不指定文件名,则仅仅显示指定目录下的数据表文件名。 7.清屏命令CLEAR 格式:CLEAR 功能:清除屏幕 8.总清命令CLEAR ALL 格式:CLEAR ALL
功能:关闭所有打开的数据表文件、索引文件和其他各种档,清除已有的内存变量
9.SET TALK ON/OFF
四. 程序设计基础
程序的概念
命令执行方式:通过命令菜单或直接在命令窗口输命令来执行,执行的结果显示在屏幕上。 程序执行方式:以程序的方式来执行。
程序是能够完成一定任务的命令的有序集合,这组命令存放在程序文件(*.prg)中,执行程序时,系统按一定的次序自动执行包含在程序文件中的命令。
程序的特点
可以利用编辑器,方便地输入、修改和保存程序。 可以利用多种方式、多次运行程序。 可以在一个程序中调用另一个程序。
程序的基本要求
正确性,能实现算法的各个步骤,逻辑上正确,对输入产生的错误有检测措施。 通用性,不能只解决一个问题,还考虑解决一类问题。 高效率性,编写运行时间短,占用存储空间少的程序。 可维护性,程序应易读、易懂、易修改。 安全性,必须确保安全、可靠。
程序文件的建立
在项目管理器中和菜单中建立
用命令方式:modify command <文件名>
程序的执行
从“ 程序” 菜单中选择“ 运行” 命令方式:do < 文件名>
<文件名>中如果没有指定扩展名,系统将按下列顺序寻找程序文件并执行: .exe-->.app( 应用程序)-->.fxp( 编译程序)-->.prg
当程序文件被执行时,档中包含的命令将被依次执行,直到所有的命令被执行完毕中,或者执行到以下命令:
cancel ( 终止程序执行,返回命令窗口) do( 转去执行另一个程序)
return( 结束当前程序,返回到上级程序,若无上级程序则返回到命令窗口) quit( 退出VFP 系统,返回到操作系统)
程序结构
(1)每个程序都必须有1个文件名,文件名由字符、数字或底线组成,第一个字符必须是字母或汉字,程序扩展名为.PRG
(2)程序由若干行数据库命令组成,每行最多写2048个字符,1行只能写1条命令,若把一个命令写成若干行,需在该命令的第1行及中间各行的行尾写“;”号,但最后一行不写。
(3)注释行由“*”开头,用以说明程序的名称、功能及其他需要说明的问题,“*”是注释命令,是非执行语句,可以写在程序任一位置。
(4)以“set”开头的命令为环境设置命令,一般出现在可执行语句的前面。 (5)每行程序的后部可以写由“&&”号引导的注释。 (6)“return”命令是返回命令,表示程序结束。
编写程序的步骤
举例:编写一个简单的程序:给出一个整数,判断是奇数还是偶数。 (1)分析任务,确定方法; (2)分解任务,描述算法; (3)编写程序,认真检查; (4)上机调试,纠正错误
流程图
流程图符号的使用规则:
流程线的方向是从左到右,自上而下,非标准流向的流程线要用箭头表示。 流程线就尽量避免交叉。
流程图符号内的文字一律从左到右,自上而下书写。 流程图符号的注释应写在符号右侧。
出入口处的连接符应使用相同名称,表示把它们连接起来。
子程序、过程和自定义函数
模块化:按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块的过程。
模块:一个在结构上相对独立的程序段。可以是子程序、过程或自定义函数。 子程序的基本概念
子程序:总被其它程序调用的,一般不单独运行的一个程序段。
子程序与主程序的关系:是一种调用和被调用的关系。主程序是能调用其他子程序,而不被其他程序调用的程序,凡能被调用的程序都称为子程序。程序中至少应有一个主程序,可以有一个或若干个子程序。 子程序的使用
①使用模块化程序设计方法编写程序时,把各个功能划分成若干个功能子模块,把子模块写成一个子程序。
②需要反复调用的情况下,可以写成一个子程序,以节省存储空间。
编写子程序
调用子程序命令格式:
do <子程序名>[ WITH<参数表>] 子程序返回命令
return [ to master ]
表示返回到上一级子程序或主程序。带参数to master表示无论在哪级子程序上,均立即返回主程序。 例1、 对任意给的正整数A、B、C,编写程序计算S=A!+(3/5)B!+(C!/2)
调试子程序
联合调试:当主程序和子程序分别编辑完成之后,直接运行主程序。若主程序或子程序有错,再进行编辑、调试、重新运行,直到输出正确结果为止。
单独调试:编辑一个模块,调试一个模块,各个模块都调试成功后,加入主程序联调。
例2、根据数据库student.dbf编写一个菜单程序main.prg,完成对数据库查询程序cx.prg和删除程序sc.prg的调用
过程与过程档 过程是一段程序,它与子程序不同之处在于,子程序是一个独立文件,而过程是过程档的一个组成部分,可以把多个过程写在一个过程档中。 过程的结构:
procedure <过程名> <过程体>
return [to master/to <程序名>]
过程名由用户定义,供调用过程时使用,过程体是一个语句序列,是过程的核心部分,选择to <程序名>表示返回到“程序名”指定的程序。 过程文件的结构
procedure <过程名1> <过程体1>
return [to master/to <程序名>] procedure <过程名2> <过程体2>
return [to master/to <程序名>] ??
procedure <过程名n> <过程体n>
return [to master/to <程序名>] 过程档的调用
在主程序中,调用过程前,首先要打开过程档。 命令格式:set proc to <过程文件名> 调用后,要关闭过程档。
命令格式:set procedure to 或 close procedure 过程的调用
格式:do <过程名>
例3、 根据数据库student.dbf编写一个菜单程序gczxc.prg,用过程形式完成对数据库查询程序cx.prg和删除程序sc.prg的调用。
自定义函数命令
命令格式:(1)function <函数名> (2) return <表达式> 基本格式:
function<函数名> parameters <参数表> <语句序列>
return <表达式>
主程序与自定义函数的组织形式:
举例计算组合数的值 编写K!的函数。 作业
1、从键盘输入五个数组,每组有六个数据,分别用子程序、过程、自定义函数的方法,输出每组数的最大值和最小值。
2、用子程序、过程、自定义函数三种不同形式对student.dbf数据库编写一个菜单程序: 系统主菜单 1??追加记录 2??修改记录 3??插入记录 4??删除记录 5??输出记录 6??退 出
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VFP命令、函数及程序语句大全(1)(2)(3)(6)在线全文阅读。
相关推荐: