860 likes | 983 Views
VFP 电子教案. 浙江万里学院计算机教学部. 课程目的和任务. 计算机公共基础课程 提高编程、逻辑思维能力 为等级考试提供平台. 课程内容. VFP 基础知识. 数据库与表基本操作. 结构化程序设计基础. 面向对象程序设计一. 面向对象程序设计二. 项目开发案例分析. VFP 基础知识. 本章主要教学内容 1 、掌握数据库基本概念 2 、 Visual Foxpro 的功能及其为用户提供的几种设计工具 3 、熟悉 Visual Foxpro 的主窗口及其组成 4 、 理解数据类型、常量与变量、表达式、函数的概念
E N D
VFP电子教案 浙江万里学院计算机教学部
课程目的和任务 计算机公共基础课程 提高编程、逻辑思维能力 为等级考试提供平台
课程内容 VFP基础知识 数据库与表基本操作 结构化程序设计基础 面向对象程序设计一 面向对象程序设计二 项目开发案例分析
VFP基础知识 • 本章主要教学内容 1、掌握数据库基本概念 2、Visual Foxpro 的功能及其为用户提供的几种设计工具 3、熟悉Visual Foxpro 的主窗口及其组成 4、理解数据类型、常量与变量、表达式、函数的概念 5、掌握各种运算符的运算规则及优先级
第一章教学内容目录 1.1 数据库基本概念 1.2Visual FoxPro 6.0功能概述 1.3 Visual FoxPro用户界面 1.4 数据类型和数据存储 1.5 表达式和函数
1.1数据库基本概念 1.1.1 数据库基本概念 1、信息、数据与数据处理 (1)信息就是客观世界在人们头脑中的反映。按其存在形式的不同,可以分为现实世界、观念世界和数据世界三种。通俗的讲,信息是经过加工处理并对人类客观行为产生影响的数据表现形式。 (2)数据就是数据化后的信息,它是一种物理符号序列,泛指一切可以被计算机处理的符号及符号组合,是信息的一种量化表示。
1.1数据库基本概念 1.1.1 数据库基本概念 (3)数据处理是对数据的加工和整理,即对各种类型的数据进行收集、分类、存储、检索和传输等一系列的加工和整理过程。经历了手工处理、机械处理和计算机处理三个阶段。
1.1数据库基本概念 • 注意:数据与信息在概念上是有区别的。从信息处理角度看,任何事物的属性都是通过数据来表示的:数据经过加工处理后,使其具有知识性并对人类活动产生决策作用,从而形成信息。
1.1数据库基本概念 1.1.2 数据库管理系统VFP的发展概况 • 1989年,美国FOX公司正式推出FoxPro1.0,引入了图形用户界面设计和字符窗口技术 • 1991年, 推出了FoxPro2.0 • 1992年,推出了更为成功的 FoxPro2.5 • 1996年,美国Microsoft公司推出了Visual FoxPro3.0,使用了可视化和面向对象技术 • 1997年, 推出了Visual FoxPro5.0 • 1998年, 出现了Visual FoxPro6.0
1.1.2 数据库管理系统VFP的发展概况 返回 2、数据管理的发展过程(经历由低级向高级发展的过程。可分为三个阶段) 人工管理阶段 特点:数据量不大,不能保存 原因:硬件:没有直接存取的存储设备; 软件:没有实现数据管理的软件 数据组织方式:由程序员自行设计 文件系统阶段 特点:数据能以文件的形式存储并对其进行各种处理,但数据与应用程序之间缺 乏独立性,不同应用程序不能共享相同的数据,冗余大,浪费存储空间。 原因:硬件:具有可直接存取存储器;软件:操作系统已有管理数据的文件系统 数据组织方式:以文件的形式存储,需要时通过编程来调用 数据库系统阶段 特点:数据量大,能保存。 原因:硬件:具有大容量存储器;软件:具有专门的数据管理系统 数据组织方式:以数据库形式组织,面向整个系统,可共享数据。
1.1.3 数据库系统 1、数据库 数据库(DataBase)是相互关联的数据的集合。 数据库特点: (1)相互关联的数据的集合 (2)用综合的方法组织数据 (3)低冗余与数据共享 (4)数据具有较高的独立性 (5)保证数据的安全、可靠 (6)最大限度地保证数据的正确性 (7)数据可以并发使用并能同时保证数据的一致性
1.1.3 数据库系统 2、数据库系统 数据库系统就是基于数据库的计算机应用系统。 数据库系统包括的内容: (1)以数据为主体的数据库 (2)管理数据库的系统软件DBMS (3)支持数据库系统的计算机硬件环境和操作系统环境 (4)管理和使用数据库系统的人员,即用户和数据库管理员 (5)方便使用和管理系统的各种技术说明书和使用说明书
R1 R22 R21 R31 R32 R33 1.1.4 数据库结构模型 表示数据与数据之间联系的方法称为数据模型。 1.层次模型 层次模型是用树型结构来表示数据之间的联系。 特点: (1)有且仅有一个结点无父结点,这个结点即为树的根; (2)其它结点有且仅有一个父结点。 层次模型示例
R1 R2 R3 R4 R5 R6 R7 2. 网络模型 网络模型是用网络结构来表示数据之间的联系,可以表示多对多的联系。 特点: (1)可以有一个以上的结点无父结点; (2)至少有一个子结点有一个以上的父结点; (3)在两个结点之间有两个或两个以上的联系。 网络模型示例
3. 关系模型 关系模型: 是把数据结构看成一个二维表,每个二维表就是一个关系,关系模型是由若干个二维表格组成的集合。 特点: (1)表格中的每一列都是不可再分的基本属性; (2)各列被指定一个相异的名字; (3)各行不允许重复; (4)行、列的次序无关。
1.2Visual FoxPro 6.0功能概述 • 1.增强了项目和数据库管理功能 • 2.数据表设计更加方便 • 3.增加表单功能 • 4.增强查询和视图设计功能 • 5.向导功能更加强大 • 6.改善了调试工具 • 7.应用程序实例 • 8.集成的OLE与ActiveX • 9.游离视图增强连接 返回
主要文件类型 扩展名 文件类型 .APP 生成的应用程序 .BAK备份文件 .CDX复合索引文件 .DBC 数据库文件 .DCT 数据库备注文件 .DCX 数据库索引文件 .DBF数据表文件 .FPT数据表备注文件 .EXE 可执行文件 扩展名 文件类型 .FMT 格式文件 .FRX 报表文件 .IDX一般索引文件 .LBX 标签文件 .PJX 项目文件 .PRG源程序文件 .QPR 查询程序 .SCX表单文件 .WIN 窗口文件
1.3 Visual FoxPro用户界面 • 1.3.1 Visual FoxPro的启动与退出 • Visual FoxPro是Windows应用程序,其启动方法有以下几种: • 通过Windows的“开始”菜单上的“程序”选项启动。 • 通过Windows的“开始”菜单上的“运行”选项启动。 • 通过Windows桌面的图标启动。 • 通过Windows的资源管理器或从“我的电脑”启动。
1.3.2 Visual Foxpro的功能及其为用户提供的几种设计工具 Visual Foxpro为用户进行开发设计提供的几种设计工具有: (1) 设计器 此类工具主要用于辅助用户创建表、数据库、表单、查询、报表等文件以实现管理数据。设计器主要包括:表设计器、数据库设计器、 菜单设计器、表单设计器、查询设计器、视图设计器等。 (2)生成器 此类工具是方便用户修改表单或复杂控件的属性的一种可视化工具。生成器主要包括:组合框生成器、文本框生成器、表单生成器、列表框生成器等 (3)向导 此类工具是帮助用户迅速完成诸如建立表单、查询等常用任务的交互式工具。它包括表单向导、表向导、查询向导、应用程序向导等。 返回
1.3.2 Visual Foxpro的功能及其为用户提供的几种设计工具 (4)窗口 Visual Foxpro提供了众多的窗口,以方便应用程序的开发和管理,常用的几种窗口和用途如下: 浏览窗口:用于显示激活的表记录、视图或查询 代码窗口:用于编写、编辑和显示表单事件、方法的源代码 命令窗口:是一个系统窗口,单击Visual Foxpro菜单命令时,命令窗口显示菜 单命令的语句。 两个命令:?,?? 调试窗口:帮助用户设置断点、跟踪事件、记录执行的代码,可在监视窗口和 局部窗口查看属性设置、对象和数组元素的值。 (5)项目管理器 此工具是Visual Foxpro提供的一个重要工具,它将一个应用程序中所有文件合并成单一的文件,可编译成一个在VFP环境下运行的应用程序(app)或编译成可独立于VFP环境运行的执行文件(exe)
A 启动项目管理器 项目:是文件、数据、文档以及VFP对象的集合,项目文件的扩展名为.PJX。 项目管理器:Visual FoxPro处理数据和对象的主要组织工具,整个系统的控制中心。 启动项目管理器的方式: (1)新建项目: 命令方式:CREATE PROJECT 菜单方式: (2)打开已有项目: 命令方式:MODIFY PROJECT <项目文件名> 菜单方式:
B 项目管理器的组成 • (1)项目管理器包含的6个选项卡: • “数据”选项卡:包含了一个项目中的所有数据; • “文档”选项卡:包含了用户处理数据时使用的所有文档; • “代码”选项卡:包含了用户的所有代码程序文件; • “类”选项卡:用来显示和管理类库文件; • “其他”选项卡:用来显示和管理上述以外的文件; • “全部”选项卡:用来显示和管理所有类型的文件。
C 项目管理器的组成 • (2)项目管理器包含的6个按钮: • “新建”按钮:创建一个新文件或对象; • “添加”按钮:把已经存在的文件添加到项目管理器中; • “修改”按钮:修改项目管理器中指定的文件; • “运行”按钮:运行所选定的文件; • “移去”按钮:从项目中移去所选定的文件或删除; • “连编”按钮:建立应用程序或可执行文件。 (3)如果项目中含有一个以上的项,在其类型符号左边显示一个“+”号,单击该“+”号可展开项目中所包含的内容;如果需要折叠项目列表,单击该类型符号左边的“-”号。
D 定制项目管理器 (1)移动位置:鼠标拖动标题栏 (2)改变窗口大小:在窗口边界拖动鼠标 (3)展开和折叠项目管理器:鼠标单击窗口右边的箭头按钮 (4)重新安排选项卡:将选定的选项卡从项目管理器中拖开成为浮动选项卡,可通过快捷菜单访问“项目”菜单中的选项;单击选项卡上的关闭按钮或将选项卡拖回将还原选项卡 (5)使项目管理器成为工具栏的一部分:用鼠标将其拖到工具栏中。
E 项目管理器的操作 1. 添加或移去文件:使用“添加”或“移去”按钮。 2. 创建和修改文件:使用“新建”或“修改”按钮。 3. 为文件添加说明:使用“项目”或快捷菜单中的“编辑说明”选项。 4. 查看表中的数据:使用“浏览”按钮。 5. 项目间共享文件:使用鼠标在两个项目中拖动文件。
常量 1.4 数据类型和数据存储 数据 变量 Visual FoxPro中的数据都属于一定的数据类型,每一种数据类型决定了本类数据的取值方式和运算方式,依据数据的这种特性将数据划分为不同类型,称为数据类型。Visual FoxPro的数据类型。其中可用于内存变量和数组的数据类型有:数值型、字符型、逻辑型、日期型、日期时间型、货币型和对象型等7种;能用于表文件中字段的数据类型有:数值型、字符型、逻辑型、日期型、日期时间型、货币型、双精度型、浮点型、整形、通用型、备注型、二进制字符型、二进制备注型等13种。
1.4 数据类型和数据存储 • 1.数值型(Numeric) 数值型数据是用于表示数量的一种数据类型,它由数字0─9、小数点和正负号组成,它在内存中占8个字节;在数据表中占1─20个字节,精度16位。数值范围从-0.999 999 999 9E+19到+0.999 999 999 9E+20,用N表示。 • 2.字符型(Character) 字符型数据由汉字、字母、数字、空格、符号和标点等一切可以打印的ASCII字符组成,除汉字以外的字符每字符占用1个字节的存储空间,每个汉字字符占用2个字节的存储空间。字符型数据的最大长度为254字节,系统默认为8个字节,用C表示。
1.4 数据类型和数据存储 • 3.逻辑型(Logical) 逻辑型数据用来表示只有两个值的数据,存入的只有逻辑真(.T.)和逻辑假(.F.)两个值。长度固定为1位,用L表示。 • 4.日期型数据(Date) 日期型数据用来表示日期。日期型数据类型用D表示。通常采用美国格式mm/dd/yy(月/日/年),可用SET DATE、SET CENTRUY和SET MARK TO命令改成其他格式。它的格式也与Windows系统的设置有关。长度固定为4位。对日期型字段或变量赋值时,必须用花括号{}将该日期值括起来;或用CTOD()函数转换。
1.4 数据类型和数据存储 • 5.日期时间型数据(DateTime) 日期时间型数据用于保存日期、时间或者二者兼有的数据。日期时间值存储在含有2个4字节整数的8个字节中,其中第一个4字节整数保存日期,第二个4字节整数保存时间。在给日期时间型字段或变量赋值时,需要把日期时间值放在花括号{}中。 D • 6.货币型数据(Currency) 货币型数据用于货币计算。它具有自动控制小数位数的功能, Mon1=$123.5 Mon2=3342.23158 &&mon2的取值为3342.2316
1.4 数据类型和数据存储 • 7.双精度型数据(Double) 双精度型数据用于存储精度较高且位数固定的数据 • 8.浮点型数据(Float) 浮点型数据与数值型数据完全相同,Visual FoxPro提供浮点型数据主要是为了保持和其他开发软件和系统的兼容性。
1.4 数据类型和数据存储 • 9.整数型数据(Integer) 整数型数据在数据表中以二进制形式存储,只占4个字节的空间。 • 10.通用型数据(General)G 通用型数据专门用来存储OLE对象。 • 11.备注型数据(Memo)M 备注型数据用来存放一些内容较多的文本信息。
1.4 数据类型和数据存储 • 12.二进制字符型数据(Character binary) 二进制字符型数据的使用方法与字符型数据类似,只是这种数据不经过代码页的修改,直接以二进制将字符存储在文件中 • 13.二进制备注型数据(Memo binary) 二进制备注型数据的使用方法与备注型数据类似,只是这种数据不经过代码页的修改,直接以二进制保存在备注文件中。二进制备注型数据用M表示 • 14.对象型数据 Windows应用程序中生成的对象,用O表示
1.4 数据类型和数据存储 1 常量 (1)字符型常量:用定界符(单引号、双引号和方括 号)括起来的字符串。 (示例:“ade” ‘568’ [book] “‘book’的中文意思是 ‘书’。”) (2)数值型常量(示例:538,-10.5) (3)浮点型常量(示例:-1.05E+20) (4)日期型常量:表示一个确切的日期, 用大括号作为定界符,默认格式为{mm/dd/yy}。 严格的日期格式:{^YYYY-MM-DD} (示例:{^2001-08-16}) (5)逻辑型常量(示例:.t. .T. .f. .F. .Y. .N. .y. .n.) (6)日期时间型常量(示例:{2008-12-09 12:00:00})
1.4 数据类型和数据存储 2 变量 变量:在使用过程中其值可以改变的量。包括字段变量、内存变量、数组变量和系统内存变量。 1. 字段变量 (1)字段变量隶属于数据表文件。 (2)数据表是存在于计算机中的一个二维表格,数据表中的每一列称为一个字段,是数据表进行数据处理的基本单位;数据表中的每一行内容称为一条记录,由若干个相关联的字段组成。
1.4 数据类型和数据存储 2 变量 变量:在使用过程中其值可以改变的量。包括字段变量、内存变量、数组变量和系统内存变量。 1. 字段变量 (3)在数据表中,字段必须先定义后赋值,然后才可以使用。 (4)字段变量名由汉字、字母、数字和下划线组成,必须以字母或汉字开头。 (5)字段变量的数据类型有14种,与前面的数据类型相同。
1.4 数据类型和数据存储 2. 内存变量 (1)内存变量:存在于内存中的变量,常被用来存储所需要的常数、中间结果或最终结果。变量名由汉字、字母、数字和下划线组成,必须由字母或汉字开头。 (2)当内存变量名与字段变量名相同时,在表打开的情况下,字段名优先于内存变量名,使用时可以在内存变量名前加上“M->”或“M.”以示区别,但赋值时不能使用该前缀。 系统内存变量是系统已经定义好的一些变量,通常以下划线开头。
1.4 数据类型和数据存储 2. 内存变量 1)建立内存变量文件 格式:STORE <表达式> TO <内存变量名表> 或 <内存变量名>=<表达式> 示例: B=6 STORE B+3 TO C STORE “中国” TO A,B,C
1.4 数据类型和数据存储 2)显示和打印全部的内存变量 格式:LIST / DISPLAY MEMORY [LIKE <通配符>] [TO PRINTER / TO FILE <文件名>] [NOCONSOLE] 说明:通配符指“?”和“*” <文件名>的扩展名为.TXT LIST和DISPLAY区别为:LIST连续显示;DISPLAY分页显示。 示例:A=“中国” A1=5 LIST MEMORY LIKE A*
1.5 表达式和函数 1.5.1 运算符及表达式 1 数值运算符及数值表达式 2 字符串运算符及字符表达式 3 日期运算符及日期表达式 4 关系运算符及关系表达式 5 逻辑运算符及逻辑表达式
1.5 表达式和函数 (1)运算符:对相同类型数据进行运算操作的符号。 (2)表达式:用运算符将常量、变量、函数等数据连接起来的式子。 返回
1.5 表达式和函数 1数值运算符及数值表达式 (1)数值运算符:单目运算符、圆括号()、乘 方(**或 ^)、乘(*)、除(/)、模运算或取 余%)、加(+)、减(-) (2)数值表达式:由数值运算符将数值型 常量、变量、函数等连接起来的式子, 其结果为数值型。 (3)运算符的优先顺序: 括号、乘方、乘除与取模、加减 示例:5+7,70/(5+2),7*8**2
1.5 表达式和函数 (4) 规则 优先级与数学运算规则相同 每个符号占一格,无上下标。如X3应该为X^3, 运算符不能省略,如2Y应该为2*Y 所有的括号为小括号,如5[X+2(Y+2)]应该为5*(X+2*(Y+2)) 三角函数自变量用弧度表示,如SIN(30*3.14/180) 有些字符不被VFP承认
1.5 表达式和函数 2字符串运算符及字符表达式 (1)字符串运算符:完全连接运算符(+)、不完全连接运算符(-)、字符串包含运算符($)和精确比较运算符(= =)。 说明:完全连接运算符(+):两个字符串的简单连接; 不完全连接运算符(-):当第一个字符串的尾部有空格时,将第一个字符串尾部的空格移到第二个字符串的尾部,然后,再将两个字符串连接起来。 包含运算符($):检测左边的字符串是否被包含在右边的字符串中。如果包含,返回逻辑真值(.T.),否则返回逻辑假值(.F.)。 精确比较运算符(==):只有当两边的字符串完全相等时,才返回逻辑真值(.T.)。 返回
1.5 表达式和函数 2字符串运算符及字符表达式 (2)字符表达式:由字符串运算符将字符型常量、变量、函数等连接起来的式子。 示例:“abc ”+” bcd ”、”abc ”-” bcd ”、 “book”$”bookstore”、“the”$“this”、 “that”= =”that”、”that ”= =”that” 返回
1.5 表达式和函数 3 日期运算符及日期表达式 (1)日期型运算符:加法(+)、减法(-) (2)日期表达式:由日期运算符将日期型常量、 变量、函数等数据连接起来的式子,其返 回结果为日期型或者数值型数据。 (3)日期表达式的几种形式: <日期型数据>+<数值型数据> <日期型数据>-<日期型数据> <日期型数据>-<数值型数据> 示例:{^2008-01-01}+20 {^2008-05-30}-{^2008-05-20} {^2008-10-28}-20 返回
1.5 表达式和函数 4 关系运算符及关系表达式 (1)关系运算符:小于(<)、大于(>)、等于(=)、不等于(< >、#或!=)、小于等于(<=)、 大于等于(>=)。 (2)关系表达式:由关系运算符、数值表 达式、字符表达式或日期表达式组合而成 的式子,返回结果为逻辑值。 (3)关系运算符的两边,可以是字符表达 式、数值表达式或者日期表达式,但两边 的数据类型必须一致才能进行比较。 示例:“A”>“B”、 “A”<=“B” “A”=“B” 、“A”<>“B”、 5+6 >8 返回
1.5 表达式和函数 5 逻辑运算符及逻辑表达式 (1)逻辑运算符:逻辑非(.NOT.)、逻辑与(.AND.)、逻辑或(.OR.) (2)逻辑表达式:由逻辑运算符、逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成,结果为逻辑型常量。 (3)运算规则:进行逻辑与运算时,当参加运算的双方都为真值时,运算结果为真值,否则为假值;进行逻辑或运算时,当参加运算的双方都为假值时,运算结果为假值,否则为真值;进行逻辑非运算时,运算结果为原来的相反值。 示例:8>3.AND.8<10 “A”>“C”.OR.“A”<“C” .NOT.5<6 返回
运算的优先级关系 • --函数 • --算术运算 • --关系运算 • --逻辑运算(非与或) 高 低
1.5.2 函数 (1)函数功能(记住函数名、函数格式) (2)函数的返回值类型 (3)函数的参数个数及参数类型 (注意:当参数缺省时的默认值) 函数的学习方法:(应注意的问题)