Vf学习第1页共196页前言:VisualFoxPro课程介绍主要内容VisualFoxPro课程目标课程学时安排和教学方式课程的其它说明课程达到的目标1.掌握基于WIN95以上平台的可视化编程方法;2.熟练掌握关系型数据库的设计和操作方法;3.了解开发数据管理类软件的过程,基本掌握设计软件的方法。4.通过省计算机基础知识和应用能力二级考试。(自行研读:VisualFoxPro考试要求,在学习过程中参照该要求)课程学时安排和教学方式Vf学习第2页共196页学时安排:70——理论课20——实验课教学方式:多媒体教学+上机操作实验说明:在理论课教学中,按讲展开教学,每一讲有一个主题。课程内容以主题为中心进行展开,尽量铺及大纲中要求的教学内容。在学习过程中要注意各讲内容的衔接。课程的其它说明课程特点:1.概念多、新2.课程容量大、进度快3.与已有知识有较大距离,有一定难度所须基础:Windows操作系统的基本概念、基本操作熟练掌握一种汉字输入法(五笔字型输入法或其它亦可)计算机的基础知识学习要点:1.记笔记,但当听与记矛盾时以听为主;2.多上机练习,上机操作要有的放矢,及时消化新知识第一讲数据库系统及VFP概述主要内容数据库的基本概念VisualFoxPro运行界面VisualFoxPro语言特点VisualFoxPro中的数据数据库的基本概念数据Vf学习第3页共196页数据是表达信息的一种符号。在FoxPro在数据可以是:数值、文字、声音、图像数据处理由初始数据经计算机快速处理后产生结果数据的过程数据收集→转换→组织→输入→计算机处理→输出或存储数据模型“数据的组织结构的描述”信息的三个领域现实世界:客观存在的事物及相互联系观念世界(信息世界):现实世界的事物在人们意识中的反映数据世界(计算机世界):以数据的形式反映观念世界的信息现实世界信息世界数据世界事物及联系实体模型数据模型事物实体数据对象性质对象属性记录字段三种常见的数据模型层次模型网状模型关系模型——以二维表的方式组织数据示例表:学生表学号姓名性别出生日期电话号码班级代号系代号照片01011101周小波男09/28/81025-230304430101110101011102黄家鑫男03/02/800516-585964050101110102011101李林男02/12/830512-582213630201110102011102陆海涛男04/15/820510-635292420201110102011103林一平女12/20/820511-265784930201110102011104高明男08/17/840516-8354380802011101…………Vf学习第4页共196页课程代号课程名理论学时实验学时必修课学分课程备注01中文Windows954030.T.402VisualFoxPro4050.T.603管理信息系统1242.T.504数字电路1442.T.605C语言1848.T.606网页制作3020.F.207英语500.T.308数控技术及应用1434.T.409高等数学800.T.8关系——二维表——表文件(.dbf)实体行记录(Record)属性列字段(Field)关系模型的性质表的列确定了表的结构,结构不变,记录可以增删表的每一列均有唯一的字段名表中不允许有完全相同的两行表中行的顺序与列的顺序可以任意交换在VFP中的表数据均以关系模型的方式组织,放置这样的表的数据库相应称为关系数据库数据库管理系统(专门用于数据管理的软件,提供了数据库定义和装入、数据检索和存取、数据控制和数据库维护等功能)数据库(database)数据库的定义数据库是一个包容器,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。数据库的主要特点冗余小、数据共享性、数据独立性数据库管理系统(DBMS)Vf学习第5页共196页管理和维护数据库的一组软件创建、编辑、查询检索、统计、报表输出等等功能VisualFoxPro即为基于关系模型的数据库管理系统数据库系统(DBS)可实现数据处理的计算机软硬件资源VFP的基础知识VFP的运行环境软件环境:Windows95(中文版)或更高版本,或者WindowsNT4.0(中文版)或更高版本中。硬件环境:CPU48666MHz处理器以上一个鼠标16MB内存适量的硬盘空间(100MB左右)VFP的用户界面启动VFP:“开始”程序MicrosoftVisualFoxproMicrosoftVisualFoxproVf学习第6页共196页项目说明菜单系统菜单动态菜单(系统菜单上的菜单项会随着用户的动态地增加或修改)弹出菜单(右击弹出,在不同的对象上右击会出现不同的菜单条。亦称快捷菜单)工具条一种特殊的窗口,可定制界面。在工具栏上右击或“显示”“工具栏”命令窗口VFP内的一个可以输入命令即时得到响应的窗口命令窗口的作用:1.输入命令简便、迅速2.可以执行和运算菜单中没有的命令与函数3.便于学习与掌握命令和函数4.可帮助调试程序命令的输入与编辑:每条命令输入完毕按Enter键字体与行矩的设置:由“格式”菜单项下的菜单命令完成Vf学习第7页共196页VisualFoxPro语言特点1。不区分大小写建议用户:对标识符使用固定的大小写规则,以便程序易读易维护2.变量使用前不必说明“变量赋值的同时定义了该变量”例:C=’asample.’&&在使用时隐含地说明了字符型变量C3.不能为变量指定数据类型VFP中的变量中存放的数据类型可变化,变量的类型是“暂时性”的例:x=5(x的类型为数值型)x=x5(x的类型改变成为逻辑型)?x显示结果:.F.建议用户:在定义变量名时前导其数据类型标识符,如:cName4.两种注释格式(常用于程序中进行程序段或命令的说明)整行注释*整行注释NOTE整行注释尾注释命令&&尾注释5.存储数据用户使用的数据:时间、数值、货币数量、日期、名称、备注说明等可直接使用,亦可存储。存储增加了处理的灵活性。6.数据容器容器类型说明变量在RAM中的单个数据元素表记录多项预定义字段,每个字段可容放一个数据,表存储在磁盘上数组在RAM中的多元素数据(相关数据的集合)7.处理数据1.使用操作符(进行表达式运算)2.使用函数通过数据赋给变量。如:d=date()进行函数调用。如:cdgetdir()通过函数的返回值设置默认目录3.使用命令8.两种处理方式命令方式(交互方式)一条命令完成一个特定的动作。每条命令都有其Vf学习第8页共196页特定的格式。在命令窗口中完成程序方式(自动方式)“命令的有序组合”通过程序文件或事件代码实施VFP中的数据数据类型类型表达存储说明字符型C文本信息总长度≤256B整数型I无小数的数值(-231,231-1)如:年龄逻辑型L二个逻辑值的数据.T.与.F.数值型N数值货币型Y货币数额赋值给变量时前导$小数取四位,运算中自动四舍五入日期型D日期如:出生日期设置公元取否命令:SETCENTURYON/OFF双精度B高精度数值备注型M量大的文本信息以块的方式存在于.FPT文件中要求了解:用途和相关的格式数据存储常量字符型'VisualFoxPro5.0'说明:起止符只能用半角符号货币型前导$日期型{03/10/99}数值型逻辑型变量内存变量:临时使用的存放单元内存变量赋值方式:变量=表达式STORE表达式TO变量表字段字段变量:同一字段随记录的不同变化取值(取值于表)字段的字段名、字段类型、字段长度在表设计阶段确定,字段是表中最小的数据项,容放一个数据。例对于如下成绩表SS,XH、XM、CJ均为字段变量。XHXMCJ1张三902李四78Vf学习第9页共196页第二讲VFP语言基础主要内容VFP中的数据类型VFP中的常数、变量、表达式VFP中的常用命令VisualFoxPro中常用函数VFP中的数据类型数据类型类型长度存储说明字符型C1-254文本信息起止符货币型Y8货币数额赋值给变量时前导$小数取四位,运算中自动四舍五入日期型D8日期如:出生日期设置公元取否命令:SETCENTURYON/OFF日期时间型T8日期时间逻辑型L1二个逻辑值的数据.T.与.F.数值型N不定数值内存中占8个字节浮点型(同数值型)整数型I无小数的数值(-231,231-1)如:年龄双精度B高精度数值备注型M量大的文本信息以块的方式存在于.FPT文件中要求了解:用途和相关的格式实例练习X=’VisualFoxPro5.0’?X?TYPE(‘X’)&&求取变量X的类型A=$100.12345?A?TYPE(‘A’)Vf学习第10页共196页B=100?B?TYPE(‘B’)分析B为什么不是别的类型?VFP中的常数、变量、表达式常数“在操作过程中保持不变的数据”数值型常数数值型常数在内存中一律占8个字节。用于说明数值的大小形式有两种:自然表示法和科学表示法示例:100,1234.56,1.23456E-3货币型常数形式:$数值常数(这里的数值常数必须是自然表示法)示例:$100,$-100.23字符型常数形式:由起止符界定的字符序列。起止符可为:双引号、单引号、中括号示例:”vfp2003”,[thisisasample]注意:起止符不可为全角符!逻辑型常数逻辑值只有两个:.T.(真)与.F.(假)表达真:.t.,.T.,.y.,.Y.表达假:.f.,.F.,.n.,.N.日期型常数形式:由起止符{}界定的日期序列。说明:根据SETDATETO和SETCENTURYON|OFF的设定而确定日期格式setdatetoymd|mdy|dmy|long示例:X={08/29/03}?TYPE('X')变量变量的命名以字母、汉字或下划线打头(尽量不用下划线)后可跟字母、汉字、数字和下划线的字符串,其中不可有空格避免使用系统关键字变量的赋值Vf学习第11页共196页有两种方式:STORE数据TO变量1,变量2,……变量=数据变量的类型根据赋值确定。在操作过程中,变量的值和类型都可以变化。表达式数值表达式数值运算符:+、-、*、/、**(^)运算级别:先乘除,后加一,乘方在乘除之前,括号最优先运算项类型:数值型、整数型、浮点型、双精度型结果类型:数值型注意:如果有货币型数据参与运算,结果则为货币型字符表达式运算符:+、-、$(完全连接,删除左侧尾空格连接,包含比较)运算级别:先+、-,后$示例:A=’Visual’B=’FoxPro5.0’?A+B,A-B,’VFP’$A+B日期表达式运算符:+、-日期数据±数值日期日期数据1-日期数据2数值(天数)示例:A={10/01/03}B=date()?A-B?B+100?B-{02/11/84}逻辑表达式关系运算符:、=、、=、=、==、(或#、或!=)关系表达式:一个简单的比较式关于比较:数值比较――按数值大小进行日期比较――日期先者为小,后者为大字符比较――可以通过“选项”对话框设置Vf学习第12页共196页Machine:按机内码顺序PinYin:汉字按拼音顺序西文字符(由小到大):空格、小写字母、大写字母Stroke:汉字按照书写笔画的多少排序。西文同PinYin。逻辑运算符:NOT(!)、AND、ORNOT(或!)逻辑量逻辑量1AND逻辑量2逻辑量1OR逻辑量2表达式总结类型运算符运算对象和形式说明字符操作符+、-、$〈字符量1〉±〈字符量2〉C〈字符量1〉$〈字符量2〉L+:完全连接-:去尾空格连接$:包含比较日期、时间操作符+、-日期(D)±天数(N)日期(D)日期(D)-日期(D)天数(N)Vf学习第13页共196页逻辑操作符NOT、AND、ORNOT(或!)逻辑量逻辑量1AND逻辑量2逻辑量1OR逻辑量2非、与、或(亦为运算顺序)关系操作符〈、〉、〈=、〉=、=、#或〈〉、==同类型量算术运算符+、-、*、/、%、**或^运算对象为数值型量,其值为