ppt课件 Visual Foxpro第3章程序设计基础.ppt
《ppt课件 Visual Foxpro第3章程序设计基础.ppt》由会员分享,可在线阅读,更多相关《ppt课件 Visual Foxpro第3章程序设计基础.ppt(82页珍藏版)》请在三一办公上搜索。
1、第3章 程序设计基础,3.1 VFP应用程序设计3.2程序文件的建立与执行3.3程序设计基本语句3.4程序控制的基本结构3.5过程与过程文件3.6综合程序设计范例,3.1 VFP应用程序设计,VFP的工作方式命令方式菜单方式程序方式 VFP程序设计过程VFP应用程序包括:一个或多个数据库、设置系统环境的主程序、用户界面(如表单、工具栏和菜单等),还可以包括查询和报表。,设计数据库、确定功能需求|创建数据库、表、视图、关系|/方便用户使用 帮助用户访问信息 表单、菜单、工具栏 查询、报表、图形/|测试与调试|应用程序,创建一个完整的VFP应用程序的全过程,VFP程序设计方法 面向过程程序设计 自
2、顶向下 层层分解子程序之间有严重顺序性和依赖性软件稳定性、可修改性、扩充性、重用性差 面向对象程序设计方法继承 封装 多态各部件相对独立 稳定性、可修改性、维护性、可重用性高,3.1 VFP应用程序设计(续),3.2 程序文件的建立与执行,创建程序 Modify Command 文件名保存程序 修改程序Modify Command 程序文件的调用 DO,程序结束:文件的末尾(返回到调用行的下一行).Return(返回到调用行的下一行)Retry(返回到调用行本身,可以实现程序的 重复调用)Cancel(中断,异常结束,并返回到命令窗口)Quit(返回到操作系统)命令文件(.prg)在运行时先自
3、动编译生成目标程序(.fxp)再执行.,3.2 程序文件的建立与执行(续),3.3程序设计基本语句,1程序注释:Note 或:*2.语句注释&,3.3.1 程序注释语句,中断语句Cancel 功能:中断程序的执行,返回到命令窗口挂起语句Suspend功能:暂停当前程序的执行,并返回到系统命令窗口恢复执行语句Resume功能:恢复被挂起的程序,使之从暂停的位置继续执行,3.3.2 程序调试语句,1.换行输出?功能:分别计算表达式列表的值,并将其输出在当 前光标的下一行同行输出?,3.3.3 简单的输出语句,3.3.4 简单的输入语句,1.数据接收语句:Input To 功能:将键盘输入的数据赋给
4、指定的.将显示在屏幕上。数值型以外的常量,必须输入其定界符.例:Input“请输入出生年月:”To csny Input“请输入奖学金:”To jxjInput“请输入学号:”To xh,2.字符串接收语句 Accept To 从键盘输入的数据只能是字符型常量,且不需定界符.例:Accept 请输入姓名:To xmAccept 请输入学号:To xh,3.3.4 简单的输入语句(续),3.单字符接受语句 Wait To Window At Nowait Noclear Timeout 从键盘输入的数据只能是单字符型常量.例:Wait“请检查输入内容”Window At 10,40,3.3.4
5、简单的输入语句(续),3.3.5 环境设置语句,Clear 清屏Set Talk On/Off功能:打开/关闭对话开关Set Delete On/Off功能:是否忽略有删除标记的纪录.Set Exact On/Off功能:字符串比较是否为精确比较Set Carry On/Off功能:向表中添加纪录时是否将上一条记 录的内容作为新纪录的默认值,Set Default To 功能:设置系统缺省路径.缺省为当前目录Set Exclusive On/Off功能:设置表打开方式为独占或共享Set Escape On/Off功能:程序运行期间按Esc健是否可中断退出Set Udfparms To Valu
6、e/Reference功能:调用自定义函数时参数的传递方式是 传值还是引用,3.3.5 环境设置语句(续),3.4 程序控制的基本结构,例1:求学生表中指定班级的全体学生的奖学金总额。,3.4.1 顺序结构,ClearUse 学生Input 请输入指定的班级:To bjSum 奖学金 To jxj For 班级=bj?bj+班全体学生的奖学金总额为:+Str(jxj,5,2)Use,3.4.2 选择分支结构,二路选择分支结构:IfEndIf多路选择分支结构:Do CaseEndCase1二路选择分支结构If ThenElseEndIf,ClearInput a=TO aInput b=To b
7、Input c=To cD=b*b-4*a*cP=-b/(2*a)If D0?复根ElseIf D=0?X1=x2=,PElseD1=sqrt(D)?X1=,(-b+D1)/(2*a)?X2=,(-b-D1)/(2*a)EndifEndif,例2:求一元二次方程aX2+bX+c=0的根。a,b,c由键盘输入。,2.多路选择分支结构 Do CaseCase CaseCaseOtherwiseEndcase,3.4.2 选择分支结构,例3:从键盘输入学生的学号,在成绩表中计算该生的平均成绩,并给出成绩的档次.(优、良、中、及格、不及格),如果该生不在表中则提示相应的信息。,Use ChjAccep
8、t 请输入学生的学号:To xhLocate For 学号=xhIf!Found()?查无此人!ElseAverage 成绩 To 平均分 For 学号=xh Do Case Case 平均分=90dc=优 Case 平均分=80dc=良 Case 平均分=70dc=中 Case 平均分=60dc=及格 Otherwisedc=不及格Endcase?学号,姓名,平均分,dcEndifUse,3.4.3 循环结构,三种循环语句:Do While EndDoScanEndScan ForEndFor 1.Do While EndDo Do While Exit Loop EndDo,1).对循环次
9、数不确定的程序进行操作Do While.T.If Exit EndIfEndDo,例4:对多个学生成绩的查询,3.4.3 循环结构,Use chjDo While.T.Accept 请输入学生的学号:To xh Locate For 学号=xh If!Found()?查无此人!ElseAverage 成绩 To 平均分 For 学号=xhDo Case Case 平均分=90 dc=优 Case 平均分=80 dc=良 Case 平均分=70 dc=中 Case 平均分=60 dc=及格 Otherwise dc=不及格Endcase?学号,姓名,平均分,dc Endif Wait 还要查询吗
10、?(y/n)To yn If Upper(yn)=y Loop Else Exit EndifEnddoUse,2).对文件的记录逐条进行操作。Do While.Not.Eof()/Bof()Skip/Skip-1 EndDo,3.4.3 循环结构,Set Talk OffClearUse 学生Do While.Not.Eof()If 奖学金0?姓名,奖学金EndifSkipEnddoUseSet Talk On,例5:显示输出“学生”表中的获得奖学金的学生姓名和奖学金数额.,Set Talk OffClearUse 学生Locate For Year(出生日期)1978Do While!Eo
11、f()?姓名,出生日期ContinueEnddoUseSet Talk On,例6:输出学生表中1978年以前出生的学生姓名和出生年月,3).通过状态测试函数Do While EndDo,3.4.3 循环结构,例7:利用状态测试函数Inkey(0)编写一段等待程序,对程序段进行循环操作控制,直到用户按回车键才继续执行其他操作。Set Talk OffClear?”请在驱动器中插入软盘,准备好后按回车”Do While Inkey(0)!=13EndDoDir A:Set Talk On,2.Scan Endscan(指针型)Scan 范围 For whileEndscan功能:对当前打开的表文
12、件在指定范围、满足条件的记录 中自上而下逐个扫描,随着记录指针的移动,SCAN 循环对选中的每条记录执行相同的。,3.4.3 循环结构,Set Talk OffClearUse 学生Scan For 奖学金200.And.性别=.T.?姓名,奖学金EndscanUseSet Talk On,例8:显示输出学生表中奖学金大于200元的男生的姓名和奖学金数额.,3.For EndFor1)For 循环变量=初值 To 终值 Step 步长 EndFor/Next2)For Each In/EndFor/Next,3.4.3 循环结构,Set Talk OffClearUse 学生For N=1 T
13、o Fcount()?Field(n)EndForUseSet Talk On,例9:显示学生表中的全部字段名。,4.Exit 语句格式:Exit功能:无条件跳出循环,转去执行EndDo、EndScan或EndFor后面的语句。5Loop 语句格式:Loop功能:用在循环语句的循环体中。在执行循环体时如果遇到该语句,就立即转向循环语句头部,即返回到Do While、For或Scan。在For 循环中返回会修改循环变量的值,在Scan循环中返回会移动记录指针,然后重新判断循环条件。,3.4.3 循环结构,3.4.4 多种结构的嵌套,例10:通过数组完成对学生表的数据录入工作(备注字段和通用字段忽
14、略),当用户按ESC键时,结束录入操作.,Set Escape OffUse 学生r=0For i=1 To Fcount()Zdm=field(i)If Type(zdm)=“M.Or.Type(zdm)=“G“r=r+1EndIfEndForDimension A(fcount()-r)Do While.T.j=0For i=1 To Fcount()-r j=j+1 zdm=Field(j)Do While Type(zdm)=“M.Or.Type(zdm)=“G j=j+1 zdm=Field(j)Enddo Input 输入字段:+Field(j)+,类型为:+Type(zdm)To
15、 A(i)EndForAppend BlankGather From AIf Inkey(0)=27ExitEndifEnddoUseSet Escape On,3.5 过程与过程文件,1.调用:Do With 返回:Return To Master 子程序执行时遇到以下情况时,自动结束返回:ReturnRetry Cancel Quit 子程序末尾,3.5.1 子程序,*p1.prg*,Do P2Return,*p2.prg*,Do P3Return,*p3.prg*,Return,*p1.prg*,Do P2Return,*p2.prg*,Do P3Return,*p3.prg*,Retu
16、rn To Master,图1,图2,*P1.Prg*P2.Prg*Set Talk Off?早上好!Clear Do P3?“同学们!”?下午好!Do P2 Return?“晚上好!”Return*P3.Prg*?中午好!Return,例11:,2.主程序用with语句向子程序传递参数例12:*cfx.prg*a=4b=6s=0Do Cfx-1 With 4,a+b,s?“s=”,s*cfx-1.prg*Parameters 长,宽,面积面积=长*宽?“面积=”,面积Return,3.5.2 过程程序设计,1.过程定义:Procedure EndProc 2.过程文件的建立,*P1.Prg*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ppt课件 Visual Foxpro 第3章 程序设计基础 ppt 课件 程序设计 基础
链接地址:https://www.31ppt.com/p-3895407.html