《VisualFoxPro概述1》由会员分享,可在线阅读,更多相关《VisualFoxPro概述1(54页珍藏版)》请在金锄头文库上搜索。
1、Visual-FoxProVisual-FoxPro概述概述(1)(1)2.1 Visual FoxPro的特点nVisual FoxPro 6.0是Microsoft公司出品的应用非常广泛的可视化程序设计语言,它集数据库和程序设计语言于一身,并提供多种可视化编程工具,可以设计许多小型数据库系统 2.1.1 Fox系列数据库产品的发展历史 n在各种数据库管理系统中,在我国使用最早最为广泛的当属Fox系列产品,Visual FoxPro是目前Fox系列产品的新版本,它起源于xBASE微机数据库系列。 1dBASE系列2从FoxBASE到FoxPro3Visual FoxPro的推出2.1.2 V
2、isual FoxPro的特点1集编程语言和数据库为一身2支持面向对象的程序设计3提供大量的可视化编程工具4强大的交互式开发环境(IDE)5支持网络应用2.2 Visual FoxPro6.0的安装和配置 2.2.1 Visual FoxPro6.0的运行环境1软件环境Visual FxoPro6.0是32位产品,需要在Windows95/98或Windows NT 4.0或更高版本的操作系统上运行。2硬件环境处理器:带有486DX/66MHz 处理器(或更高档处理器)的PC兼容机。内存储器:16MB 内存。硬盘空间:建议在 100MB 以上。一个鼠标和一个光盘驱动器。推荐使用 VGA 或更高
3、分辨率的监视器。2.2.2 Visual FoxPro6.0的安装n用户可以从CD-ROM中安装Visual FoxPro 6.0。安装时请关闭其他应用程序。 将Visual FoxPro 6.0安装盘放入CD-ROM,安装程序自动执行,如果没有自动执行,需要到光盘中点击执行Setup.exe程序。然后按照提示进行安装即可。2.2.3 Visual FoxPro的配置nVisual FoxPro的配置决定了Visual FoxPro的外观和行为。Visual FoxPro被安装和启动后,系统自动用一些默认值来设置环境,为了使系统能满足个性化的要求,也可以定制自己的系统环境。例如:可以建立Vis
4、ual FoxPro所用文件的默认位置,指定如何在编辑窗口中显示源代码以及日期与时间格式等。1使用“选项”对话框1)从“工具”菜单中选择“选项”命令,会出现如图2-3所示的对话框;2)根据需要选择相应的选项卡,在选项卡内根据提示进行设置;3)保存设置,用户可将所作设置保存为在当前工作期有效或者永久有效,如果要把设置保存为仅在当前工作期有效,则选择“确定”按钮即可;如果要设为永久有效,则先单击“设为默认值”按钮,把所作设置保存在Windows注册表中, 然后单击“确定”按钮。图2-3 “选项”对话框2使用SET命令配置Visual FoxPro n大多数显示在“选项”对话框选项卡上的选项,都可以
5、通过SET命令或给系统内存变量指定值来进行修改。如:在“命令”窗口中输入SET DATE TO ANSI,则将日期格式设为“年.月.日”。利用SET命令设置环境时,仅在Visual FoxPro本次运行中有效,当退出系统时,设置全部丢失。使用DISPLAY STATUS命令可以查看Visual FoxPro的当前配置情况。 3通过修改配置文件配置Visual FoxPron在Visual FoxPro启动时,程序首先读取Windows注册表中的配置信息,并根据这些信息设置其外观和行为。在读完注册表后,Visual FoxPro还会检查当前目录下是否存在Config.fpw这个配置文件,如果有,
6、则继续读取其中的配置信息,该信息将覆盖先前从注册表中读取的相同信息。Config.fpw是一个文本文件,可以在其中设定SET命令的值,设置系统变量或执行命令、调用函数。2.3 Visual FoxPro的工作窗口标题栏菜单栏工具栏命令窗口状态栏主窗口图2-4 Visual FoxPro主工作窗口 2.3.1菜单栏1菜单简介n文件:提供与访问文件有关的一些命令。n编辑:提供帮助编辑程序、表单、表和报表的功能,而且还支持创建对象链接和嵌入对象(OLE)的功能。n显示:用于查看当前打开的对象。n格式:提供在对对象编辑时的格式控制,但是,会因打开的对象不同而有不同的命令按钮。n工具:提供如向导、调试器
7、、类浏览器、选项设置等多种编辑工具。n程序:提供关于程序的编译和运行控制的命令。n窗口:提供了管理屏幕上正在打开的窗口的命令,如打开/关闭命令窗口,数据期工作窗口等。2菜单选择要想执行菜单中某条命令,需先选中该菜单项,其方法有如下几种:(1)单击某一菜单栏,出现下拉式菜单,移动鼠标到某菜单项(命令项)单击。(2)使用键盘操作时,按住Alt,键入菜单栏后带下划线字符,出现下拉式菜单,再键入菜单项后带下划线字符。2.3.2 工具栏n对于经常使用的功能,直接使用工具栏上的各种工具按钮比菜单选择便捷得多。工具栏通常在系统菜单栏下方,也可以用鼠标拖到屏幕任何位置。 n工具栏的打开方法是执行“显示”菜单中
8、“工具栏”命令,显示 “工具栏”对话框,选择要使用的工具栏,按“确定”后,被选择的工具栏将显示在屏幕上。2.3.3 命令窗口 n命令窗口是Visual FoxPro的一个重要的系统窗口。单击“窗口”菜单下的“命令窗口”选项,或者单击“常用”工具栏上的“命令窗口”按钮,可以打开/隐藏该窗口。 n在命令窗口输入命令,按回车后会立即被执行。n命令窗口是一个可编辑窗口,可以进行插入、删除、复制、粘贴操作,在命令窗口中选定多条命令后按回车,可以一次执行多条命令。 2.4 Visual FoxPro的数据类型和文件类型的数据类型和文件类型 nVisual FoxPro有严格的数据类型和文件类型,清楚地认识
9、它们,是有效地管理数据库和编写程序的前提。2.4.1 Visual FoxPro的数据与数据类型 1数据n在数据库系统中,记载信息的各种符号称为数据。计算机中数据的含义颇为抽象,在Visual FoxPro中,计算机从外界获得的一切原始数据(包括各种数字信息、文字信息、声像信息等),经过加工和处理后,就变成了对用户有用的信息。2数据类型nVisual FoxPro中所有的数据都有一个类型,称为数据类型。它用于描述和规定数据的可能取值和范围,以及其存储方式和使用方式。数据的类型不同表明数据的属性不同。nVisual FoxPro向用户提供了丰富的数据类型,可用于变量、数组和表中的字段。 (1)
10、字符型(Character):n由字母、数字、空格等ASCII码字符组成,汉字也属于字符型数据。字符型数据长度为0254个字符。一个汉字占两个ASCII码字符位置。字符型数据必须用单引号、双引号或方括号等定界符括起来,例如:student、Lotus-1-2-3。表示一个不含任何字符的空串。(2) 货币型(Currency):用来表示货币值,货币型数据需要在数字前面加上一个$符号。 (3) 数值型(Numeric): 可以参加数学运算的数据,由数据09、小数点和正负号组成。数值型数据的长度为120位,数值较大或较小时可采用科学计数法表示,在内存中占8个字节。例如:5.936, -7889.98
11、,8.992E-15。 (4) 逻辑型(Logical):用于表示事物真假的数据。其值只有真(.T.、.t.、.Y.或.y.)和假(.F.、.f.、.N.或.n.)两个逻辑数据。存储长度固定为1个字节。(5) 日期型日期型(Date)/日期时间型日期时间型(DateTime)Date用于表示日期的数据,DateTime包括日期和时间两部分数据。日期型数据长度和日期时间型数据长度都固定为8个字节。Date的严格数据格式为yyyy/mm/dd 或yyyy-mm-dd,花括号内的第一个字符必须是字符,年份必须是4位。如:1999/8/22、2002-2-12。 (6) 可变型(可变型(Variant
12、)可以表示任何Visual FoxPro数据类型,数据长度取决于其所包含的数据的类型。Variant数据类型通常在外部客户连接到Visual FoxPro应用程序时使用。以下数据类型只适用于表中的字段:(1) 浮点型(Float):该数据类型在功能上完全等价于数值型,只是在存储形式上采用浮点格式,主要为了得到较高的计算精度。(2) 双精度(Double):表示双精度浮点类型数据。该数据表示的数据范围远远大于数值型数据和浮点型数据。该数据主要用于存储科学计算中的天文数字。双精度型数据占8个字节。(3) 整型(Integer):无小数的数值型数据,整型数据占4个字节,取值范围是-214748364
13、72147483647。(4) 备注型(Memo):用于存储字符型数据块。字段内容并不存储在记录中,而是存放在系统为每个含有备注型字段的表自动建立的一个与表同名的备注文件(扩展名.FPT)中,该备注文件随表的打开自动打开。记录中仅存储指向备注文件中相应内容的指针。(5) 通用型(General):用于存储OLE对象。具体的OLE对象可以是电子表格、文档和图像等。记录中仅存储指向OLE对象的指针。OLE对象放置到通用型字段时,既可采用链接方式,也可采用嵌入方式,如果链接到一个OLE对象,是指没有将OLE对象真正保存在通用型字段中,字段中只包含指向OLE对象中数据及创建它的应用程序的引用,链接方式
14、节省了存储空间。如果嵌入一个OLE对象,则字段中包含OLE对象数据的副本和创建它的应用程序的引用,这样会使表文件变得庞大。2.4.2 Visual FoxPro的文件类型nVisual FoxPro具有众多的文件类型,不同的文件类型是以文件的扩展名来区分。n常用的文件类型有:DBF 数据表文件CDX 数据表复合索引文件PJX 项目文件PRG 源程序文件SCX 表单文件FRX 报表文件MNX 菜单文件2.5 Visual FoxPro的常量、变量和函数n常量、变量和表达式是构成程序的基本元素,Visual FoxPro与其他程序语言相比,有自身的一套定义和语法规则,下面作一介绍。2.5.1常量n
15、常量是在程序执行过程中不能改变其值的数据。Visual FoxPro定义了六种类型的常量,分别是:数值型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量和货币型常量。2.5.2 变量1变量的命名变量的命名每个变量都有一个名称,叫变量名,不同的变量通过变量名加以区分。变量名命名规则是:(1) 以字母、数字、下划线、汉字组成。(2) 变量名首字符只能是字母、下划线、汉字,不能以数字开始。(3) 变量名长度为1128个字符,每个汉字占2个字符。(4) 不能使用系统保留字。2变量的分类变量的分类(1) 系统变量系统变量是指以字母“_”开头的、系统内部提供的变量,用于控制外部设备(打印机、鼠标等
16、)及屏幕输出格式,或者用来处理有关计算器、日历和剪切板等方面的信息。用户在定义内存变量时不能与系统变量同名。(2) 字段变量表中的字段就是字段变量。当字段变量和内存变量同名时,字段变量具有优先权,即屏蔽同名的内存变量。若要访问内存变量,则应在内存变量名前加上提示符M.或M-(3) 内存变量内存变量存在于程序中,是一种临时变量,其值存储在内存里,一旦程序运行完毕,这些变量就自动释放。其作用是提供数值的传递和运算。3内存变量内存变量(1)内存变量的赋值nVisual FoxPro的内存变量可以不事先声明定义,创建一个内存变量只要直接对它进行赋值即可。内存变量的赋值有两种格式:n格式1:STORE
17、表达式TO 内存变量表n格式2:内存变量名=表达式n功能:首先计算出表达式的值,再将该值赋给内存变量 (2) 变量的作用范围变量的作用范围n程序中直接通过赋值来创建的变量是一个私有变量,即它只能作用于声明它的程序及其调用的下一级程序。也可以使用LOCAL、PRIVATE、PUBLIC命令强制规定变量的作用范围。nLOCAL:用于建立局部变量,并赋初值.F.。这类变量只能在创建它们的程序中使用和修改,不能被别的程序访问。nPUBLIC:用于建立全局变量,并赋初值.F.。在Visual FoxPro运行期间,所有程序都可以使用这些全局变量。nPRIVATE:用于隐藏上级程序中的同名变量,使上级程序
18、中的同名变量在当前程序中暂时无效。当前程序执行结束返回到上级程序时,隐藏的变量被恢复。(3) 内存变量的显示内存变量的显示n如果希望了解目前内存单元中内存变量的情况,例如内存变量的名称、作用域、类型和值,可以用下面的内存变量显示命令。n命令格式:DISPLAY |LIST MEMORY LIKE n功能:显示当前内存中的内存变量的名称、作用域、类型和值。(4)内存变量的清除n清除内存变量就是将先前定义的变量从内存中除去,并释放变量所占的内存空间。清除内存变量可以使用CLEAR命令或RELEASE命令。n格式1:CLEAR MEMORYn格式2:RELEASE n格式3:RELEASE ALLE
19、XTENDEDn格式4:RELEASE ALLLIKE|EXCEPT2.5.3 数组n数组是一种特殊的内存变量,它是由一组数据值组成的有序序列,每一个数据值称为一个元素,每个元素通过一个数值下标引用,可以很容易地被赋值、定位和操作。Visual FoxPro数组可以有不同类型的元素,即单个数组里面可以包含任何一种数据类型的数据。n在Visual FoxPro中数组更多地用于与记录之间的数据交换。例如可以将一条记录中的字段值存放在数组中,同时也可以将数组中的数据复制到表的记录中。数组的应用大大提高了对表中记录操作的灵活性。1数组的定义数组的定义n命令格式:DIMENSION | DECLEAR数
20、组名(下标1,下标2)n功能:建立一维或二维数组。n说明:DIMENSION和DECLEAR的用法完全相同。数组的下标放在圆括号中,也可以放在方括号中。数组的下标是数值表达式,如果带有小数,则小数部分无效。2数组的赋值数组的赋值nVisual FoxPro规定,数组定义后,数组中的每个元素自动取得逻辑值.F.。n给数组赋值的命令与简单变量相同,给数组赋值时,若只写出数组名称,未指明下标,则数组中的所有数组元素同时被赋予同一个值,若指明下标,则给指定的数组元素赋值。例如:DIMENSION A(4),B(2,3) STORE 2 TO A(1) STORE 3 TO B(1,1),B(1,2)2
21、.5.4 标准函数标准函数n函数是由Visual FoxPro提供的一些标准子程序,每个函数都有其特定的功能,完成数据运算或转换,它一般需要若干个参数,即运算对象,返回一个运算结果,称为函数值或返回值。 n函数的调用格式是:函数名(参数表)n下面对各类常用函数进行介绍。1数值运算函数数值运算函数ABS(N) 返回参数N的绝对值。SIGN(N) 返回参数N的符号INT(N) 返回N的整数部分。CEILING(N) 返回大于或等于参数N的最小整数FLOOR(N) 返回小于或等于参数N的最大整数ROUND(N1,N2)对N1四舍五入,保留N2指定的小数位数SQRT(N) 返回N的平方根。MAX(Nl
22、,N2,)返回众多参数中最大的数。MIN(Nl,N 2,)返回众多参数中最小的数。MOD(Nl,N2)返回Nl,N2所得的余数(模)。PI() 返回圆周率(数值型)2字符函数字符函数LEN(C)返回参数C所指字符串的长度LOWER(C)将参数C中的大写字母转换成小写字母UPPER(C)将参数C中的小写字母转换成大写字母TRIM(C)将指定的字符串的尾部空格去掉。LTRIM(C)去掉字符串中的前导空格。ALLTRIM(C) 去掉字符串中前导和尾部的所有空格。LEFT(C,N)返回参数C左起的N个字符的子串RIGHT(C,N) 返回参数C右起的N个字符的子串SUBSTR(C,N1,N2)求子串AT
23、(Cl,C2)返回字符串C 1在字符串C2中的开始位置SPACE(N)生成且返回一个N个空格字符组成的串。CHR(N)返回N值所对应的ASCII码字符3日期和时间函数日期和时间函数DATE() 返回系统的当前日期。TIME() 返回当时的系统时间DATETIME() 返回当前的系统日期时间YEAR(D) 返回日期D的年份值。MONTH(D) 返回日期D的月份值。DAY(D) 返回日期D的月里面的天数DTOS(D) 返回日期D的ccyymmdd形式。HOUR(T) 返回日期时间T的小时部分MINUTE(T) 返回日期时间T的分钟部分SEC(T) 返回日期时间T的秒数部分4转换函数转换函数VAL(
24、C) 返回数字字符串C的数值。STR(Nl,N2,N3) 将数值Nl转换成相应的字符串表示DTOC(D) 把日期D转换成字符串。TTOC(T) 把日期时间T转换成字符串CTOD(C) 把字符串转换成日期数据CTOT(C) 把字符串转换成日期时间数据5测试函数测试函数TYPE(参数) 返回参数的数据类型EMPTY(参数) 测试参数的值是否为空值BOF() 判定记录指针是否在表头EOF() 判定记录指针是否在表尾RECNO(|) 返回表文件中当前记录的记录号RECCOUNT(|) 返回表文件中记录的个数DELETED() 测试表文件当前记录是否被逻辑删除2.6 Visual FoxPro的运算符和
25、表达式 n表达式是由常量、变量、函数等运算对象和运算符按一定规则组成的具有一定意义的式子。表达式运算的结果是一个常量,它有固定的数据类型。n表达式按其运算的类型分为五种:算术表达式字符表达式关系表达式逻辑表达式日期时间表达式。2.6.1 算术表达式n算术表达式也称数值表达式,其运算符按照运算优先顺序从高到低此为:() 圆括号*(或) 乘方*,% 乘,除,取模运算+,加,减2.6.2 字符表达式 n字符表达式也称字符串表达式,其运算符有+、$、&,.(1)完全连接运算(+)是把两个指定的字符串连接起来,结果仍为字符串。(2)非完全连接运算()也是进行两个字符串的连接,其作用与“+”运算类似,只是
26、它把第一个字符串尾部的空格全部移到连接后的字符串的尾部。 (3)包含运算($)n格式: 字符串1 $ 字符串2n功能:判定在字符串2中是否包含了字符串1,若字符串1是字符串2的子串,则结果为真,否则为假。(4)宏代换(&)n格式:&n功能:用&后面的字符内存变量的“值”来代替它的“名”。如代换后的值要与其后面的其他字符连在一起,必须在&后置一个“”,终止一个宏代换的展开,再与后面的字符连接。n例如,如果在命令窗口中键入如下命令:x=”李文铭”?“欢迎&x同志”则在运行窗口显示:欢迎李文铭同志2.6.3 关系表达式关系表达式n在数据库系统中,关系表达式用得非常广泛,常在程序或命令中用来设定循环条
27、件、查询条件、判断条件、索引条件等。n关系表达式的一般形式为:操作数1 关系运算符 操作数2关系运算符关系运算符(比较运算符比较运算符)n关系运算符也称为比较运算符,主要用来决定操作数1与操作数2之间的关系,运算结果是逻辑型数据。它们的优先级相同。 小于 小于或等于 大于 大于或等于 等于 或!或# 不等于 完全相等比较规则:比较规则:n字符串数据比较时,系统对两个字符串中的字符按从左向右的次序逐个比较,一旦发现两个对应的字符不同,就根据这两个字符的排列序列决定两个字符串的大小。例如:abcbc结果为假。n日期型数据比较时,日期大则大。例如:2001-01-012000-01-01为真。n逻辑
28、型数据比较时,真大于假。且有:.T.= .Y. 和 .F.=.N.均为真。2.6.4 逻辑表达式n逻辑表达式由逻辑运算符连接逻辑常量、逻辑变量和关系表达式形成,其结果仍为逻辑类型的值:真(.T.)或假(.F.)。n逻辑运算符有:.NOT. 逻辑非(非).AND. 逻辑与(与).OR. 逻辑或(或)2.6.5日期时间表达式运算有两种:加运算和减运算。1对日期型数据进行运算指加减某个天数,或日期间相减求间隔天数。如:? 2008-08-08-DATE() &显示当前日期距北京2008奥运会的天数?DATE()-10 & 显示输出10天前的日期。2对日期时间型数据进行运算指加减某个秒数,或日期时间之
29、间相减求间隔秒数。如:? 2006-01-20 10:20:10 AM-2006-01-20 10:18:10 AM &显示120?2006-01-20 10:20:10 AM+10 &显示01/20/06 10:20:20 AM本章小结n本章介绍了本书的一些预备知识,包括Fox的发展历史,Visud FoxPro 6.0中文版的特点、运行环境及安装步骤。Visual FoxPro 6.0中文版的文件和数据类型,以及常量、变量、函数、表达式的基本知识。n通过本章的学习,应该对Visual FoxPro中文版菜单、工具栏、命令窗口等的使用有初步了解。掌握各数据类型的含义与运算方法;理解什么是数组;掌握运算符的功能及使用方法;掌握常量、变量、函数及表达式的基本语法知识。 结束结束