VisualFoxPro程序设计初步课件

PPT
  • 阅读 54 次
  • 下载 0 次
  • 页数 41 页
  • 大小 283.502 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
VisualFoxPro程序设计初步课件
可在后台配置第一页与第二页中间广告代码
VisualFoxPro程序设计初步课件
可在后台配置第二页与第三页中间广告代码
VisualFoxPro程序设计初步课件
可在后台配置第三页与第四页中间广告代码
VisualFoxPro程序设计初步课件
VisualFoxPro程序设计初步课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 41
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】VisualFoxPro程序设计初步课件.ppt,共(41)页,283.502 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44921.html

以下为本文档部分文字说明:

第7章FoxPro程序设计初步第7章FoxPro程序设计VisualFoxPro的工作方式程序文件的建立与编辑程序的基本结构分支结构循环结构过程第7章FoxPro程序设计初步VisualFoxPro的

工作方式VisualFoxPro系统提供有三种工作方式:即单命令方式、菜单方式及程序文件方式。1.单命令方式所谓单命令方式,即在Command窗口输入一条命令,完成一个操作的工作方式。2.菜单方式所谓菜单方式,即通过打开不同的菜单选择并完成不同的操作。3.程序文件方式程序文件(简称程序)也叫

做命令文件。将对数据库资源进行操作管理的命令和对系统环境进行设置的命令,集中在一个以(.PRG)为扩展名的命令文件中,然后再通过菜单方式或命令方式运行该命令文件。所谓命令方式,即通过程序文件中的命令完成不同的操作。第7章FoxPro程序设计初步7.1

.1程序的概念有关此VisualFoxPro程序的几点说明:1.注释语句【格式1】NOTE<注释内容>【格式2】*<注释内容>【格式3】&&<注释内容>【功能】增强程序文件的易读性或放弃<注释内容>中语

句的执行2.对话开关语句【格式】SETTALKOFF|ON【功能】关闭或打开命令执行时的对话开关3.命令的分行VisualFoxPro程序是命令行的序列,每个命令都以回车键结束,一行只能写一条命令;若一条命令太长,一行写不下,也可分行书写,并在分

行处加上续行符“;”,再按回车键。第7章FoxPro程序设计初步7.1.2程序文件的建立、修改与执行1.建立或修改程序文件可用两种方式调用系统内置的文本编辑器建立或修改程序文件:命令方式MODIFYCOMMAND[<盘符>][<路径>]〈程序文件名〉或MOD

IFYFILE[<盘符>][<路径>]〈程序文件名〉菜单方式打开“文件”菜单,选择“新建”;在“新建”窗口,选择“程序”,再选择“新建文件”2.保存程序程序输入、编辑完毕,单击【文件】|【保存】菜单项,或按Ctrl+W复合键,在“另存为”对话框

中指定程序文件的存放位置和文件名,并单击“保存”按钮保存程序文件并退出文本编辑器。程序文件的默认扩展名是.PRG。第7章FoxPro程序设计初步3.执行程序程序文件建立后,可以用多种方式、多次执行它。下面是两种常用的方式。(1)菜单方式①单击【程序】|【运行】菜单项,打开“运行”对

话框;②从文件列表框中选择要运行的程序文件,并单击“运行”命令按钮,启动运行该程序文件(2)命令方式【格式】DO[<盘符>][<路径>\]<文件名>【功能】执行指定<盘符>、<路径>下的程序文件注:执行程序文件时,将依次执行文件中

的命令,直到所有命令执行完毕,或者执行到以下命令:①CANCAL:终止程序运行,清除所有的私有变量,返回命令窗口;②RETURN:结束程序执行,返回调用它的上级程序,若无上级程序则返回命令窗口;③QU

IT:结束程序执行并退出VisualFoxPro系统,返回操作系统第7章FoxPro程序设计初步7.1.3简单的输入输出命令1.ACCEPT命令【格式】ACCEPT[<提示信息>]TO<内存变量>【功能】在程序执行过程中,将用户交互式输入的内容作为字符串赋值给

指定内存变量。该命令只接受字符型数据,输入的字符串不需要加定界符2.INPUT命令【格式】INPUT[<提示信息>]TO<内存变量>【功能】在程序执行过程中,将用户交互式输入的内容赋值给指定内存变量可

以输入字符型、数值型、逻辑型、日期型和日期时间型等类型数据,而且可以是常量、变量、函数或表达式等形式,按回车键结束输入,系统将输入的数据赋值给<内存变量>。第7章FoxPro程序设计初步【例】编程从键盘输入某数据库的文件名,要求打开该数据库并显

示其内容。程序文件名为PROG2.PRG。MODICOMMANDPROG2SETTALKOFFCLEARACCEPT“请输入数据库名:”TOAAAOPENDATABASE&AAAACCEPT"请输入表名"TOBBBUSE&B

BBLISTUSESETTALKONRETURN(p1.prg)第7章FoxPro程序设计初步【例】从键盘输入两个任意正数,编程求以两数为边长的长方形面积。程序文件名为PROG4.PRGSETTALKOFFCLEARI

NPUT“长方形一边的长为:”TOAINPUT“长方形另一边的长为:”TOBS=A*B?“长方形的面积为:”,SSETTALKONRETURN(p2.prg)第7章FoxPro程序设计初步3.WAIT命令•【

格式】WAIT[<提示信息>][TO<内存变量>][WINDOW[AT<行>,<列>]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT<数值表达式>]•【功能】显示提示信息,暂停程序执行,直到用户按任意键或单击鼠标时继续执行程序。•若选择可选项

[TO<内存变量>],将输入的单个字符作为字符型数据赋给指定的<内存变量>;若用户是按Enter键或单击鼠标,<内存变量>的值为空串。•若省略所有可选项,屏幕显示“键入任意键继续……”默认提示信息第7章FoxPro程序设计初步【例】在STUDENT数据库的

STUD表中显示任意一个系学生的情况。程序文件名为PROG6.PRGSETTALKOFFCLEAROPENDATABASESTUDENTUSESTUDWAIT“请输入待查学生的系号(1—3):”TONIFVAL(N)<1.OR.VAL(N)

>3WAIT“输入无效,结束程序运行!”WINDOWTIMEOUT5RETURNELSESTORE“0”+NTOAAALISTFOR系别号=AAAENDIFCLOSEDATABASESETTALKONR

ETURN第7章FoxPro程序设计初步4.三条输入命令的异同•ACCEPT命令只能接受字符型数据,不需定界符,输入完毕按回车键结束;•WAIT命令只能输入单个字符,且不需定界符,输入完毕不需按回车键;•INPUT命令

可接受数值型、字符型、逻辑型、日期型和日期时间型数据,数据形式可以是常量、变量、函数和表达式,如果是字符串,需用定界符,输入完毕按回车键结束。第7章FoxPro程序设计初步程序的基本结构VisualFo

xPro系统提供的命令丰富,且功能强大,把这些命令和程序设计语句有效地组织在一起,就形成了实现某一特定功能的程序。VisualFoxPro系统的程序有两个特点:一是程序控制流模式(面向过程),由顺序、分

支、循环三种基本结构构成。二是面向对象可视化的结构程序模块,在每个模块的内部也是由程序控制流组成。常见的控制结构如下:1.顺序结构23.循环结构4.过程(函数)结构第7章FoxPro程序设计初步分支结构1【格式1】IF〈条件表达式〉〈命令行序列1〉[ELSE〈命令行序列2〉]ENDIF语句功能

:该语句首先计算〈条件表达式〉的值,当〈条件表达式〉的值为真时,执行〈命令行序列1〉;否则,执行〈命令行序列2〉。真条件式假语句序列2语句序列1ENDIF后面语句第7章FoxPro程序设计初步【例】编写一密码校验程序(假设密码为ABC)。程序文件名为P3.PRG。SETTA

LKOFFCLEARACCEPT“请输入您的密码:”TOAAAIFAAA=”ABC”CLEAR?”欢迎使用本系统!”ELSE?”密码错误!”WAITQUITENDIFSETTALKON(p3.prg)第7章FoxPr

o程序设计初步【例】编写一查询学生基本情况的程序,P4.PRG。settalkoffopendatabasejsjdjksuset_bmbclearaccept"请输入学生的准考证号:"tozzzlocateforzkzh=zzzif.not.eof()?"姓

名:"+xm?"性别:"+IIF(xb,"男","女")?"出生日期:"+DTOC(csrq,1)else?"查无此人!!!"endifclosedatabasereturn第7章FoxPro程序设计初步3.多向分支语句,即根据多个

条件表达式的值,选择执行多个操作中的一个对应执行。语句格式:DOCASECASE〈条件表达式1〉<命令行序列1〉CASE〈条件表达式2〉<命令行序列2……CASE〈条件表达式N〉命令行序列N[OTHERWISE〈命令行序列N+1〉]ENDCASE真条件式

2语句序列1ENDCASE后面语句条件式1Otherwise条件式2真语句序列2真语句序列n-1有语句序列n无第7章FoxPro程序设计初步【例】假设收入(P)与税率(R)的关系如下表,编程求税金。程

序文件名为P5.PRG。0P<800R=0.05800≤P<20000.082000≤P<50000.1P≥5000SETTALKOFFCLEARINPUT“请输入收入:”TOPDOCASECASEP<800R=0CASEP<2000R=0.05CASEP<5000R=0.08OTHERWISE

R=0.1ENDCASETAX=P*R?”税金为:”,TAXSETTALKONRETURN(p5.prg)第7章FoxPro程序设计初步4.使用分支语句应注意的几点(1)IF……ENDIF和DOCASE……ENDCASE必须配对使用,DOCASE与第

一个CASE〈条件表达式〉之间不应有任何命令。(2)〈条件表达式〉可以是各种表达式或函数的组合,其值必须是逻辑值。(3)〈命令行序列〉可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。(4)DOCASE……ENDCASE命令,每次最多只能执行一个〈命令行序

列〉。在多个CASE项的〈条件表达式〉值为真时,只执行第一个〈条件表达式〉值为真的〈命令行序列〉,然后执行ENDCASE的后面的第一条命令。第7章FoxPro程序设计初步循环结构1.DOWHILE循环语句【格式

1】DOWHILE<条件表达式><语句序列>ENDDO一个循环结构一般应具备如下的条件:(1)循环的初始条件:一般为给循环控制变量赋初值;(2)循环头:循环语句的起始,设置、判断循环条件;(3)循环尾:循环语句的结尾;(4)

循环体:位于循环头和循环尾之间、循环控制重复执行的语句序列ENDDO后面的语句条件表达式式真循环体假第7章FoxPro程序设计初步【格式2】DOWHILE<条件表达式><语句序列1>[LOOP]<语句序

列2>[EXIT]<语句序列3>ENDDO•LOOP语句:强行返回到循环开始语句。•EXIT语句:强行跳出循环,接着执行ENDDO后的语句ENDDO后面的语句条件表达式式真假循环体[LOOP][EXIT]第7章FoxPr

o程序设计初步【例】编程求1+2+3+……+100之和。程序文件名为P6.PRG。SETTALKOFFCLEARS=0I=1DOWHILEI<=100S=S+II=I+1ENDDO?”1+2+3+……+100=”,SSE

TTALKONRETURN第7章FoxPro程序设计初步【例】逐条显示在jsjdjks数据库的t_cjb表中bscj>=90的所有记录。程序文件名为P7.PRG。(p71.prg)SETTALKOFFCLEAROPENDATABASEjsjdjksUSEt_cjbDOWHILE.NOT.EOF

()IFbscj>=90DISPLAYENDIFSKIPENDDOCLOSEDATABASESETTALKONRETURNSETTALKOFFCLEAROPENDATABASEjsjdjksUSEt_cjbLOCATEFORbscj>

=90DOWHILE.NOT.EOF()DISPLAYWAITCONTINUEENDDOCLOSEDATABASESETTALKONRETURN第7章FoxPro程序设计初步【例】编程显示STUDENT数据库的STUD表中除“李宁”以外的所有记录。SETTALKOFFCLEAROPEND

ATABASESTUDENTUSESTUDDOWHILE.NOT.EOF()IF姓名=”李宁”SKIPLOOPENDIFDISPLAYSKIPENDDOCLOSEDATABASESETTALKONRETURN第7章FoxPro程序

设计初步2.FOR循环语句【格式】FOR<循环变量>=<初值>TO<终值>[STEP<步长>]<循环体>ENDFOR|NEXT使用FOR循环语句的有关说明:①省略STEP<步长>,则〈步长〉为默认值1;②〈初值〉、〈终值〉和〈步长〉都可以是数值表达式,但这些表达式仅在循环语句开始执行时计算一次。循

环语句执行过程中,初值、终值和步长是不会改变的,并由此确定循环的次数;③可以在循环体内改变循环变量的值,但会改变循环执行次数;④EXIT和LOOP命令可以出现在循环体内。执行LOOP命令时,结束本次循环,循环变量增加一个步长值,返回FOR循环头判断循环条件是否成立。执行EXIT

命令时,程序跳出循环,执行循环尾后面的语句第7章FoxPro程序设计初步【例6-23】从键盘输入10个数,编程找出其中的最大值和最小值。程序文件名为P8.PRG。SETTALKOFFCLEARINPUT“请从键盘输入”+alltrim(str(i))+“个数:"TOASTOREAT

OMAX,MINFORI=2TO10??“请从键盘输入”+I+??i??“个数:”TOAIFMAX<AMAX=AENDIFIFMIN>AMIN=AENDIFENDFOR?“最大值为:”,MAX?“最小值为:”,MINSETTALKONRETURN第7章FoxPro程序设计初步4.使

用循环语句时应注意的几点(1)DOWHILE和ENDDO、FOR和ENDFOR必须配对使用。(2)〈命令行序列〉可以是任何FoxPro命令或语句,也可以是循环语句,即可以为多重循环。(3)〈循环变量〉应是数值

型的内存变量或数组元素。(4)EXIT和LOOP命令嵌入在循环体内,可以改变循环次数,但是不能单独使用。EXIT的功能是跳出循环,转去执行ENDDO、ENDFOR后面的第一条命令;LOOP的功能是转回到循环的开始处,重新对“条件”进行判断,相当于

执行了一次ENDDO、ENDFOR命令,它可以改变〈命令行序列〉中部分命令的执行次数。EXIT、LOOP可以出现在〈命令行序列〉的任意位置。第7章FoxPro程序设计初步5.多重循环多重循环即循环的嵌套,是在一个循环结构的循环体中又包含另一个循环。我们称

外层循环为外循环,被包含的循环为内循环。嵌套层数一般没有限制,但内循环的循环体必须完全包含在外循环的循环体中,不能相互交叉。正确的嵌套关系如:DOWHILE<条件表达式1><语句序列11>DOWHILE<条件表达式2><语句序列21>DOWHILE

<条件表达式3><语句序列3>ENDDO<语句行序列22>ENDDO<语句行序列12>ENDDO第7章FoxPro程序设计初步【例】编程输出下三角形乘法口诀表。程序文件名为P9.PRG。SETTALKOFFCLEARX=1DOWHILEX<=9Y=1DOWH

ILEY<=XS=X*Y??STR(Y,1)+"*"+STR(X,1)+"="+STR(S,2)+""Y=Y+1ENDDO?X=X+1ENDDOSETTALKONRETURN第7章FoxPro程序设计初步7.3

多模块程序应用程序一般都是包含多个程序模块,模块是一个相对独立的程序段,它可以被其他模块所调用,也可以去调用其他的模块。通常被其他模块调用的模块称为子程序,后之为主程序。7.3.1模块的定义和调用格式:PROCEDURE|F

UNCTION<过程名><命令序列>[RETURN[表达式]][ENDPROC、ENDFUNC]注意:过程执行到RETURN时将跳转到调用程序,并返回表达式的值。如果缺少RETURN时,将默认返回一个逻辑真.T.。第7章F

oxPro程序设计初步1.过程/模块文件的建立过程文件的建立方法与程序文件相同。可用MODIFYCOMMAND<过程文件名>命令或调用其他文字编辑软件来建立。2.过程/模块的调用格式1:DO<文件名>|<过程名>格式2:<过程名>()&&即在名字后加一对小括号注:格式2即可以作为

命令使用(返回值被忽略),也可以作为函数出现在表达式里。第7章FoxPro程序设计初步&&p10.prgsetproceduretop12clear*p11()dof1?"流程序结束"*过程f1proceduref1?"过程f1开始"?"调用f

3()"?"返回值:",f3()?"过程f1结束"endproc&&p11.prg?"子程序p11开始"?"调用f3()"x=f2()?"返回值为:",x?"子程序p11结束"return&&p12.prgproceduref2returnprocedu

ref3return100第7章FoxPro程序设计初步2.过程文件的打开如果被调用某过程文件与主程序不在同一同件中时,必须先打开该过程文件,打开过程文件命令为:【格式】SETPROCEDURETO<过程文件名>[ADDITIVE

]任何时候系统只能打开一个过程文件,当打开一个新的过程文件时,原已打开的过程文件自动关闭。如果选用ADDITIVE,那么在打开过程文件时,并不关闭原先已打开的过程文件。3.过程文件的关闭关闭过程文件可用下列命令:【格式一】SETPROCEDURETO【格式

二】CLOSEPROCEDURE[过程文件]第7章FoxPro程序设计初步7.3.3过程调用中的参数传递过程可以接收调用程序传递过来的参数,并能够根据接收到的参数控制程序流程或对接收的参数进行处理,从而大提供了模块

程序功能设计的灵活性1.有参过程中的形式参数定义有参过程中的形式参数定义语句为:【格式】PARAMETERS|LPARAMETERS<参数表>该语句必需是过程中第一条语句。<参数表>中的参数可以是任意合法的内存变量名,用PARAMETERS命令声明的形

参变量被看作过程程序的私有变量。而LPARAMETERS则被看成是局部变量。第7章FoxPro程序设计初步2.程序与被调用过程间的参数传递程序与被调用过程间的参数传递是通过过程调用命令DO<过程名>WITH<参数表>来实现的。【说明】(1)DO命令<参

数表>中参数称为实际参数,PARAMATERS命令<参数表>中的参数称为形式参数。两个<参数表>中的参数必须相容,即个数相同,类型和位置一一对应;(2)VisualFoxPro的参数传递规则为:如果实际参数是常数或表达式则传值,如果实际参

数是变量则传址,即传递的不是实参变量的值而是实参变量的地址,这样,过程中对形参变量值的改变也将使实参变量值改变。如果实参是内存变量而又希望进行值传递,可以用圆括号将该内存变量括起来,强制该变量以值方式传递数据第7章FoxPro程序设计初步【例】用参数传

递编程,计算圆的面积。*主程序名P13.prgSETTALKOFFCLEARS=0INPUT”请输入圆的半径:”TORDOAREAWITHR,S?”圆的面积为:”,SSETTALKONPROCEDUREAREA&&计算面积的过程PARAM

ETERX,Y&&形参说明Y=3.1416*X**2RETURN第7章FoxPro程序设计初步SETTALKOFFCLEARS=0INPUT"请输入圆的半径:"TORDOAREAWITHR,(S)&&强制按传值方式?"圆的面积为:",SSETTALKON?PROCEDURE

AREA&&计算面积的过程PARAMETERX,Y&&形参说明Y=3.14*X**2RETURN第7章FoxPro程序设计初步7.3.6内存变量的作用域1.全局变量全局变量是指在所有程序模块中都有效的内存变量在程序或过程中定义全局变量的语句为:

【格式】PUBLIC<内存变量表>【例】publicg,h说明:(1)用PUBLIC语句定义过的内存变量,在程序执行期间可以在任何层次的程序模块中使用;(2)变量定义语句要放在使用此变量的语句之前,否则会出错;(3)任何已经定义为全局变量的变量

,可以用PUBLIC语句再定义,但不允许重新定义为局部变量;(4)使用全局变量可以增强模块间的通信,但会降低模块间的独立性。第7章FoxPro程序设计初步2.私有变量私有变量是指在建立它的程序以及被此程序调用的程序中有效的内存变量在程序中

没有被PUBLIC或LOCAL说明的内存变量都被看作是私有变量。有时为避免在子程序中修改全局变量或上层私有变量,我们可以用以下命令来隐藏指定的全局变量或上上层私有变量。【格式1】PRIVATE<内存变量表>【格式2】PRIVAT

EALL[LIKE|EXCEPT<通配符>]第7章FoxPro程序设计初步3.局部变量局部变量是指中能在建立它的程序中使用,不能在上层或下层程序/模块中使用的内存变量。局部变量也可以用LOCAL说明,命令格式为:【格式】LO

CAL<内存变量表>第7章FoxPro程序设计初步&&程序p15.prgreleaseall&&清除内容变量publicx1&&说明全局变量localx2&&说明局部变量store'abcd'tox3&&???x2=123

4dof6?'主程序中...'?'x1=',x1?'x2=',x2?'x3=',x3return*过程f6proceduref6?'子程序中...'x2=5678?'x1=',x1?'x2=',x2?'x3=',x3return第7章FoxPro程序设计初步7.4

程序调试VF提供了调试环境,而从使用我们更容易修改程序中错误。1.进入调试环境:命令:debug

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?