第五章-结构化程序设计基础_第1页
第五章-结构化程序设计基础_第2页
第五章-结构化程序设计基础_第3页
第五章-结构化程序设计基础_第4页
第五章-结构化程序设计基础_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章结构化程序设计基础程序文件是一个文本文件,默认扩展名为.PRG。用户可以使用vfp的文本编辑器或其他字处理软件创建程序文件。1.创建和编辑程序命令Modifycommand<程序文件名>2.运行程序文件

格式:DO<程序文件名>DO可以在命令窗口中运行程序,也可以在程序中调用其他程序,还可以调用过程3.添加注释

“*”符号或note命令用于给某个程序行添加注释,”&&”符号可在语句行的后面添加注释。4.简单的输入输入命令

(1)输入字符命令ACCEPT[提示信息]to<内存变量>WAIT[提示信息][to内存变量][window[at行,列]][NOWAIT](2)输入表达式命令INPUT[提示信息]TO<内存变量>(3)格式化输入/输出命令

格式化输出命令:@<行,列>say[显示信息]

格式化输入命令:@<行,列>say[显示信息]GET<变量>

READ5.其他命令清屏命令clear设置会话状态settalkon/off设置文件安全setsaftyon/off5.测试函数

测试行坐标的函数ROW()返回类型:N

测试列坐标的函数COL()返回类型:N6.结构化程序有3种基本程序结构:顺序结构、选择结构、循环结构

顺序结构是最基本的程序结构,也是使用得最广泛的程序结构。

(1)单分支选择结构

格式:IF<条件><语句组>ENDIF

满足条件语句组ENDIF后面的语句NY(2)双分支选择结构

格式:IF<条件><语句组1>ELSE<语句组2>ENDIF

满足条件语句组1语句组2ENDIF后面的语句YN(3)多分支选择结构

格式:DOCASECASE<条件1><语句组1>CASE<条件2><语句组2>……CASE<条件n><语句组n>[OTHERWISE]<语句组>ENDCASE满足条件1满足条件2满足条件n…

有OTHERWISEENDCASE后面的语句NNNN语句组1Y语句组2Y语句组nY语句组1Y循环结构(1)指定条件的循环

格式:DOWHILE<条件><语句组>ENDDO(2)针对记录的循环

格式:SCAN[FOR条件]<语句组>ENDSCAN(3)指定次数的循环

格式:FOR<变量>=<初值>TO<终值>[STEP步长]<语句组>ENDFOR7.循环控制命令(1)终止本次循环,使程序再次检查是否满足条件,以决定是否进行下一次循环LOOP(2)结束循环,使程序执行循环结构后面的语句EXIT满足条件1语句组语句组LOOPY循环后面的语句满足条件1语句组语句组EXIT循环后面的语句YNN

子程序子程序具有特定功能和逻辑结构的完整程序段。它可以独立存在,也可以被调用。一个文件只能有一个子程序,多个子程序要存放多个文件中,可直接调用,无返回值主程序:只能调用其他的程序而不能被其他程序调用子程序:是一个程序文件,能被主程序调用,也能被其它子程序调用格式:[PARAMETERS<形参表>]<命令序列>return调用格式:do<文件名>[with<实参表>]注意:子程序不能出现循环调用

过程定义:是一种特殊的子程序,可以和主程序在同一个文件中,也可以一个或多个过程存放在一个文件中,如和主程序在一个文件中可直接调用,否则,必须通过打开过程文件才可以调用,使用完再将过程文件关闭,有返回值。格式:PROCEDURE<过程名>[PARAMETERS参数列表]

语句组[RETURN<表达式>][ENDPROC]

调用格式:1、DO过程名[with参数列表]2、过程名(参数列表)3、DO过程名[with参数列表]

IN<文件名>过程结束,一般不用打开过程文件的命令格式:setprocedureto[过程文件]关闭过程文件的命令格式:setproceduretocloseprocedurereleaseprocedure<过程文件表>PARAMETERS声明的变量是私有变量LPARAMETERS声明的变量是局部变量8.内存变量(1)全局变量PUBLIC<内存变量表>

初值为.F.,程序运行结束,返回命令窗口,不会被自动删除,用clearmemory或release变量表命令删除;命令窗口中使用赋值命令或系统自动建立的内存变量是全局变量。必须先定义(2)私有变量PRIVATE<内存变量表>在程序中使用赋值命令或由系统自动建立的变量都是私有变量私有变量,当程序运行结束,会自动删除该私有变量(3)局部变量LOCAL<内存变量表>当程序运行结束,返回上一级程序时,自动删除该程序建立的局部变量,必须先定义,后使用。初值.F.自定义函数概念:函数和子程序,过程一样,是独立模块,调用关系也相同,它的程序段要和主调程序在同一个文件中,它的调用和标准函数相同,它可以进行参数传递,可以有返回值。格式:function<函数名>[parameters<形参表>]<命令序列>[return<表达式>][endfunc]Return<表达式>子句返回函数的值,若无表达式,return返回逻辑值,若不选此句,在函数结束上自动执行一条隐含的return命令函数结束,一般不用例:主程序input“x”toxinput“y”toyA=f1(x,y)?Areturn自定义函数

functionf1parameterswidth,lengths=width*lengthreturnsendfunc参数传递两种方式值传递:单向传递,实参为常量或一般表达式时,系统将值传给对应的形参地址传递或引用传递:是双向的,若实参为变量,此时形参与实参实际上是同一个变量,实参可为常量、变量、表达式,形参只能是变量。内存变量可以用值传递方式,也可以用地址传递的方式,使用值传递的方式要用括号括起来。若实参个数小于形参个数,多余的形参值取.F.若实参个数大于形参个数,系统提示错误键盘输入一任意字符串,然后,输入所要查找字符。存在则返回它第一次在字符串中出现的位置;否则,输出"在字符串中查找不到!"。并实现对同一字符串,能连续输入所要查找的字符。例如:字符串”wqcc124wdqd”,查找”q”,则输出”在第2位找到”,查找”a”,输出"在字符串中查找不到!"。

Clear

Declare

a(5)

For

i=1

to

5

Input

“请输入数值:”

to

a(i)

Endfor

Max=a(1)

For

i=2

to

If

max<a(i)

Max=____________

Endif

Endfor

?

&&输出最大数

SET

TALK

ON

Return第六章面向对象的程序设计多重表单

是指在多个表单之间存在着主从关系或层次关系

在表单调用中能调用其他的表单称为主表单或父表单,而被其他表单调用的表单称为子表单。

上层表单就是父表单

下层表单就是子表单VFP支持为实现SDI和MDIvfp将表单分为子表单、浮动表单、顶层表单单文档界面(SDI)只能显示一个文档窗口多文档界面(MDI)显示一个或者多个文档窗口子表单

包含在父表单窗口中,不可以移至父表单边界之外,最小化显示在父表单底部,父表单最小化子表单也最小化,在表单设计器中创建。将showwindow属性设为0或1浮动表单

是一种特殊子表单,属于父表单的一部分,但不含在父表单中,可移动到屏幕的任何位置,不可在父窗口后移动,最小化时显示在桌面底部,当父表单最小化也一同最小化,表单设计器中创建。将showwindow属性设为0或1,desktop属性为.T.顶层表单

没有父表单的独立表单,与应用程序同级,可出现在前台后台,并显示在任务栏中,表设计器中创建。将showwindow属性设为2主表单调用子表单格式:doform<表单文件名>[with<实参表>][to<内存变量>]功能:执行由表单名指定的子表单说明:(1)[with<实参表>]:父表单实参传给子表单,子表单在init事件中必须有p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论