visualfoxpro程序设计案例教程蔡莉vf按章第6章3_第1页
visualfoxpro程序设计案例教程蔡莉vf按章第6章3_第2页
visualfoxpro程序设计案例教程蔡莉vf按章第6章3_第3页
visualfoxpro程序设计案例教程蔡莉vf按章第6章3_第4页
visualfoxpro程序设计案例教程蔡莉vf按章第6章3_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6.3 过程及其调用,程序设计时,常常有些运算或处理程序是相同的,为了避免繁琐,我们可以将重复出现的或能单独使用的程序写成可供其他程序调用的独立程序段,在VFP中也称为过程。它可以被其他程序文件调用,也可以去调用其他的过程。 通常,把被其他程序调用的模块称为子程序,把调用其他过程而没有被其他过程调用的模块程序为主程序。,6.3.1 过程的建立,以特定的命令开始又以特定的命令结束的模块,被放置在程序文件或过程文件中 。 1、定义过程 语法格式: PROCDURE|FUNCTION RETURN ENDPROC|ENDFUNC,2、定义过程文件,过程文件也是程序文件,建立方法与程序文件一样,扩展名

2、也是.PRG。 一个应用系统中可以有多个过程文件,但同一时间只能打开一个过程文件。一个过程文件最多可包括128个子过程。,PROCEDURE RETURN ENDPROC|ENDFUNC PROCEDURE RETURN ENDPROC|ENDFUNC PROCEDURE RETURN ENDPROC|ENDFUNC,6.3.2 过程的调用,过程可以存放在程序文件中,也可以存放在过程文件里,存放在不同文件中的过程调用方法也不完全相同。 1、调用存放在程序文件里的过程 (1)被所存放的程序文件调用 Do 或 () (2)被其它命令文件调用 步骤: (1)先打开此程序文件:SET PROCEDUR

3、E TO (2)然后调用其中的过程:Do 或 (),2、调用过程文件中的过程,步骤: (1)先打开过程文件 SET PROCEDURE TO ,.ADDITIVE (2)然后调用其中的过程 Do 或 () 说 明:选用ADDITIVE选项,则不关闭原先已打开的过程文件。,3、关闭过程文件语句,在主程序结束之前应关闭其调用的过程文件。 语句格式1:SET PROCEDURE TO 语句功能:关闭所有打开的过程文件。 语句格式2:RELEASE PROCEDURE ,. 语句功能:关闭个别过程文件。 例如:下面是一个模块定义和调用的程序示例。涉及三个文件:程序文件F1.PRG,其中的代码为主程序,

4、另外包含一个过程P1;程序文件F2.PRG作为子程序被主程序调用;过程文件F3.PRG包含两个过程P2和P3。,*主程序:F1.PRG ?“主程序开始” SET PROCEDURE TO F3 F2() DO P1 ?“主程序结束” *过程P1 PROCEDURE P1 ?“过程P1开始” ?“调用P3()” ?“返回值:”,P3() ?“过程P1结束” ENDPROC,*子程序:F2.PRG ?“子程序F2开始” ?“调用P2()” X=P2() ?“返回值为:”,X ?“子程序F2结束” RETURN *过程文件:F3.PRG PROCEDURE P2 RETURN PROCEDURE P

5、3 RETURN 100,6.3.3参数传递,过程可以接收调用程序传递过来的参数,并能够根据接收到的参数控制程序流程或对接收到的参数进行处理,从而大大提高过程功能设计的灵活性。 1、主程序向过程传递参数的命令: 命令格式1: DO WITH , 命令格式2: WITH ,2、在过程中接收参数的命令 命令格式1: PARAMETERS , 命令格式2: LPARAMETERS ,例如:按值传递和按引用传递示例。 CLEAR STORE 10 TO X1,X2 DO P1 WITH X1,(X2) ?“第一次:”,X1,X2 STORE 10 TO X1,X2 P1(X1,X2) ?“第二次:”,

6、X1,X2 PROCEDURE P1(X1,X2) PARAMETERS X1,X2 STORE X1+10 TO X1 STORE X2+10 TO X2 RETURN X1+X2 ENDPROC,运行结果为: 第一次:20 10 第二次:10 10,6.4 文件操作,6.4.1显示文件目录 在计算机的实际操作中,需经常检查磁盘上的文件情况及磁盘尚有多少可供用户使用的空间,以便正确地进行操作。为此,VFP提供了显示磁盘文件目录的命令。 命令格式:DIR 命令功能:显示磁盘文件目录 说 明: (1)只有DIR无任何其他选项,默认显示当前目录下所有数据表文件。 (2)文件名中可以使用通配符 *

7、和 ?,例如:显示D盘上的全部数据库表文件目录。 DIR D: 例如:显示当前盘上符合通配项条件的文件目录。 DIR Z*.DB? 例如:显示D盘上VFP子目录中B打头的文件目录。 DIR D:VFPB*.*,6.4.2复制文件,1.对已打开的表进行复制 命令格式:COPY TO FIELDSFOR 命令功能:按照给定的范围、字段名表和条件,将当前表的相应内容复制到新表中去。 说 明:如省略所有的可选项,新表的内容与当前表完全一样。,例如:将ZGDA.DBF表中前6条记录复制到DA.DBF表中,新库的结构由编号、姓名、性别、年龄、职称5个字段组成。在DA.DBF表中修改其结构,添加一个工资字段

8、,显示其内容。 USE ZGDA COPY TO DA NEXT 6 FIELDS 编号,姓名,性别,年龄,职称 USE DA MODI STRU LIST,例如:将表DA.DBF中工资少于800.00元的记录复制到表AA.DBF中去,新表的结构由姓名、性别、职称和工资4个字段组成。 USE DA COPY TO AA FIELDS 姓名,性别,职称,工资FOR工资800.00 USE AA LIST,2. 表结构的复制,命令格式:COPY STRUCTURE TO FIELDS 命令功能:将已打开的表的结构复制到目标文件中去,而不复制任何记录。 例如:将表ZGDA.DBF的部分结构(姓名、性别和工资)复制到数据库SI.DBF中。 USE ZGDA COPY STRUCTURE TO SI FIELDS 姓名,性别,工资 USE SI LIST STRUCTURE,3. 磁盘文件的复制,命令格式: COPY FILE TO 命令功能:将未打开的磁盘文件复制为另一个磁盘文件。 说 明:若源文件是表且含有备注型字段时,其相应的备注文件(.FPT)不能自动地被复制。 例如:将表DA.DBF的全部内容复制到表DA1.DBF中去。 COPY FILE DA.DBF TO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论