版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章VisualFoxPro程序设计基础7.1程序建立和执行7.2程序的交互式命令7.3结构化程序设计7.4子程序与过程文件及用户7.5屏幕显示格式程序设计7.6程序调试和调试器7.7共享访问编程及多用户操作7.1程序建立和执行7.1.1程序设计概念和步骤1、程序:能够完成特定任务的命令序列,存储在命令文件(.PRG)中。运行该文件可自动执行一系列操作2、程序设计步骤:1)分析问题2)确定算法3)画流程图4)编写程序5)调试程序 6)建立文档7.1.2程序的建立1.项目管理器选择“程序”项,单击“新建”按钮,打开代码编辑窗口,输入程序内容。然后选择“文件/保存”命令将编写的代码存入磁盘2.菜单选择“文件/新建”菜单命令,在“新建”对话框中选择“程序”文件类型,按“新建文件”按钮,进入代码编辑窗口3.命令:MODIFYCOMMAND<程序文件名>
如果输入命令语句时,必须一条命令占一行,一行写不下时,在行尾加续行符“;”,换行后接着书写该命令语句7.1.3程序文件的修改对已建立的程序文件可以重新进入代码编辑窗口修改内容1.项目管理器选中要修改的程序文件,按“修改”按钮,在代码编辑窗口中进行修改。修改后,选择“文件/保存”菜单命令,保存程序2.菜单选择“文件/打开”菜单命令,在当对话框中选择要修改的程序文件,将其调入代码编辑窗口3.命令MODIFYCOMMAND<程序文件名>7.1.4程序文件的执行1.项目管理器选中要执行的程序文件,按“运行”按钮2.菜单选择“程序/运行”菜单命令3.命令DO<程序文件名>7.2程序的交互式命令7.2.1人机交互式输入语句1、键盘输入字符串命令:accept,暂停程序运行,接收键盘字符并存入内在变量2、键盘输入单个字符命令:wait3、键盘输入任意类型数据命令:input7.2.2基本命令1.环境设置命令(SET)设置说明SETTALKON|OFF人机对话设置命令SETCONSELEON|OFFSETPRINTERON|OFFSETSAFETYON|OFFSETHEADINGON|OFFSETSTATUSON|OFFSETDEVICETOSCREEN|PRINTERSETDEFAULTTOSETCONSELE的使用?“请输入密码:”SETCONSELEOFFACCEPT“密码:”TOMM?“aaaaaaaaaa1111111111”SETCONSELEON?MM7.2.2基本命令2.注释命令非执行语句,用于提高程序的可读性NOTE、*(行首注释)、&&(行尾注释)3.文本显示命令TEXT<文本内容>ENDTEXT4.清除命令CLEAR(清屏)CLEARALL(关闭所有文件、清除所有内存变量)5.关闭文件命令CLOSEALL(关闭所有文件)CLOSE<文件类型>(关闭指定类型的文件)7.2.2基本命令6.运行中断和结束命令CANCEL终止程序运行,返回命令窗口RETURN结束当前程序的执行,返回到调用它的上级程序QUIT关闭所有文件,退出VFP系统,返回操作系统环境7.格式输入输出命令格式1:@<行号,列号>SAY<表达式>功能:在主窗口指定的位置处显示表达式的值格式2:@<行号,列号>SAY<表达式>GET<变量>READ功能:在窗口指定位置处分别显示表达式和变量的值。若使用READ语句,则可以对变量进行修改7.3程序基本控制结构1.顺序结构:按程序中语句的书写顺序逐条执行2.分支结构(选择结构):根据逻辑条件的结果执行不同的命令序列⑴单分支结构:IF…ENDIF例:IFX>3Y=5ENDIF⑵双分支结构:IF…ELSE…ENDIF例:IFX>=0Y=X**2+3ELSEY=X*XENDIF条件ABTF条件FAT7.3程序基本控制结构举例:设计密码校验系统(假设密码为abc)CLSARSETTALKOFFACCEPT“请输入您的密码:"TOMMIFMM=="abc"?"欢迎使用本系统!"ELSE?“密码错误,无权登录!!!"ENDIFSETTALKON7.3程序基本控制结构举例:求一元二次方程的实根(系数分别为a,b,c)SETTALKOFFCLEARINPUT"输入系数a的值:"TOAINPUT"输入系数b的值:"TOBINPUT"输入系数c的值:"TOCZ=B*B-4*A*CIFZ>=0X1=(-B+SQRT(Z))/(2*A)X2=(-B-SQRT(Z))/(2*A)?"方程的根为:",X1,X2ELSE?"无实根"ENDIFSETTALKON7.3程序基本控制结构⑶多分支结构:DOCASE…ENDCASE例:INPUT"请输入成绩:"TOXDOCASECASEX>90?"优"CASEX>=80?"良"CASEX>=60?"及格"OTHERWIZE?“差”ENDCASE条件1ENDCASE后面语句NY条件2条件nOTHERWISENN语句列1语句列2语句列n其它语句列YYY…N7.3程序基本控制结构3.循环结构:⑴DOWHILE…ENDDO例:S=0I=1DOWHILEI<=10S=S+II=I+1ENDDO?SENDDO后面语句条件循环体FT7.3程序基本控制结构例:显示所有同学,当遇到姓“李”的同学退出USE学生DOWHILE.NOT.EOF()IF姓名="李"EXITELSEDISPLAYENDIFSKIPENDDO条件ENDDO后的语句YNLOOPEXIT循环体7.3程序基本控制结构举例:DOWHILEI<=10DOWHILENOTEOF()DOWHILE.T.练习1.计算N!2.编写查询程序3.编写删除程序4.编写添加程序5.计算1-2+3-4+5-6+……+9-106.统计男女生同学的人数7.给每一个同学评定“优良中差”8.判断一个数是否是素数7.3程序基本控制结构⑵FOR…ENDFOR【例】编程输出矩形乘法口诀表SETTALKOFFCLEARFORI=1TO9FORJ=1TO9 ??STR(I,1)+"*"+STR(J,1)+"="+STR(I*J,2)+""ENDFOR?ENDFORSETTALKONRETURN7.3程序基本控制结构【例】编程输出下三角形乘法口诀表SETTALKOFFCLEARFORI=1TO9FORJ=1TOI ??STR(J,1)+"*"+STR(I,1)+"="+STR(I*J,2)+""ENDFOR?ENDFOR7.3程序基本控制结构【例】输入10个数,并将它们用比较法按由大到小的顺序排序输出SETTALKOFFCLEARDIMENSIONA[10]FORI=1TO10INPUT"请输入一个数:"TOA[I]ENDFORFORI=1TO9FORJ=ITO10IFA[I]<A[J]T=A[I]A[I]=A[J]A[J]=TENDIFENDFORENDFORFORI=1TO10??A[I]ENDFORSETTALKONRETURN7.3程序基本控制结构【例】输入10个数,用冒泡法将它们排序CLEARSETTALKOFFDIMENSIONA(10)FORI=1TO10INPUT"请输入一个数:"TOA(i)NEXTIFORI=1TO9FORJ=1TO10-IIFA(J)>A(J+1)T=A(J)A(J)=A(J+1)A(J+1)=TENDIFNEXTJNEXTIFORI=1TO10??A(I)NEXTI7.3程序基本控制结构【例】输入10个数,用选择法将它们排序CLEARSETTALKOFFDIMENSIONA(10)FORI=1TO10INPUTTOA(i)NEXTIFORI=1TO9P=1FORJ=1TO10-IIFA(P)<A(J)P=JENDIFNEXTJT=A(P)A(P)=A(10-I+1)A(10-I+1)=TNEXTIFORI=1TO10??A(I)NEXTI7.3程序基本控制结构图案打印程序一CLEARFORi=1TO4FORK=1TO2*i-1@I,40-I+KSAY"*"NEXTNEXT****************7.3程序基本控制结构图案打印程序二CLEARFORi=1TO4??SPACE(5-I)FORK=1TO5 ??"*"NEXT?NEXT********************CLEARFORi=1TO4FORK=1TO5@I,40-I+KSAY"*"NEXTNEXT7.3程序基本控制结构图案打印程序三CLEARFORI=4TO1STEP-1FORK=1TO2*I-1@10-I,40-I+KSAY"*"NEXTNEXTCLEARFORI=4TO1STEP-1??SPACE(5-I)FORK=1TO2*I-1??"*"NEXT?NEXT****************7.3程序基本控制结构CLEARINPUT"请输入N的值:"TONFORI=1TONFORK=1TO2*I-1@i,40-I+KSAY"*"NEXTNEXTFORI=N-1TO1STEP-1FORK=1TO2*i-1@2*N-I,40-I+KSAY"*"NEXTNEXT*************************7.4子程序与过程文件
1.过程的建立与调用过程也叫子程序,是一个相对独立的程序段,可以被其他程序调用。调用子程序的程序称为主程序1.过程的建立与调用⑴过程的建立一个过程就是一个具有特定功能的命令文件(.PRG),它的建立、运行与一般程序相同。但是,一个过程中至少要有一条RETURN返回语句⑵过程的调用在上级程序中设置一条DO命令即可调用一个过程命令:DO<过程名>[IN<文件名>][WITH<参数表>]7.4子程序与过程文件
1.过程的建立与调用...DOSUB1......CANCEL主程序MAIN.PRG...DOSUB2......RETURN
子程序SUB1.PRG.
......
...RETURN......RETURNTOMASTER子程序SUB2.PRG7.4子程序与过程文件
2.过程文件将多个过程存放在一个文件中形成过程文件。过程文件中的过程不能作为一个命令文件单独存盘或独立运行⑴过程文件的建立命令:MODIFYCOMMAND<过程文件名>过程文件的基本结构:PROCEDURE<过程名><命令序列>[RETURN[TOMASTER]]ENDPROC⑵过程文件的打开与关闭命令:SETPROCEDURETO<过程文件>7.4子程序与过程文件
3.带参数的过程调用将不同的参数分别传递给同一过程,执行同一功能的操作后返回不同的结果,可以大大提高程序模块的灵活性⑴定义带参数的过程:PROCEDURE<过程名>PARAMETERS<参数表><命令序列>RETURNENDPROC⑵调用带参数的过程:命令:DO<过程名>WITH<参数表>7.5自定义函数自定义函数的建立和使用方法与过程相同。函数除了完成某种特定操作外,还返回一个值1.定义函数FUNCTION<函数名>([<参数表>])<命令序列>[RETURN<表达式>]ENDFUNC2.调用函数格式:<函数名>(<参数表>)
7.6变量作用域1.全局变量使用PUBLIC关键字定义的变量(也称公共变量),可以是全局内存变量或数组格式:PUBLIC<内存变量表>|[数组]2.局部变量使用LOCAL关键字定义的变量格式:LOCAL<内存变量表>|[数组]3.私有变量有通过PUBLIC或LOCAL关键字定义而在程序中直接使用(即由系统自动隐含建立)的变量私有变量在建立它的程序及其下属的子程序中有效,一旦建立它的程序运行结束,这些私有变量就自动清除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养殖废弃物处理技术与资源化利用实践
- 2026年卫星互联网频谱干扰规避与兼容条件
- 2026年数据信托机构能力评估指标体系
- 2026年汽车制造生产线人形机器人应用场景开发指南
- 2026年国家战略腹地关键产业备份基地布局与承接指南
- 2026年强化产业基础再造重大技术装备攻关实施方案
- 2026年工业企业数据合规审计实施指南
- 2026年绿色工厂数字化能碳管理平台建设方案
- 2026年智慧农业项目资金申请报告编写
- GB T 7928~2025新国标安全智能绿色舒适四大升级解析
- 健康管理中心介绍
- 人工智能企业人才招聘策略可行性研究报告
- 暖风器改造拆除施工方案
- 单片机原理及接口技术C51编程第2版张毅刚 教学课件全套
- 半导体工艺气体知识培训课件
- 2025年党员个人检视问题清单及整改措施表(四篇)
- (正式版)新建标 001-2019 《自治区农村安居工程建设标准》
- DBJT15-60-2019 建筑地基基础检测规范
- 中老年消费者购买养老金融服务的影响因素分析
- 2025年生殖中心招聘考试题库
- 中国篆刻史课件
评论
0/150
提交评论