
VisualFoxpro基础知识课件.ppt
64页Visual Foxpro 程序设计8/14/20241VisualFoxpro基础知识学习目的能够通过系统提供的命令建立数据库,定义数据并对数据进行诸如增删、更新、查找、统计、输出等操作,具备开发应用程序的基本技能,能设计出符合实际要求的数据库应用系统 声明Visual FoxPro是目前微机上最流行的关系数据库语言之一 ,是一种小型的关系数据库管理系统学习它并不是一件难事,但它需要配合课堂上机实践如不上机,等于白学!主要内容第1章Visual Foxpro 基础知识第2章表的建立与操作第3章程序设计基础第4章表单的建立与操作第5章数据库的建立与操作第6章 查询、视图及菜单设计1.1 Visual FoxPro 1.1 Visual FoxPro 发展概述发展概述 1.2 Visual FoxPro 6.0 1.2 Visual FoxPro 6.0用户界面用户界面 1.3 1.3 数据描述与基本操作数据描述与基本操作 第第1章章 Visual FoxPro 基础知识基础知识学习要点学习要点1 1、、Visual FoxPro 6.0Visual FoxPro 6.0的主要用户界面。
的主要用户界面2 2、基本数据类型以及基本概念,内存变、基本数据类型以及基本概念,内存变 量及数组的基本操作,运算符及表达式量及数组的基本操作,运算符及表达式3 3、常用函数的使用、常用函数的使用 第第1章章 Visual FoxPro 基础知识基础知识 1.1 Visual FoxPro6.0 1.1 Visual FoxPro6.0发展概述发展概述1、1986年6月推出了FoxBASE+ 1.0版 2、1987年7月推出了FoxBASE+ 2.0版 3、1988年7月推出了FoxBASE+ 2.1版4、1992年下半年推出了FoxPro 2.5版5、1994年下半年推出了FoxPro 2.6版6、1995年6月推出了Visual FoxPro 3.0 7、1996年8月推出了Visual FoxPro5.0 8、1998年9月推出了Visual FoxPro6.0 Visual FoxPro 管理系统简介管理系统简介 改变了数据库的概念 引入可视化编程技术 使用面向对象的程序设计方法 支持客户/服务器结构1.2 Visual FoxPro 6.0 用户界面用户界面 1.2.1 VFP6的启动与退出 1.2.2 VFP6的界面与环境 1.2.3 VFP6的设计工具 1.2.3 VFP设计工具设计工具设计器辅助用户创建表、数据库、表单、查询、报表等文件生成器简化生成、修改表单及其他复杂控件的过程向导迅速完成建表等常用任务的交互式工具窗口项目管理器组织、管理数据1.3 数据描述与基本操作数据描述与基本操作1.3.1 数据类型1.3.2 运算对象1.3.3 常用函数1.3.4 命令格式和文件类型1.3.5 数据库和表的基本组成1.3.1 常用数据类型常用数据类型 1、字符型数据(Character,简写为C) 2、数值型数据(Numeric,简写为N) 3、逻辑型数据(Logic,简写为L) 4、日期型数据(Date,简写为D) 5、备注型数据(Memo,简写为M) 6、通用型数据(General,简写为G) 1.3.2 运算对象运算对象常量:一个不变的数值或字符串。
常量表达式中包括常量和操作符,但不包含变量,而且计算结果总是常值 变量:是值可改变的量,指代计算机内存中的某一位置,其中可存放数据变量分为字段变量和内存变量运算符和表达式 一、常量一、常量1.数值型 长度: 整数位数、小数位数和小数点2. 字符型 如:‘123’ [ A ] “ a”3. 逻辑型 真: .T. . t . .Y. .y. 假: .F. . f . .N. .n.4. 日期型 如:{ ^2004-9-1} 5. 日期时间型 如:{ ^2004-9-1 8:20:32 am}6. 货币型 如:$123.45 7. 编译时常量 如:#DEFINE PI 3.1415926535 #UNDEF PI 内存变量:是独立于数据库文件的临时存储单元,可以用来存放表操作过程中或程序运行过程中所要临时保存的数据。
字段变量:表中的每一个字段就是一个字段变量,字段名就是字段变量的变量名字段变量的当前值等于表中当前记录该字段所对应的内容二、变量二、变量 变量(续)变量(续)1. 变量名 内存变量: M. 或 M->2. 建立内存变量 a. “=” 赋值符 格式:<内存变量名>=<表达式> 例: R=3 S=3.14*R*R变量(续)变量(续) b. Store命令 格式:Store <表达式> To <内存变量表> 例:Store 0 To A,B,C,D3.内存变量操作 a. 显示 格式:Display | List Memory [ Like 通配符 ] 通配符: * ?显示内存变量显示内存变量例:Aname=‘张平’Anumber=123Avalue=1/4Adate={^2004-9-5}Declare A[3]A[2]=“星期二”A[3]=$12.34Display Memory Like A*变量(续)变量(续)b. 清除内存变量格式1:Release <内存变量表>格式2: Release All [ Like / Except <通配符>]例: Release A1,A2 Release All && 或 Clear MemoryRelease All Like ?A?C*Release All Except ?B* 变量(续)变量(续)c.保存和恢复内存变量保存:Save To <内存变量文件名> [All Like /Except <通配符>] 例: Save To A1 Save To A:a1 All Like Z*变量(续)变量(续) 恢复:Restore From <内存变量文件名> [Additive] 保存屏幕:Save Screen [ To <内存变量>]恢复屏幕:Restore Screen [ From <内存变量>] 变量(续)变量(续)4.数组变量 Dimension | Declare <数组名>(<下标1>[,<下标2>])例: Dimension A(5), B(3,4), C[6]A=3 Declare X[2,3]Store "Aa" To X(1,2)Store 5 To X(6) X(2,2)="hello"Disp Memo Like X 三、运算符和表达式三、运算符和表达式分为:数值型、字符型、日期型、关系型 和逻辑型。
1.数值型表达式由数学运算符、常数、变量和函数组成 数学运算符: () 括号+ 加号 - 减号 * 乘号 / 除号 % 取模(余数) ^或** 乘方 + 正号 - 负号 运算符和表达式运算符和表达式(续续)2. 字符型表达式由字符运算符、字符型常量、变量和函数组成 字符运算符: +:字符串连接符 -: 串尾空格移位连接符例: ‘ABC ’ + ‘DEF’ 结果: ‘ABC DEF’‘ABC ’ - ‘DEF’ 结果: ‘ABCDEF ’运算符和表达式运算符和表达式(续续)3.日期型表达式由算术运算符(+或-)、算术表达式、日期型常量、变量和函数组成日期型数据的运算只有三种情况:1) Date-Date=N {^2001-8-12}-{^2001-7-12}=312)Date+N=Date 3) {^2001-7-12}+31={^2001-8-12}3) Date-N=Date {^2001-8-12}-31={^2001-7-12}运算符和表达式运算符和表达式(续续)4.关系型表达式由关系运算符、数值表达式、字符表达式、常量、变量和函数组成关系运算符有8种:<<=>>== <>或#或!不等于 $字符串包含 = =字符串精确比较 关系运算符对同类型的数据进行比较 ,结果是逻辑值运算符和表达式运算符和表达式(续续)例:3>=2 ‘A’<‘a’100!=101 {^1998-9-23}>{^1995-9-23} ‘王’>‘李’ “ABC”>“ABD” 3>2+5 “王林=王敏” 运算符和表达式运算符和表达式(续续)“$”------字符串包含运算符格式: <字符串1> $ <字符串2>功能: 当<字符串2>包含<字符串1>时,结果为.T.;否则为.F.例:“彩电”$“西湖彩电”‘AS’$‘ABDASD’“杭州”$“浙江” 'ABC'$’C’ 运算符和表达式运算符和表达式(续续)例: Set Exact Off “ABC”=“ABCD” //结果为.F. “ABCD”=“ABC” //结果为.T. Set Exact On “ABCD”=“ABC” “= =” 字符串精确比较运算符 相当于Set Exact On 下的"="号. 运算符和表达式运算符和表达式(续续)5.逻辑型表达式 由逻辑运算符、关系表达式、逻辑常量、变量和函数组成。
运算结果为逻辑值 逻辑运算符:.Not.或 Not或 ! 逻辑非 .And. 或 And 逻辑与 .Or. 或 Or 逻辑或 高 低优先级1.3.3 常用函数常用函数函数名([<操作数表达式>])包括:数值和数学函数、字符型、日期时 间型、转换函数、测试函数、数据 库和表函数等1.宏代换函数格式:&<字符型内存变量>[.<字符表达式>]功能: 替换出字符型内存变量的值例: Store "Gz.Dbf" To X Use &X作用范围:从符号“&”起,直到遇到一个圆点 符“.”或空白为止.如果要在宏代换后面再加入其它字符,可用圆点符"."将他们分开.一、字符型函数一、字符型函数字符型函数(续)字符型函数(续)例:H=“GZ”Use &H..DBF宏代换函数可以改变数据类型,将某些字符型常量转变为逻辑型、数值型例如:X=".T."Y="123"?3>2 .AND. &X , 456+&Y字符型函数(续)字符型函数(续)2.字符串截取函数 (1)取消前后空格函数格式: Alltrim(<字符表达式>) (2)取子串函数格式:Substr(<字符表达式>,<起始位置>[,<个数>]) 字符型函数(续)字符型函数(续)例: x="10/14/99"?Substr(x,7,2)+“年 ”+substr(x,1,2)+“月” + Substr(x,4,2) + "日"?Substr(x,7)?Substr(x,0,7) 三、转换函数三、转换函数1. 字符型转换为日期型函数格式: ctod(<字符表达式>) 例: a=ctod("10/18/99") 2. 日期型转换为字符型函数格式: dtoc(<日期表达式>[, 1]) 例:? dtoc(Date())?dtoc({^2005-9-1})// ”09/01/05” 转换函数转换函数(续续)3. 数值型转字符型函数.格式: Str(<数值表达式>[,<转换长度>[,<小数位数>]]) 例: ? Str(156.73,6,1) ? Str(156.73,2,1) 转换函数转换函数(续续)4. 字符转换数值函数格式: Val(<字符表达式>)例: ?Val("134ABCD576.235")?Val("-657.5326")?Val("abdc236")Set Decimal To 3?Val(-657.5326) 四、四、数据库和表函数数据库和表函数 1. 字段处理函数(1)字段数函数格式: Fcount([<工作区号>/<别名>])功能: 返回指定工作区中打开表的字段数. 若指定的工作区中没有打开的表,则返回0. 例: Use 学生?Fcount( ) 数据库和表函数(续)数据库和表函数(续)(2)字段名函数格式: Field(<数值表达式>[,<工作区号>/<别名>])功能: 返回指定工作区中第<数值表达式>个字 段的名字.例: Use 学生?Field(1)数据库和表函数(续)数据库和表函数(续)(3)字段长度函数格式: Fsize(<字段名>[,<工作区号>/<别名>])功能: 返回指定工作区中指定字段的长度. 例: Use 学生?Fsize("姓名") 数据库和表函数(续)数据库和表函数(续)2. 记录处理函数(1)表起始测试函数格式:Bof([<工作区号>/<别名>])功能: 测试表文件开始状态,并返回一个逻 辑值. (2)表结束测试函数格式:Eof([<工作区号>/<别名>])数据库和表函数(续)数据库和表函数(续)(3)记录数测试函数格式: Reccount([<工作区号>/<别名>])功能:返回指定工作区中表文件的记录总数.(4)记录号测试函数格式:Recno([<工作区号>/<别名>])功能:返回指定表中当前记录号. 五、测试函数五、测试函数 1. 输入键测试函数格式:Inkey([<等待时间>][,<字符表达式>])功能:返回用户所按键的ASCII码值<字符表达式>: S 等待时显示光标 H 等待时隐含光标 M 检测按键和鼠标击键缺省只检测键盘按键<等待时间>缺省或为0时则一直等待直到有键按下为止测试函数(续)测试函数(续)例:?“!!!”=Inkey(10,”hm”)S=Inkey(0)?S测试函数(续)测试函数(续)2. 文件测试函数格式: File(<字符表达式>)功能: 测试指定的文件是否存在. 文件名必须包含扩展名. 六、其他函数六、其他函数 自定义对话框函数格式:Messagebox(<提示文本>[,<数值表达式>[,<标题文本>]])功能:显示用户自定义对话框。
标题文本提示文本Messagebox(“是否要放弃更改的数据”, 1+16+0,“hello”)按钮类型其他函数(续)其他函数(续)1) 数值与按钮种类对照:0“确定”1“确定” 、“取消”2“放弃”、“重试”、“忽略”3“是”、“否”、“取消”4“是”、“否 ”5“重试”、“取消”其他函数(续)其他函数(续)2) 数值与图标种类对照: 16 停止图标32 问号48惊叹号64信息图标3) 数值与默认按钮对照:0 第一个按钮256 第二个按钮512 第三个按钮其他函数(续)其他函数(续)对应每个按钮的返回值:1确定2取消3放弃4重试5忽略6是7 否1.3.4 1.3.4 命令格式和文件类型命令格式和文件类型 示示 例例USE GradeCount All For 课程成绩<60 List All 姓名,成绩 For 成绩<60 To PrinterUse第1条命令:打开名为Grade的表文件第2条命令:统计Grade中分数在60分以下的人数第3条命令:在打印机上输出成绩为60分以下的学生的姓名和分数。
第4条命令:关闭表文件Grade,将其保存在磁盘上 这四条命令的功能分别是这四条命令的功能分别是VFPVFP命令的一般语法格式:命令的一般语法格式: <命令动词命令动词> ;;[<范围范围>] ;;[Fields<字段名表字段名表>];;[For<条件条件>];;[While<条件条件>];;[To File <文件名文件名>/to Printer/to Array;; <数组名数组名>/to <内存变量内存变量>];;[All [Like/Except <通配符通配符>]];;[In <工作区工作区/别名别名>]可以将命令分为八个部分,即每个顶头行为一个部分各部分的意义各部分的意义命令动词:命令动词:VFP的命令名,指示计算机要完成的操作 All 当前表中的全部记录当前表中的全部记录Next
的所有记录字段名表:字段名表:规定当前处理的字段和表达式范围:范围:指定命令可以操作的记录集有下列四种选择:For <条件>:它规定只对满足条件的记录进行操作 While <条件>:从当前记录开始,按记录顺序从上向下处理,一旦遇到不满足条件的记录,就停止搜索并结束该命令的执行 In <别名/工作区>: 它允许在当前工作区操作指定工作区To子句:它控制操作结果的输出去向 All [Like/ Except <通配符>]:它指出包括或不包括与通配符相匹配的文件、字段或内存变量 各部分的意义(续)各部分的意义(续) 有关规则有关规则 1、命令动词必须是命令行的第一个非空字符,各子句可以以任意顺序跟在动词后面,命令动词与子句、子句与子句之间用一个或多个空格隔开 3、命令行的总长度不得超过2048个字符(包括空格在内),若命令较长,在显示器上显示不下时,可以分几行写,但除最后一行以外,每行的未尾以“;”结束 4、命令、关键字、变量名和文件名中的字母既可以大写也可以小写,还可以大写、小写混合,三者等效 2、命令动词和VFP保留字均可用前4个字母简写 命令、函数符号的约定命令、函数符号的约定 [ ]:其中的内容是可选项,不选时系统自动取缺省值 < >:其中的内容是用户的选择项,通常有多种可能供用户选择一种。
/:为二选一表示符要求用户从本符号的左右两项中选择一项 …:省略符它表示在一个命令或函数表达式中,某一部分可以按同一方式重复 VFP6文件命名方法文件命名方法 文件名由主文件名和扩展名两部分组成主文件名最长由10个字符组成,可以包括字母、数字、下划线、连字符,但不能使用“*”、“?”、“/”等但加入到了数据库中的表和字段名均支持长文件名,最长为128个字符扩展名由“.”加3个字母组成,表示文件类型 ABC_DE-f1主文件名.DBF分隔符扩展名文件名中可以大、小写字母混合使用VFP6系统的常用文件类型系统的常用文件类型 1、项目文件 .PJX .PJT 2、数据库文件 .DBC .DCT 3、表文件 .DBF .FPT 4、程序文件 .PRG .FXP 5、索引文件.IDX .CDX 6、内存变量文件 .MEM7、文本文件 .TXT 8、菜单文件.MNX .MPR .MPX .MNT 9、表单文件 .SCX .SCT1.3.5 数据库和表的基本组成数据库和表的基本组成 数据库(Data-Base): 现阶段对数据库的定义是存贮在一起的通用化相关数据的集合,它不仅包括描述事物的数据本身,而且包括有关事物之间的联系。
数据库文件具有 .dbc 扩展名,可以包含一个或多个表、视图、到远程数据源的连接和存储过程表(Table):表是构成数据库的基本元素之一,是数据库中数据组织并存储的单元在Visual FoxPro中,一个表以记录(行)和字段(列)的形式存储数据,它与传统的数据库的概念等同 数据表学号姓名性别出 生 日期评语奖学金照片王平女1977.6 360 李强男1978.1 张倩女1978.4三好学生480 数据库和表的基本组成(续)数据库和表的基本组成(续)数据的组成层次:(1)字段 (2)记录 (3)表文件 (4)数据库小小 结结1、VFP6从FoxBASE开始发展大致经过了八个阶段2、VFP6对系统的要求不高,VFP6功能强大,使用简单3、VFP6的启动可以通过Windows的开始菜单、桌面快捷方式、直接运行VFP6.EXE、或任意VFP6文件实现4、VFP6退出可以通过在命令窗口中执行QUIT、系统菜单的退出菜单项或主窗口的“关闭”按钮实现5、VFP6的文件类型很多,重点掌握所介绍的9种常用类型6、VFP6的数据类型也很多,应重点掌握6种常用数据类型。
7、应掌握VFP6的一些基本概念8、VFP6的命令一般由八个部分构成,除命令动词以外,其它子句的位置可以任意。












