55
Visual FoxPro 程程程程 河河河河河河河河河 22/6/10 1

Visual FoxPro 程序设计

Embed Size (px)

DESCRIPTION

Visual FoxPro 程序设计. 河南财专信息工程系. 2014/11/6 1. 第 2 章 VFP 表的基本操作. 2.1 VFP 表的建立 2.2 表的打开与关闭 2.3 表的显示 2.4 VFP 的目录操作 2.5 文件的复制和删除 2.6 记录指针的定位 2.7 记录的追加与插入 2.8 记录的删除和恢复 2.9 VFP 表的修改. 第 2 章 VFP 表的基本操作. 2.1 VFP 表的建立. 2.1.1 表结构的建立 - PowerPoint PPT Presentation

Citation preview

Page 1: Visual FoxPro  程序设计

Visual FoxPro 程序设计

河南财专信息工程系

23/4/20 1

Page 2: Visual FoxPro  程序设计

第 2章 VFP 表的基本操作

2.1 VFP表的建立 2.2 表的打开与关闭 2.3 表的显示 2.4 VFP的目录操作 2.5 文件的复制和删除 2.6 记录指针的定位 2.7 记录的追加与插入 2.8 记录的删除和恢复 2.9 VFP表的修改

Page 3: Visual FoxPro  程序设计

2.1.1 表结构的建立VFP 表有两部分构成:表结构 (Structure) 和数据 (Data) 。建立表结构就是定义表文件名和字段属性。字段属性包括:字段名、字段类型、字段宽度、小数位。格式: CREATE 〈表名〉功能:建立一个新的 VFP 表,表文件的扩展名为DBF ,由系统自动生成。说明: 1.该命令用于建立一个新的表文件,如果指定的文件已存在则提示是否将其改写。 2. 表文件建好后打 Ctrl+W 存盘。

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 4: Visual FoxPro  程序设计

例:建立 teacher.dbf 表,表中包括以下字段:姓名( C, 6)、性别( C, 2)、出生年月( D, 8)、婚否( L, 1)、教研室( C,6)、职称( C, 6)、月收入( N, 7, 2)、个人简历( M, 4)、照片( G, 4)。

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 5: Visual FoxPro  程序设计

在 VFP 命令窗口输入: CREATE TEACHER

第 2章 VFP 表的基本操作

2.1 VFP 表的建立

Page 6: Visual FoxPro  程序设计

屏幕显示表设计器:

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 7: Visual FoxPro  程序设计

字段名 类型 宽度 小数位姓名 字符型 6

性别 字符型 2

出生年月 日期型 8

婚否 逻辑型 1

教研室 字符型 6

职称 字符型 6

月收入 数值型 7 2

个人简历 备注型 4

照片 通用型 4

Teacher.dbf 表的结构

第 2章 VFP 表的基本操作

Page 8: Visual FoxPro  程序设计

按要求依次定义各字段的属性,一个字段属性输完后用 TAB 键或鼠标单击下一字段属性。全部字段定义完后,单击 "确定 "按钮。屏幕显示数据录入对话框:

若要录入数据,单击 "是 "按钮,进入竖直格式的数据录入状态(见下图);若不录入数据,单击 "否 "按钮,仅保留定义的表结构。

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 9: Visual FoxPro  程序设计

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 10: Visual FoxPro  程序设计

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

2.1.2 2.1.2 数据录入数据录入1. 字符型和数字型数据直接录入字符或数字。2.日期型数据按月日年的顺序录入,分别按两位数输入。3.逻辑型字段输入逻辑真 (T) 或逻辑假 (F) 。4. 备注型和通用型字段若不输入数据可直接打回车,进入下一个字段录入;若要输入数据可按 Ctrl+home或双击该字段录入区,进入屏幕编辑状态,备注型字段直接输入字符,通用型字段的输入单击编辑菜单中的插入对象,出现插入对象对话框,再选择需插入的多媒体文件。

Page 11: Visual FoxPro  程序设计

所有记录输完后,按 Ctrl+W 存盘。

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 12: Visual FoxPro  程序设计

在命令窗口输入 LIST 命令可查看表的内容。

2.1 VFP 表的建立

第 2章 VFP 表的基本操作

Page 13: Visual FoxPro  程序设计

格式: USE [ 〈表名〉 ]功能:打开或关闭表。说明: 1.USE 〈表名〉用于打开一个表。 2.USE 缺省表名用于关闭当前打开的表。 3. 用 USE 命令打开一个表的同时关闭原来已打开的表。例: USE TEACHER &&打开 TEACHER 表 LIST USE STUDENT &&打开 STUDENT 的同时关闭 TEACHER表 LIST USE &&关闭当前已打开的 STUDENT 表

2.2 表的打开与关闭

第 2章 VFP 表的基本操作

Page 14: Visual FoxPro  程序设计

2.3 表的显示

2.3.1 表记录的显示格式: LIST/DISPLAY [范围 ][FIELDS 〈字段名表〉 ][FOR/WHILE 〈条件〉 ][OFF][TO PRINT]

功能:显示表记录。说明: 1.LIST 为滚动显示, DISPLAY为分屏显示。 2.LIST 若缺省范围,默认为 ALL ; DISPLAY若缺省范围,默认为当前记录。

3.OFF 为关闭记录号显示。 4.TO PRINT 为将显示结果送打印机打印。

第 2章 VFP 表的基本操作

Page 15: Visual FoxPro  程序设计

例 1:显示 TEACHER 表中的全部记录。 USE TEACHER LIST

2.3 表的显示

第 2章 VFP 表的基本操作

Page 16: Visual FoxPro  程序设计

例2:显示TEACHER表中职称为副教授的姓名、性别和月收入。USE TEACHERLIST FIEL 姓名 ,性别 ,月收入 FOR 职称 ="副教授 "

2.3 表的显示

第 2章 VFP 表的基本操作

Page 17: Visual FoxPro  程序设计

2.3.2 表结构的显示格式: LIST/DISPLAY STRUCTURE [TO PRINT]功能:显示已打开的表结构。例:显示 teacher 的表结构。 USE teacher LIST STRU

2.3 表的显示

第 2章 VFP 表的基本操作

Page 18: Visual FoxPro  程序设计

2.3 表的显示

第 2章 VFP 表的基本操作

Page 19: Visual FoxPro  程序设计

2.4 VFP 的目录操作

为了便于文件的集中管理,而不至于使文件散落在磁盘各处,可设置系统的默认目录或用户自定义目录,以便查找或打开文件。2.4.1 2.4.1 设置系统的默认目录设置系统的默认目录VFP6.0系统在安装时自动生成的目录为:C:\program files\Microsoft visual studio\vfp98用户在进行 VFP 操作时,可将其设置为系统默认目录。其操作步骤为:选定 "工具 " 菜单中的 "选项 " 命令,出现选项对话框,在对话框中选择 "文件位置 " 标签,在列表中双击默认目录,出现更改文件位置对话框,选定使用默认目录,设置完成后单击 "确定 "按钮。

第 2章 VFP 表的基本操作

Page 20: Visual FoxPro  程序设计

第 2章 VFP 表的基本操作

2.4 VFP 的目录操作

Page 21: Visual FoxPro  程序设计

2.4.2 2.4.2 用户自定义目录用户自定义目录用户也可按自己的要求设置默认目录。例:将移动磁盘(假设盘符为 I:) VFP 目录设置为默认目录。首先要在移动磁盘上建立 VFP 文件夹,然后按上述操作将VFP设置为默认目录。

第 2章 VFP 表的基本操作

2.4 VFP 的目录操作

Page 22: Visual FoxPro  程序设计

用户还可用 SET DEFAULT TO < 路径 >命令设置默认目录。例:用命令设置 I:\VFP 为默认目录。 SET DEFA TO I:\VFP设置默认目录后,用户所进行的各种操作(如建立文件、打开文件等)均在该目录下进行。

第 2章 VFP 表的基本操作

2.4 VFP 的目录操作

Page 23: Visual FoxPro  程序设计

2.4.3 2.4.3 查看磁盘文件查看磁盘文件为了查看磁盘上存放了哪些文件,需要用文件目录的显示命令。格式: DIR [ 盘符 ][路径 ][ 文件名 ]功能:显示磁盘文件。说明: 1.若缺省盘符和路径,则显示当前盘、当前目录的磁盘文件。 2. 若缺省文件名则仅显示表文件。 3.此命令可使用通配符。

第 2章 VFP 表的基本操作

2.4 VFP 的目录操作

Page 24: Visual FoxPro  程序设计

例 1:显示当前盘当前目录的表文件。 DIR例 2:显示当前盘当前目录下的所有文件。 DIR *.*例 3:显示移动磁盘(假定 I:盘)上的程序文件。 DIR I:\*.PRG

第 2章 VFP 表的基本操作

2.4 VFP 的目录操作

Page 25: Visual FoxPro  程序设计

2.5 文件的复制和删除

2.5.1 表文件的复制格式: COPY TO〈文件名〉[范围] [FIELDS〈字段名表〉 ][ FOR/WHILE 〈条件〉]功能:将当前打开的表复制成一个新表。例 1:将当前盘当前目录下的 TEACHER 复制到移动磁盘( I:盘)上。 USE TEACHER COPY TO I:\TEACHER USE I:\TEACHER LIST

第 2章 VFP 表的基本操作

Page 26: Visual FoxPro  程序设计

例 2:复制 TEACHER 表中月收入 1000 元以上的记录,生成仅含姓名、性别、职称和月收入字段的表文件,文件名为 ATEACHER 。USE TEACHERCOPY TO ATEACHER FIEL 姓名 ,性别 ,职称 ,月收入 FOR 月收入 >=1000USE ATEACHERLIST

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 27: Visual FoxPro  程序设计

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 28: Visual FoxPro  程序设计

2.5.2 2.5.2 表结构的复制表结构的复制格式: COPY STRUCTURE TO〈文件名〉 [FIELDS 〈字段名表〉 ]功能:复制当前打开的表结构,但不复制表中的数据。例 1:将 TEACHER 的表结构复制到 C 盘的根目录下,文件名不变。USE TEACHERCOPY STRU TO C:\TEACHERUSE C:\TEACHERLIST STRU

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 29: Visual FoxPro  程序设计

例 2:复制 TEACHER 表中的姓名、性别、职称、月收入字段,不复制记录,生成一个 JSGL 表文件。USE TEACHERCOPY STRU TO JSGL FIEL 姓名 ,性别 ,职称 ,月收入USE JSGLLIST STRU

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 30: Visual FoxPro  程序设计

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 31: Visual FoxPro  程序设计

2.5.3 2.5.3 任意类型文件的复制任意类型文件的复制格式: COPY FILE < 源文件名 > TO <目标文件名 >功能:将源文件复制到目标文件。说明: 1.源文件和目标文件若有扩展名,必须写上。 2.源文件和目标文件若不在当前盘的当前目录下,必须在文件名前加上盘符和路径。 3.使用该命令时,源文件必须是关闭的。例 1:将 C盘的 VFP 目录下 TEACHER.DBF 文件复制到 U 盘( I:)的根目录下,文件名改为 JSGL.DBF ,同时复制其备注型文件。COPY FILE C:\VFP\TEACHER.DBF TO I:\JSGL.DBFCOPY FILE C:\VFP\TEACHER.FPT TO I:\JSGL.FPT

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 32: Visual FoxPro  程序设计

例例 22 ::将 C盘的 VFP 目录下的程序文件 ABC.PRG 复制到 U盘( I:)的根目录下,文件名不变。COPY FILE C:\VFP\ABC.PRG TO I:\ABC.PRGCOPY FILE C:\VFP\ABC.PRG TO I:\ABC.PRG2.5.4 2.5.4 文件的删除文件的删除格式 1: ERASE <文件名 >格式 2: DELETE FILE <文件名 >功能:删除指定的文件。说明:被删除的文件需要加扩展名。例:删除 I盘上的 STUDENT.DBF 文件及其备注型文件。DELE FILE I:\STUDENT.DBFDELE FILE I:\STUDENT.FPT

2.5 文件的复制和删除

第 2章 VFP 表的基本操作

Page 33: Visual FoxPro  程序设计

为了对某一记录进行操作,需要定位当前记录。当前正在操作的记录叫当前记录,通过移动记录指针可以定位当前记录。记录指针的定位有绝对定位、相对定位和条件定位,本节只介绍绝对定位和相对定位,条件定位在查询部分再讲。2.6.1 记录的绝对定位 格式 1: GO[TO] TOP/BOTTOM格式 2: [GO[TO]] 〈数值型表达式〉功能:将记录指针定位到指定的记录。说明: TOP 为首记录, BOTTOM 为尾记录,数值型表达式为记录号。

第 2章 VFP 表的基本操作

2.6 记录指针的定位

Page 34: Visual FoxPro  程序设计

例:用 TEACHER 表说明记录指针的移动。USE TEACHERDISPGO 4DISPGO BOTTDISPGO TOPDISP

2.6 记录指针的定位

第 2章 VFP 表的基本操作

Page 35: Visual FoxPro  程序设计

2.6.2 2.6.2 记录的相对定位记录的相对定位格式: SKIP [ 数值型表达式 ]功能:从当前记录开始向前或向后移动记录指针,移动的记录个数由数值型表达式决定。说明:若缺省数值型表达式,系统默认为 1。例:用 TEACHER 说明 SKIP 的用法。USE TEACHERDISPSKIP 2DISPSKIP -1DISP

2.6 记录指针的定位

第 2章 VFP 表的基本操作

Page 36: Visual FoxPro  程序设计

2.7 记录的追加与插入

2.7.1 2.7.1 记录的追加记录的追加格式: APPEND [BLANK]功能:在当前表的表尾追加记录。若有 BLANK选项则追加空记录。例 1:在 TEACHER 表尾追加记录。USE TEACHERAPPE

第 2章 VFP 表的基本操作

Page 37: Visual FoxPro  程序设计

2.7 记录的追加与插入

第 2章 VFP 表的基本操作

以竖直格式输入数据,数据以竖直格式输入数据,数据输完后,按输完后,按 Ctrl+WCtrl+W 存盘。存盘。

Page 38: Visual FoxPro  程序设计

例 2:在 TEACHER 表尾追加空记录。USE TEACHERAPPE BLANLIST

2.7 记录的追加与插入

第 2章 VFP 表的基本操作

Page 39: Visual FoxPro  程序设计

2.7.2 2.7.2 记录的插入记录的插入格式: INSERT [BEFORE][BLANK]功能:在当前记录后面插入记录。若有 BEFORE 选项,则在当前记录前面插入记录。例 1:在 TEACHER 表中插入一条记录,新插入的记录号为 3。USE TEACHERGO 2INSE例 2:在 TEACHER 表中插入一条空记录,新插入的记录号为 4。USE TEACHER3INSE BLANLIST

2.7 记录的追加与插入

第 2章 VFP 表的基本操作

Page 40: Visual FoxPro  程序设计

2.8 记录的删除和恢复

1.1. 记录的逻辑删除记录的逻辑删除格式: DELETE [范围 ][FOR/WHILE 〈条件〉 ]功能:在要删除的记录号后打上删除标记 "*" 。说明:该命令若缺省范围和条件,则删除当前记录。例 1:删除 TEACHER 表中第四条记录。USE TEACHERDELE RECO 4LIST

第 2章 VFP 表的基本操作

Page 41: Visual FoxPro  程序设计

例 2:删除 TEACHER 表中月收入在 1000 元以上的记录。USE TEACHERDELE FOR 月收入 >=1000LIST例 3:删除 TEACHER 表中未婚的记录。USE TEACHERDELE FOR NOT 婚否LIST

2.8 记录的删除和恢复

第 2章 VFP 表的基本操作

Page 42: Visual FoxPro  程序设计

2.2. 记录的恢复记录的恢复格式: RECALL [范围 ][FOR/WHILE 〈条件〉 ]功能:恢复被逻辑删除的记录。说明:若缺省范围和条件,则只恢复当前记录。例 1:恢复第 4条记录。RECA RECO 4LIST例 2:恢复被逻辑删除的女性记录。RECA FOR 性别 ="女 "LIST

第 2章 VFP 表的基本操作

2.8 记录的删除和恢复

Page 43: Visual FoxPro  程序设计

3.3. 记录的物理删除记录的物理删除格式: PACK功能:将带有删除标记的记录从表中清除掉。4.4. 记录的清空记录的清空格式: ZAP功能:将当前打开的表记录清空,只保留表结构。说明:本命令的破坏性较大,因此,在执行本命令时,系统显示清空记录提示对话框,单击 "是 ",清空记录,单击 "否 ",则不执行该命令。

第 2章 VFP 表的基本操作

2.8 记录的删除和恢复

Page 44: Visual FoxPro  程序设计

2.9 VFP 表的修改1.1. 表结构的修改表结构的修改格式: MODIFY STRUCTURE功能:修改当前打开的表结构。说明:该命令可以添加字段、删除字段、修改字段属性。例:修改 TEACHER 表结构。USE TEACHERMODI STRU

第 2章 VFP 表的基本操作

Page 45: Visual FoxPro  程序设计

2.2. 表记录的修改表记录的修改(1) 编辑修改格式: EDIT/CHANGE [范围 ][FIELDS 〈字段名表〉 ][FOR/WHILE 〈条件〉 ]功能:以竖直格式对记录进行修改。例:对 TEACHER 的记录修改。USE TEACHEREDIT

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 46: Visual FoxPro  程序设计

(2)浏览修改格式: BROWSE [FIELDS 〈字段名表〉 ]功能:以全屏幕方式浏览修改记录。例:浏览修改 TEACHER 。USE TEACHERBROW

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 47: Visual FoxPro  程序设计

(3) 数据的替换格式: REPLACE [范围 ] 〈字段名 1〉 WITH 〈表达式 1〉 [,〈字段名 2〉 WITH 〈表达式 2〉 ]…[FOR/WHILE 〈条件〉 ]功能:用表达式的值替换字段值。说明:若缺省范围和条件,则只替换当前记录的字段值。例 1:在 TEACHER 表中将所有记录的月收入增加 200元。USE TEACHERREPL ALL 月收入 WITH 月收入 +200LIST

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 48: Visual FoxPro  程序设计

例 2:在 TEACHER 表中将副教授的月收入增加 20%。USE TEACHERREPL 月收入 WITH 月收入 *1.2 FOR 职称 ="副教授 "LIST例 3:在 ZGGZ表中将应发工资字段(空值)替换为基本工资 +奖金 +津贴 -房租 -水电。USE ZGGZLIST

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 49: Visual FoxPro  程序设计

REPL ALL 应发工资 WITH 基本工资 +奖金 +津贴 -房租 -水电LIST

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 50: Visual FoxPro  程序设计

3.3. 记录与数组间的数据传送记录与数组间的数据传送( 1)将记录数据传送到数组或内存变量格式: SCATTER [FIELDS 〈字段名表〉 ] TO〈数组名 /内存变量名表〉功能:将当前记录的字段值(备注型和通用型字段除外)按顺序依次送入到数组元素或内存变量中。例:将 teacher 表的第三条记录的字段值传送到数组 A 中。USE TEACHERLIST

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 51: Visual FoxPro  程序设计

3SCAT TO A DISP MEMO

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 52: Visual FoxPro  程序设计

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 53: Visual FoxPro  程序设计

( 2)将数组或内存变量的数据传送到记录格式: GATHER FROM 〈数组名 /内存变量名表〉功能:将数组或内存变量的数据传送到当前记录,以改变当前记录的字段值。

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 54: Visual FoxPro  程序设计

例:将 TEACHER 表中的第 3条记录和第 5条记录的位置对换。

USE TEACHER3SCAT TO A &&将当前记录的字段值传送到数组 A5SCAT TO BGATH FROM A &&用数组 A 的值替换当前记录的字段值3GATH FROM BLIST

2.9 VFP 表的修改

第 2章 VFP 表的基本操作

Page 55: Visual FoxPro  程序设计

2.9 VFP 表的修改

第 2章 VFP 表的基本操作