资源描述
学习内容四:VisualFoxPro编程技术(第9章),程序的编辑和运行基本输入语句程序的基本结构预处理语句多模块程序设计变量的作用域程序设计的一般问题,VisualFoxPro系统的3种操作方式菜单方式命令方式程序方式,VisualFoxPro的程序文件,是一个以.prg为扩展名的文本文件。执行程序就是依次执行其中的每一条命令,直至全部命令执行完毕。,第9章程序设计基础,程序的编辑1、程序文件的创建、打开(1)命令方式格式:MODIFYCOMMAND|?功能:打开编辑窗口建立或编辑以为名的程序文件。,一、程序的编辑和运行,(2)菜单方式“文件”-”新建”(“打开”),例题1:编写一个程序xs,显示学生表中男同学的记录。,一、程序的编辑和运行,一行只能写一条命令,写完要输入回车,表示命令结束。一条命令的长度不得超过2048个字符。为便于阅读,可以将长的命令分成若干行书写,但要在行尾加上分号,表示下一行是本行的继续。,程序的书写规则,绝大部分命令或函数都可缩写成前四个字符程序的注释:方法1:*|NOTE可出现在程序中的任何地方方法2:&一般用于命令的尾部给程序加注释的目的是为了提高程序的可读性。,程序的书写规则,2、程序文件的保存程序编辑完毕,可以使用下面方法保存1)Ctrl+W、Ctrl+END2)单击关闭按钮,系统弹出保存文件信息提示对话框,单击”是”按钮存盘退出。,一、程序的编辑和运行,程序的运行1、以菜单方式运行方法一:步骤1:打开“运行”对话框:程序-运行步骤2:选定程序,运行方法二:用运行按钮,一、程序的编辑和运行,程序的运行2、以命令方式运行格式:DO功能:执行由表示的程序。,例题2:运行例题1所创建的程序文件xs.prg。,命令窗口输入:DOxs.prg,一、程序的编辑和运行,程序执行的终止终止命令:CANCEL功能:在VFP中执行,该命令终止程序,返回命令窗口;在Windows下执行.exe文件,遇到该命令返回Windows窗口;释放所有私有内存变量。,一、程序的编辑和运行,程序执行的终止返回命令:RETURN功能:A、返回主调程序,带回真值B、RETURN返回主调程序,带回表达式值C、缺省该句:程序最后因含有RETURN,一、程序的编辑和运行,程序执行的终止退出命令:QUIT功能:结束当前VFP工作期,将控制权交给操作系统。,一、程序的编辑和运行,1、程序编辑窗口与命令窗口不同的是,输入完一条命令按回车键后,不直接执行该命令。2、输入完所有命令并将命令序列保存为一个程序文件后,执行该程序文件时才被执行。,程序方式与命令方式的不同之处,数据输入(accept、input、wait)数据处理(vfp命令、基本结构语句组成)数据输出(?、),面向过程的程序设计三步曲,字符串输入语句表达式输入语句等待输入字符语句,二、基本输入语句,格式:ACCEPT提示信息TO功能:暂停程序执行,将用户从键盘上输入的内容作为字符串赋值给指定的内存变量。,例题3:编写一个程序chaxun1.prg,该程序打开学生表,查找用户输入的学生情况。,1、字符串输入语句,Use学生信息管理!学生exclAccept“请输入学生的姓名:”tonameLocatefor姓名=nameDisplayUse,例题3:chaxun1.prg,格式:INPUT提示信息TO功能:暂停程序执行,将用户从键盘上输入的内容作为表达式赋值给指定的内存变量。,例题4:编写一个程序chaxun2.prg,该程序打开学生表,查找表中“出生日期”的学生记录。,2、表达式输入语句,Use学生信息管理!学生exclInput“请输入学生的出生日期:”tocsrqLocatefor出生日期=csrqDisplayUse,例题4:chaxun2.prg,格式:WAIT提示信息TOWINDOWAT,mNOWAITTIMEOUT功能:显示提示信息并暂停VisualFoxPro的执行,按某个键或单击鼠标后继续执行。,例题5:编写一个程序chaxun3.prg,将用户输入的学生的查询情况打印输出。,3、等待输入字符语句,ClearUse学生信息管理!学生exclAccept“请输入学生的姓名:”tonameLocatefor姓名=nameWAIT按任意键开始打印WINDOWAT15,20DisplaytoprinterUse,例题5:chaxun3.prg,格式:?“注释说明”,功能:输出表达式的值。,例如:x=“数据库”?“x的内容为:”,x,知识补充-基本输出语句,格式:Say功能:在指定的行列位置处显示数据。,例如:5,10Say“工资=”5,17Say2000,知识补充-定位输出语句,概述1)VFP程序设计语言的特点A、面向过程的结构程序模块,模块内程序控制流模式:有三种基本结构组成。B、面向对象的结构程序模块,每个模块内也是程序控制流组成。,三、程序的基本结构,2)程序组成:A、数据:内存变量、字段B、对数据的操作:各种命令3)算法:解决问题的方法和步骤流程图简介跑道框、平行四边形框、菱形框、矩形框、圆、流程线,三、程序的基本结构,顺序结构选择结构循环结构过程结构,三、程序的基本结构,1、顺序结构在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。2、选择结构(分支结构)在程序执行时,根据条件不同的情况,选择执行不同的程序语句,来解决不同的问题。,三、程序的基本结构,3、循环结构在程序执行时,能够使某些语句或程序段重复执行若干次。4、过程结构具有独立功能,并且可以被其他程序调用的程序序列称为过程。(主程序、子程序),三、程序的基本结构,单向分支格式:IFENDIF,选择结构,双向分支格式:IFELSEENDIF,选择结构,例题6:编写一个程序chaxun4.prg,修改学生表中的数据,把姓名为“李静”的党员字段值由.f.改成.t.。,Use学生信息管理!学生exclBrowseLocatefor姓名=“李静”If党员=.f.replace党员with.t.EndifBrowse,单向分支结构实例,例题7:编写一个程序chaxun5.prg,在学生表中查找学号为“200604010003”的学生记录,如果找到就在工作区中显示,没有找到则显示提示信息“查无此人”。,双向分支结构实例,Use学生信息管理!学生exclBrowseLocatefor学号=“200604010003”Iffound()displayElse2,30say“查无此人”EndifBrowse,例题7:双向分支,多分支选择结构格式:DOCASECASECASE,CASEOTHERWISEENDCASE,选择结构,例题8:编写一个程序chaxun6.prg,可在不同的选择下,使用表“学生”、“成绩”和“课程”。,Input“请输入您的选择(1-3)”toxzDocasecasexz=1use学生信息管理!学生exclbrowse,多向分支结构实例,casexz=2use学生信息管理!成绩exclbrowseCasexz=3use学生信息管理!课程exclbrowseEndcase,多向分支结构实例(续),循环语句可以使重复操作的命令序列执行若干次或执行到满足某种条件为止,或使数据库文件循环操作到文件尾。,循环如何开始,如何循环,何时结束是循环程序设计的重要环节。,循环结构,DOWHILE循环结构适合应用于循环次数不确定的循环。FOR循环结构适合应用于循环次数确定的循环。SCAN循环结构专为扫描表记录而设计的循环。,循环结构,格式:DOWHILEloopexitENDDO,LOOP:表示开始下一次循环EXIT:表示跳出循环,1、DOWHILE循环结构,例题9:编写一个程序p1.prg,统计学生表中性别为“女”的学生人数。,ClearUse学生信息管理!学生exclbrowseGotoprs=0Dowhile.not.eof()if性别=“女”,DOWHILE循环结构实例,rs=rs+1endifskipEnddo2,30say“性别为女的学生人数:”2,60sayrs,DOWHILE循环结构实例(续),1、指针指向文件末尾,文件结束。EOF()-为真,文件结束2、指针不到文件末尾,文件没有结束。.NOT.EOF()-非文件结束,如何判断记录指针是否到文件尾,
展开阅读全文