- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 Visual FoxPro6.0程序设计 程序是能够完成一定任务的命令的有序集合。 这组命令以文件的形式存储在磁盘上,所存放的文件称为命令文件。 程序文件的扩展名为:.prg 6.1.3 程序的书写 每条命令都以回车键结尾,一行一条 若命令需分行写,应键入续行符“;” 命令注释 * 注释内容 用于对下面一段命令代码解释 注释内容 放在命令行的尾部 例1: 输入两个数按从大到小输出.(p21.prg)例2、 输入两个数按从大到小输出.(p22.prg)对选课表中统计统计成绩及格的记录个数 Use 选课 S=0 Do while .T. If eof()exit Endif If 成绩60skiploop Endif S=s+1 Skip Enddo ?s 6-3-2过程的建立与调用主程序与子程序之间或过程与过程之间通过互相传递参数来完成整体上的操作。程序之间的参数传递可以通过两种途径进行:一是通过带参数的程序调用来实现,二是通过内存变量来实现。 一、通过带参数的程序调用实现参数传递 传递参数命令格式: DO 文件名 WITH 参数表达式列表 接收参数命令格式: PARAMETERS 变量列表 参数传递与接受规则: 传递参数命令可以出现在调用程序(主程序)中的任何位置,而接收参数命令必须出现在被调用程序(子程序)中的第一行。 传址方式:当WITH后的参数表达式列表中是内存变量列表时,每个内存变量的值传给PARAMETERS中对应变量,而该调用程序中的内存变量被隐含起来,但其值随着被调用程序中相对应变量的值的变化而变化。 传值方式:当WITH后的参数表达式列表中是内存变量表达式列表或单个内存变量用圆括号括起来时,每个内存变量表达式的值传给PARAMETERS中对应变量,而该调用程序中出现在表达式中的内存变量不被隐含,其值也不随着被调用程序中相对应变量的值的变化而变化。 例3:编程显示学生表中所有女生的记录。SET TALK OFF(p33.PRG)CLEARUSE 学生表LOCA FOR 性别=”女”DO WHILE .NOT. EOF()DISPLAYCONTINUEENDDOUSESET TALK ONRETURN Locate for 条件 :条件定位,当发现一个满足条件的记录后,可以执行continue命令,在表的剩余部分寻找满足条件的记录。 Use 学生 Do while not eof() Do caseCase 入学成绩=550“优秀”Case 入学成绩=520“良好”Case 入学成绩=490“合格”Other“不合格” Endcase Skip Enddo return 例4:P154 循环退出语句EXIT的使用 exit从循环体内跳出,转去执行enddo后第一条命令,exit可以放在循环体的任何地方 例5:1+2+3+…+?和大于50停止。X=1( p35.prg)S=0DO WHILE .T.S=S+XIF S50EXITENDIFX=X+1ENDDOX 循环短路语句loop的使用 Loop直接转回到do while 语句, 而不执行loop和Enddo之间的命令 6-4-2 固定次数的循环结构 格式: FOR 循环变量=初值 TO 终值 [STEP 步长]语句序列[LOOP][EXIT] ENDFOR|NEXT 功能:该语句通常用于循环次数已知情况下的循环结构。 首先计算初值、终值和步长值,如果循环变量的值在初值和终值范围内,执行for和endfor之间的命令,然后循环变量按步长值增加或减小,直到循环变量的值不在初值与终值范围内 注意:步长可为正值和负值,默认值为1 例1:编程求和S=1+2+3+…+100。 SET TALK OFF CLEAR S=0 FOR N=1 TO 100 S=S+N ENDFOR ?”S=”,S SET TALK ON RETURN (L11.PRG) 例2:求1!+2!+3!+……+10!(L12.PRG)Set talk offs=0p=1For i=1 to 10p=p*Is=s+pEndforsset talk onretu 6-4-3 表扫描循环结构 格式: SCAN [范围] [FOR 条件] [WHILE 条件]循环体[LOOP][EXIT]ENDSCAN 执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令 例1:编程统计学生表中男学生的人数。 SET TALK OFF CLEAR N=0 USE 学生 SCAN FOR 性别=”男”N=N+1 ENDSCAN ?”学生表
文档评论(0)