第一章VisualFoxPro概述

上传人:无*** 文档编号:72755367 上传时间:2022-04-09 格式:DOC 页数:18 大小:145.50KB
收藏 版权申诉 举报 下载
第一章VisualFoxPro概述_第1页
第1页 / 共18页
第一章VisualFoxPro概述_第2页
第2页 / 共18页
第一章VisualFoxPro概述_第3页
第3页 / 共18页
资源描述:

《第一章VisualFoxPro概述》由会员分享,可在线阅读,更多相关《第一章VisualFoxPro概述(18页珍藏版)》请在装配图网上搜索。

1、第一章 Visual FoxPro概述1.1 表、关系模型和数据库11.2 VFP是数据库管理的简单语言21.3 FoxPro的历史地位、VFP8.0版本和展望101.4 VFP的窗口、菜单及其它151.5 用命令窗口工作(Command Window)171.1 表、关系模型和数据库 21世纪是知识经济的时代,组织和利用知识信息的有力武器数据库将继续得到广泛应用。数据库 (Database,即DB)20世纪50年代,美国为战争的需要,把各种情报集中在一起,存入计算机。60年代数据库帮助设计了阿波罗登月火箭,推动了数据库技术的产生。70年代,数据库蓬勃发展,网状系统和层次系统占领了市场,并且关

2、系数据库理论也日趋完善。80年代起,关系数据库产品已相当成熟,后来有了分布式数据库系统(Ditributed Database Systems),数据库机(Database Machines)、知识库(Knowledge Base)系统和知识机。现在,数据库技术已成为计算机领域最重要的技术之一,它是软件学科中一个独立分支(即研究数据库的结构、存贮、设计和使用的一门软件学科)。 图1-1就是数据库中的一个表。 姓 名 地 址 城 市 省 名 邮 编 电话号码 编 号 刘先生 237信箱 成 都 四 川 610041 (028)88824788 0003 李 红 581信箱 北 京 北 京 010

3、000 6775041 0001 郭 亮 457信箱 宜 宾 四 川 620000 398883 0002 一个数据库的信息通常组织和存贮在表(Table)的形式中,各个表具有行和列。例如上表所示,各行包括姓名、地址、城市、省名、邮编、电话号码、编号。各行与另外的行相关,因为它们全都包括相同类型的信息。又具有“姓名”列、“地址”列、“城市”列等属性,如“姓名”列中有刘先生、李红、郭亮三个数据(即属性值)。这样由行和列组成一个表,即一个表文件。一个表文件中,行叫表的记录,列叫表的字段。 数据库加上相应的操作和管理数据库的软件,即为一个数据库管理系统(DBMS),它能合理地组织和存贮大量数据,并支

4、持对于数据库表中数据的各种操作,如:更新、排序、索引、查询、列表、打印等。数据库系统是实现有组织地、动态地存贮大量的相关数据,方便用户访问的计算机软、硬件资源组成的系统,它由数据库、数据库管理系统以及支撑数据库管理系统的软、硬件构成。在计算机的三大主要应用(科学计算、数据处理与过程控制)中,数据处理所占比重约为70%左右。数据库技术就是作为数据处理中的一门技术发展起来的,今天它已广泛地应用到工业、农业、商业、国家机关、大专院校、科研单位、金融、财贸和国防军事、情报等各行各业的管理信息系统(MIS)、办公自动化系统(OA)、决策支持系统等领域中。 数据库离不开数据模型。数据模型是对现实世界客观事

5、物及其联系的描述,它反映数据项之间和记录之间的联系,在数据库技术中使用模型的概念描述数据库的结构与语义。常用的三种数据模型是:层次模型(Hierarchical Model)、网状模型(Network Model)和关系模型(Relational Model)。此外,还有面向对象模型(Object-Oriented Model)等。 关系模型把数据之间的关系看成是一个二维表关系,因二维表关系是建立在集合代数关系理论基础上的,所以把这种建立在关系模型基础上的数据库称为关系数据库。上节的图1-1所示的那张二维表就是关系数据库中的一个表文件,即是一个关系。二维表中行和列分别对应记录和字段,这里不再赘

6、述。但要注意的是字段又有关键字(段)与一般字段之分:在一个关系中用来区分不同记录的属性(字段)称之为关键字(段),而可以用来唯一标识一条记录的属性称之为主关键字。显然上表中,姓名、编号都可以被指定为关键字,但只有“编号”才可以起到主关键字的作用。 可见,数据库与文件系统不同,其数据独立于程序而存在,并可以提供给不同的用户共享使用,其基本思想是对所有的数据实行统一的、集中的、独立于程序的管理。关系数据库管理系统很好地实现了这一基本思想。1.2 VFP是数据库管理的简单语言 1.2.1 一个数据库管理的简单语言美国微软公司 (Microsoft)的Visual FoxPro(它包括Visual F

7、oxPro 3.0和Visual FoxPro 5.0、6.0、7.0、8.0等,简称VFP)是一个关系数据库管理系统 ,其语言支持对多个数据库表的设置关系、连接、选择、查询、统计等工作。请看下面的例子。 例1.2:将上节中例1.1的问题解决用VFP语言程序实现。 解决此问题做的工作是: (其中“&”表示对程序命令功能的注释。) 工作一:建立表文件。 CREAT A1& 建立通讯地址表A1,它包括姓名、地址、城市、省名、邮编、电话号码、 用户号字段。并且将三个用户记录的相应数据输入。 CREAT B1& 建立用户订单表B1,它包括用户号、商品号、单价、数量、总价字段。 并且将三个用户记录的这些

8、字段的相应数据输入。 工作二:编程序(命令)USE A1INDEX ON 用户号 TO BHUSE B1INDEX ON 用户号 TO SBHUSESELECT 2USE A1 INDEX BH ALIAS BBSELECT 1USE B1 INDEX SBHSET RELATION TO 用户号 INTO BBLOCATE FOR 商品号14BDISPLAY 2姓名,2地址屏幕上输出结果:郭亮 457信箱对这个VFP语言程序作必要的说明:CREATE A1表示建立表名为A1的表文件。&表示其后是注释。CREATE A1把表结构(各字段型、尺寸)建立好后,问是否输入数据?此时,可把记录的数据(

9、对应于各字段的)输入,此处输入了三个记录。CREATE B1 除了文件为B1,字段名不同外,建表过程与前面相同。USE A1表示打开A1表,INDEX ON用户号TO BH表示在A1表以“用户号”为关键字索引,并建立索引文件BH。后面的SBH是B1表以“用户号”为关键字索引后建立索引文件SBH。单独一个USE后面无表名,表示关闭当前打开的表。SELECT 2表示选择工作区2,在此工作区USE A1 INDEX BH ALIAS BB,表示在工作区2打开A1表和索引文件 BH,并将其取别名为BB。接着两句表示在工作区1,打开表B1和索引文件SBH。SET RELATION TO 用户号INTO

10、BB,表示将当前工作区1中打开的表B1与在工作区2中打开的A1表(别名号为BB)以“用户号”为关键字建立关系。LOCATE FOR商品号14B,表示在当前打开的B1表寻找字段名“商品号”等于14B的那条记录。因为工作区1与工作区2中的表B1和A1以“用户号”为关键字建立了关系,所以当LOCATE语句执行完后,在工作区1的B1表找到“商品号”等于14B那条记录的同时,在工作区2的A1表中,指针也指到了与工作区1 B1表中相同“用户号”的记录。DISPLAY 2姓名,2地址,表示将工作区2中A1表的姓名、地址字段显示在屏幕上,这里是“郭亮”,“457信箱”(其用户号2,在表B1中可见他正是订14B

11、号商品的用户),任务完成。从上面例子可见,VFP象BASIC语言那样,是面向命令的可以进行各种运算的、简单、实用的语言(只是没有语句标号而已)。另外作为关系数据库管理系统语言,VFP也有关系数据库语言必须有的两个部分:数据定义语言DDL(Data Definition Language)和数据管理语言DML(Data Manipulation Language)。DDL建立命名的数据库(表)和管理列(字段)名字和属性,还可进行索引等。DML主要涉及查询、修改和的增删及数据更新等。VFP是为了让用户懂得数据库管理普通编程语言而建立的。它的面向命令的句法包括超过几百条命令和内部函数,还包括SQL(

12、Structured Query Language)数据库标准语言命令,但使用它的不到20条命令便可完成绝大多数基本数据库管理操作。 前面谈到的本节例1.2程序命令的执行,是在命令窗口(见后面1.5节的图1-4)中以交互式命令方式实现的(在VFP的交互式命令前面不象dBASE和FoxBASE+交互式命令前需要圆点符号),即从键盘上键入一条命令,便执行一条命令。如果想以程序文件方式执行,则可把这两个程序文件各自命名为P1和P2(任何外部或VFP内部编辑器都可以建立程序文件),只须在命令窗口中先后键入DO P1和DO P2,再分别按回车键便可。这里特别要指出的几点问题VFP上述的这些编程命令的功能

13、几乎都可以用菜单操作来实现而无须编程序(例如用鼠标双击图1-4程序菜单中的“运行”菜单项),同时还会在命令窗口中产生相应的命令句子。因此,可以用编程运行和菜单操作两种方法来使用VFP,管理关系数据库。VFP除此之外,还可直接用鼠标双击工具栏(toolbar)内的图标按钮,立即执行一连串操作(例如图1-4工具栏中的打印机图标按钮,双击后可打印),免去以菜单(Menu)操作的许多步骤;VFP的右键单击弹出浮动菜单功能选择也是很方便的使用操作。另外,使用VFP的可视设计器或者Wizards(向导)可生成VFP的大部分基本文件。设计器(Designer)分别用于生成表、报表、建立数据库菜单及连接等,用

14、户不必涉及VFP命令,就可以用这些设计器完成各种复杂的工作。 最后还可以将用户自己的全部工程(含所编的程序、表单、报表等)编译成EXE文件,脱离VFP独立运行。如果认为可视设计器比较复杂、开始使用时有困难,则Wizards(向导)用起来更方便:用户只需要在Wizard的对话框中回答并做出一系列的选择,Wizard就会自动地根据所做出的选择完成文件或者表格等设计工作,如有问题可单击图1-4中的帮助(Help)菜单或相应界面中的帮助按钮得到VFP电子书或上下文的帮助。1.2.2 Visual FoxPro程序的结构 列举了以上的例1.2和例1.3两个例子,目的是为了说明VFP程序是怎么样的?VFP

15、程序与关系数据库是什么关系?至于每个语句的作用和有关使用规则将在以后的章节中陆续介绍。 通过上面两个例子,可以知道并总结如下: (1)一个VFP程序是由零个或多个文本行组成的ASCII码(美国信息交换标准代码)文件。可以将两个或更多的物理行组成一个逻辑行(除了最后一个物理行,其它组成此逻辑行的各物理行必须以VFP行连续符号分号“;”结尾)。 (2)各逻辑行能包括一个简单命令动词,其后可跟有可选的附加子句和一个行结束注释。程序内部可任意混合空白行和带命令的行。以NOTE和*命令开始的注释连续到逻辑行的结束。&符号在一个已经含有命令的行上开始注释。如果在一行上开始注释,则带有分号的那行也连续此注释

16、。 (3)除了极少数例外,各个命令均以一个动词开始,例如COPY,USE,*或等。各动词句法决定什么子句能跟在这行的命令后面。动词必须是这行上的第一个字词,但也可以用空格和Tab自由地去引导程序结构。有两个例外,即GOTO和STORE命令的代替形式。在一行开始的数字文字隐含一个GOTO命令(如:5表示GOTO 5);一个标识符后面跟一个符号()和一个表达式形成一个隐含的STORE命令。在特定情况下,可以省略初始标识符。除了这几个例外,VFP命令行总是使用如下形式: Verb additional clauses&commenteol 这里Verb是动词;additional clauses是附

17、加子句;&comment 是行结束注释;eol表示行结束;方括号“”和“”表示可选择,不是必须的。 (4)许多动词由两个或三个关键字组成,例如DEFINE POPUP或SET ALTERNATE TO等。对于任何特定的动词,其子句能以任何顺序出现。在某些情况下,子句可重复,不会引起问题。例如: APPEND BLANK BEFORE BLANK BEFORE VFP直接忽略重复的子句。用户可以任何顺序写子句和一些关键字,如FOR条件或TO文件名,所以下面的例子是等效的: COPY TO MyFile ALL FOR Name DK COPY ALL TO MyFile FOR Name DK

18、COPY FOR Name DK TO MyFILE ALL (5)VFP语言继承了dBASE和FoxBASE+可以将命令或其它关键字缩短到可为四个字符的特点。例如可以将DISPLAY键入为DISP,DISPL,DISPLA,或DISPLAY,但字母的顺序必须匹配原始命令,不能乱拼写(在这种情况下,DISPLY不会被认识)。 (6)某些命令,例如END DO和END IF允许注释跟在它们后面,不用&注释指示符。 (7)VFP还有些不寻常的命令,如TEXT显屏时,将其后的东西照样显示直到遇到ENDTEXT等等。1.2.3 语法形式排印上的约定 本书在给出命令和函数的语法形式时使用了特定的排印方面

19、的约定,通过这些约定表明命令或函数的哪些成份是必须的或是可选的,哪些成份必须按照指定格式输入等等。为了后面章节使用方便,在本节将这些约定一一给出。 先来看一个典型的Visual FoxPro命令的语法形式。REPLACE命令可用于修改一个表记录的字段,该命令语法形式是: REPLACE WITH ADDITIVE, WITH ADDITIVE FORWHILE NOOPTIMIZE 可列出REPLACE命令的诸成份如下: 关键字:REPLACE, WITH, ADDITIVE, FOR, WHILE, NOOPTINIZE 表达式:eExpression1, eExpression2, lEx

20、pression1 ,lExpression2(本书正文写成表达式1,表达式2,逻辑表达式1,逻辑表达式2) 名字:field Name1, field Name2 (本书正文会写成字段1,字段2。VFP软件的Help帮助中写成英文) 本书约定如下: (1)关键字与符号 大写 大写形式表明它是一个Visual FoxPro关键字。每个VFP的命令或函数都至少有一个关键字,VFP就是通过关键字来区别每一个命令或函数的。因为VFP为内部使用而保留了这些关键字,所以关键字也叫保留字。在前述REPLACE命令中,关键字有REPLACE(VFP通过它知道是一个命令),WITH,ADDITIVE,FOR和

21、WHILE。其中WITH,ADDITIVE,FOR和WHILE也叫做子句,因为它们是主命令的附加部分。 用尖括号括住有小写字母的文本,表示这些小写字母文本的具体内容必须由用户提供(本书正文为用户方便写成了汉字)。这些文本信息可以是文件名、表达式或内存变量名等。文本和尖括号应被恰当的名称或表达式所取代。在输入命令的时候应去掉尖括号。 ( ) 圆括号必须包括在每个VFP的函数中。在实际输入函数时,必须带上圆括号。 方括号表示所括住的命令或函数内容是可选的。同样,在输入时也不要带上方括号。例如,REPLACE命令中就有相当多的可选项,具体选择或不选择这些项由用户决定。像ADDITIVE,FOR ,W

22、HILE 和NOOPTINIZE等子句都放在方括号中,也就是说,它们都是可选项。 |,或?用垂直短线分开的可选项表示这些只能选择其中之一。输入时不要带上垂直短线。 省略号表示一个命令或函数或其中某一部分以类似方式延续下去。例如,函数INLIST( )需要大量的参数,在它的语法形式中,就是通过省略号来表示它可以包含更多的参数。 INLIST(,) (2)表达式 字符型表达式 数值型表达式 日期型表达式 日期时间型表达式 逻辑型表达式 货币型表达式 上述几种表达式之一 由逗号分隔的多个表达式的列表 注意:Expression前面的小写字母c,n,d,t等分别表示字符型、数值型、日期型、日期时间型等

23、;而Expression是标识符,它的英文意义“表达式”即是此标识符的意义。 例如:中,c表示字符型,TableAlias的英文意义是“表别名”,因此标识符cTableAlias就指表别名,是字符型。 如果在同一个命令或函数中有多个相同类型的表达式,则在表达式后加上数字,以表明它在该命令或函数中的位置。例如,函数CHRTRAN( )的语法形式如下: CHRTRAN(,) 该函数就需要有3个字符型表达式作为参数:,。 (3)名字 文件名 字段名 字段名列表 内存变量数组名 内存变量或数组元素名 内存变量名列表 菜单名 菜单笺名 弹出菜单名 弹出菜单名列表 窗口名 窗口名列表 使用名字列表时,名字

24、与名字之间必须用逗号相分隔。 (4)缩写说明 VFP命令和函数常用的缩写和术语如表1-1所示。 表 1-1 缩写含义 缩写含义 ADDITIVE保留或保住的意思 alias工作区别名 ASC升序 borderstring边界定义字符串 column屏幕或窗口列 commandfoxpro命令 delimiter定界符(分隔符) dir目录 drivr磁盘驱动器名 DESC降序 FOR选择 key索引表达式 list表达式、字段等的集合macro name键盘宏名 memo field备注字段名 NOOPTIMIZE禁止进行快速优化 parm list参数列表 path磁盘目录路径说明 port

25、串行或并行输出端口名 procedure name过程文件名 row屏幕或窗口行 scope表.DBF记录的范围 skel文件说明框架 statementsfoxpro命令集合 textlines非foxpro命令的正文topicFoxPro帮助文件中的主题 WHILE当选择 work area表.DBF的工作区。 (5)例子及其它约定 例子约定 setup光秃秃的字母字型是必须键入的字,而不是语言命。 SET HELP TO大写字母表示命令和关键字、首字母缩略词、常量和设备名。 按CTR+ALT+F1+号表示键组合。 AUTOEXEC.BAT大写字母表示文件名字。 C:BAT大写字母带斜杠分

26、隔符表示路径名字。 FontSize首字母大写表示对象、属性、事件和方法的名字。如果名字由多于一 个字组成,则首个字被后面的字连在一起。 nTotal,cName小写字母冠于量名等之前,这个前缀指定变量数据的类型:c表示字 符型,n表示数值型,l表示逻辑型,d表示日期型,t表示日期时间 型,y表示货币型,e表示任意型表达式。 1.3 FoxPro的历史地位、VFP8.0版本和展望1.3.1 FoxPro是由与dBASE全兼容的FoxBASE+发展而来的关系数据库管理系统 VFP、一般FoxPro、FoxBASE以及dBASE都属于叫作xBbase的数据库管理系统范畴。xBASE最初源于1972

27、年开发的JPLDIS(Jet Propulsion Laboratory Database-Management and Information Retrieval System)的主机DBMS。当IBM-PC微型计算机和兼容机在80年代普及的时候,美国Ashton-Tate公司开发的dBASE很快出现,作为牵头的数据库管理程序。 dBASE的交互式命令可使用户很方便地建立、编辑数据库和打印报表,并且dBASE还包括一个简单易学的运用语言,编程者使用它能为客户建立菜单驱动定制的应用程序。不想学习dBASE的商务用户可让编程者为他编应用程序,让他们能从菜单选择和编辑数据,精确地打印其需要的报表。

28、dBASE的这些功能,使它成了最普及的微机数据库管理系统。在其最高峰,估计大约有80至85的IBM PC和兼容机的数据库应用程序使用dBASE。dBASE成为一种工业标准。dBASE之后,紧接着是dBASE和dBASE+,它们都增加了许多功能,但存在不少限制,用户为之抱怨。批评家说,dBASE告诉用户的东西少于任何现存的另外的程序。甚至出名地保守的DOS,至少显示一个提示告诉你在做什么,但dBASE仅显示一个圆点,几乎不给用户任何提示。用户不得不记住全部必须在圆点之后的精确键入的命令,否则就会出错。编程人员的抱怨不同于用户,他们抱怨诸如dBASE不能建立数组等,但最普遍的抱怨是dBASE没有包

29、括一个“编译器”。dBASE属于解释程序,比编译程序慢得多。而且应用程序不能脱离dBASE本身独立运行,客户往往不能接受他,必须另购许多dBASE拷贝去运行他已付钱让编程者为他编制的程序的事实。为了回答这些抱怨,几个与Ashton-Tate(它拥有dBASE)无关的公司兴起了,着手解决了dBASE和dBASE+的编译或伪编译问题,并对其语言进行了增强,而且与之完全兼容。其中最著名的公司便是美国的Fox Software公司,它于1984年(公司成立第二年)推出了具有伪编译的FoxBASE以及FoxBASE+,与dBASE兼容的发展系统。仅管伪编译仍然不能自己独立运行(需要在一种叫作Runtim

30、e运行时的软件下运行),还不是可直接运行的机器代码,但它进行了某种部分转变并建立了一种比源程序更接近机器代码且比解释程序快得多的东西。FoxBASE+关系数据库管理系统比dBASE快6.74倍,且全兼容,还有数组等许多功能提高,深受用户欢迎。在1987年第23期软件报上,笔者发表了中国大陆第一篇介绍狐狸软件的文章FoxBASE+新颖关系数据库,在国内引起激烈反响。1988年1月在笔者等所举办的国内第一期FoxBASE+学习班上,学员们卡着秒表观其速度,对FoxBASE+的特点表现出极浓厚的兴趣。FoxBASE+从1986年的1.12版,到1987年7月改进了内存分配的2.00版,以及1988年

31、带筛选索引、FoxView和FoxGraph等工具的2.10版,FoxBASE+迅速普及世界。 Ashton-Tate公司不再定义什么是dBASE标准了,并且dBASE IV也失败于建立它自己的标准,Ashton-Tate公司也被Borland公司收购了。 当FoxPro(一种比FoxBASE+更高级的关系数据库管理系统)1989年11月首次出现时,这个Fox Software公司的新产品便被许多数据库用户和编程者完全地接受了。 1.3.2 新的数据库工业标准与FoxPro的进展 FoxPro关系数据库管理系统有如下特点:(1)速度快。它比dBASE IV快8倍,比dBASE 快16倍,比Fo

32、xBASE+快2倍,其专利技术Rushmore优化检索信息比竞争者快100倍,且与dBASE和FoxBASE+全兼容。 (2)其用户界面基于窗口和下拉菜单(象Macintosh一样),可用鼠标器和键盘操作。 (3)有一个命令窗口,可进入像FoxBASE+圆点后的命令。菜单驱动时,在命令窗口中自动产生等同的一组命令,便于用户容易用程序启动和学习。 (4)有功能强大的内部编辑器,用它可方便地编程。 (5)为编程者提供了菜单和屏幕产生器,它可使一般水平的用户也能容易地建立带有单选按钮和复选框的弹出菜单和精致的窗口屏幕以及带鼠标的其它高级界面,让人耳目一新。 (6)有速度极快的多种索引文件(复合、结构

33、复合、压缩索引文件)。 (7)有低级I/O文件处理功能(类似于C语言中的文件处理功能),使高级编程者编程能力更强。 (8)应用程序建立器可使程序自动生成。 (9)有强大的工具。如,Distribution Kit能产生完全独立的可执行文件(.exe文件),以及Library Construction Kit可与C语言、汇编语言接口,构造函数库扩大FoxPro功能。 (10)有数据库标准语言SQL(Structural Query Language)的嵌入以及RQBE(Relational Query By Example)查询。 (11)有强大的帮助库和联机帮助信息等。 FoxPro轻松地显示

34、,它已成为新的xBASE类数据库工业标准。 Fox Software公司在1989年11月推出FoxPro1.0之后,于1991年7月推出FoxPro2.0,其功能特点上面已谈到。1992年6月Fox Software(当时叫Fox Holdings)公司并入美国的Microsoft(微软)公司,于同年下半年推出FoxPro2.5,除了是32位、速度比2.0版快3倍、有255个工作区和有General(通用)新字段等特点外,主要是推出了四个平台的FoxPro2.5(for Dos;for Windows;for Unix;for Macintosh)。特别是FoxPro2.5 for Wind

35、ows,专家评论:“它的出现标志了微型计算机历史中的一个里程碑,因为你现在可将80年代的MS-DOS商用语言xBASE写的程序稍作修改(或根本不作任何修改)运行在90年代的操作环境Windows3.2等图形用户界面(GUI)下。” FoxPro2.5 for Windows特点如下: (1)保留性。FoxPro2.5 for Windows保留了Windows的全部约定和特点。 (2)独立性。FoxPro2.5 for Windows具有Windows的设备无关性,它独立于外设硬件,可管理各种外设,如打印机等,与型号无关。 (3) 内存管理性。FoxPro2.5 for Windows具有Wi

36、ndows内存管理的特点,不受640K限制。 (4)内部交换性。FoxPro2.5 for Windows具有与所有有剪贴板的Windows应用程序(如Excel for Windows)内部交换信息的能力,以及OLE(对象链接和嵌入)和DDE(动态数据交换)的能力。 (5) 有与Windows一样完全的图形用户界面(GUI)的特点。 (6) 支持Windows各种标准字型(Fonts) Bitmap Fonts ; Microsoft Tue Type fonts; Printer Fonts等等。 (7)增加了两个工具:Immigration kit,Service/client Conn

37、ectivite kit等。 微软公司于1994年下半年推出FoxPro2.6,除了具有FoxPro2.5四个平台的所有功能外,它主要增加了Wizard向导(用鼠标器便可完成建立数据库表、生成屏幕,打印报表等全部工作),以及象dBASE IV 那样的目录管理(Central)。1995年6月,微软公司推出Visual FoxPro3.0 for Windows,它面向对象编程,有可视工具和控件,以非.DBF格式库与服务器相联(客户/服务器结构),并有前端、后端数据库概念等,使FoxPro首次升级为VFP。 1996年8月28日,微软公司公布了Visual FoxPro 5.0 for Wind

38、ows专业版。Microsoft Visual FoxPro 5.0版面向对象的数据库开发系统继承了3.0版的领导传统。它具有ActiveX扩展、增加的性能、改进的连接特点和增加的开发环境等强大的功能提高: (1)现在用ActiveX,开发者可以选择一个较宽的语言工具、应用程序和可重复使用的部件范围来更快和更容易地生成丰富的交互式应用程序。用户可以使用ActiveX对象和控件(controls)来扩展在VFP中所写的问题解法。用户甚至可以运用自动(Automation)去驱动Microsoft Office和其它应用程序,并从VFP就地编辑它们。人们添加的数千现存的ActiveX控件(Cont

39、rols)显然进一步扩充了VFP的能力。 (2)用户可以用诸如Offline View(游离视图)和多级客户/服务器功能,甚至工作在Internet(国际互联网)上的服务器那样较大的改进连接特点来开发应用程序。这些特点使用户具有为动态、远程和Internet用户的将来而开发的能力。 (3)用户也将享有增强的开发环境。借助查看彩色代码句法(color_coded syntax)和查看可直接修改对象、属性及事件的树型视图(tree View),调试速度会大大加快。有面向项目开发组的Visual Source Safe集成,多数据库客器和多开发者项目管理器等。 (4)Visual FoxPro有极大

40、的灵活性,用它可从应用程序、客户/服务器数据库或本地数据库存贮集成数据,开发能运行在多个平台上的应用程序。Visual FoxPro 5.0速度更快,并具有更广泛的兼容性,它可让你使用来自许多资源的成份和调动广泛的支持来开发出客户需要的应用程序等。 1998年8月26日微软公司推出了作为MS Visual Studio 98组成部份的Visual FoxPro 6.0 for Windows。VFP6.0支持Windows应用程序(如MS Excel和Visual Basic)之间的OLE拖放;使用VFP6.0可以创建由Active Document宿主程序(如Internet浏览器)所包容的

41、Active Document;VFP6.0 Automation现在支持套件模型线程的改进;VFP6.0新增和改进了应用程序开发工具,如:有了组件管理库、代码范围分析器应用程序、项目管理器挂接程序、新增和改进了的向导(应用程序向导等)、改进了的应用程序框架;VFP6.0包括了Access和Assign方法程序;对GIF和JPEG图形的支持;以及新的改进了的语言元素和对2000年日期的支持等。此外,VFP API库文件Foxtools.fll中有很多文件名处理函数已加到VFP中,现可直接调用了。VFP6.0在性能、巩固性和实用性方面都有了很大的提高(例如:字符连接通常可用来创建Web页了,现在

42、可在表单代码窗口中访问“表单菜单”、即使在表单代码窗口中,也可以使用CTRL+E键盘快捷键运行表单等)。VFP6.0还提供了支持HTML的帮助。 2002年微软公司推出了Visual Studio.NET7.0,Visual FoxPro 7.0版(测试版)是其中的成员,但Visual Studio.NET7.0的正式版推出后就不包含VFP7.0了,使人不知何故。VFP7.0除了与.NET平台有密切关系外,还具有数据库库容器事件(用户可自己编写代码、方法、函数或过程来响应数据库容器事件);智能检测;新增和增强的指令、函数及类;提供VFP OLE DB;服务器的增强等。 1.3.3 VFP8.0

43、 版本的新特点及展望 2003年2月1日美国微软公司推出Visual FoxPro 8.0版后,一段时间以来由于其7.0版在Visual Studio.NET7.0正版中未见到而引起的该公司今后是否还发展狐狸数据库的疑虑便在用户中释然了。VFP8.0版与Visual FoxPro以前的版本全兼容,并且与Visual Studio.NET2003兼容。此外还有如下“亮点”。 (1)全面的数据访问:使用CursorAdapter类对VFP本地表、XML、SQL Server2000、ODBC或OLE DB等数据源达到统一的数据访问。特别是使用ADO的CursorAdapter使VFP在C/S模式中

44、访问后端数据库比SQL View和SQL passthrough上了台阶。 (2)结构化错误处理:可在代码中使用TRYCATCHFINALLY结构(用THROW分支处理例外)控制和“包”住错误处理,并且使用Exception对象管理。 (3)View设计器:在Query/View设计器和源代码输出之间使用两种方法编辑建立SQL Select语句查询。 (4)支持自动增量:为VFP数据表中的关键字创建自动增量字段。 (5)Windows XP题目支持:提供Windows XP题目到VFP应用程序,包括到表单和容器级控件。 (6)高级控件:可使用如下丰富的特点构建美妙的客户端桌面表单,例如面向页框

45、的tabs、锁住和自动扩大列的尺寸、高亮度标注网格行、改变背景颜色和在命令按钮上置图像等。 (7)GDI+图像支持:可在支持如下文件格式的表单上显示和旋转图像,例如.bmp、.jpeg、.gif、动画.gif、.wmf、.tiff等文件格式。 (8)事件处理:绑定原有的和定制的事件及方法到其它VFP对象。 (9)XML数据导入和导出:在VFP数据Cursors和ADO.NET DataSetes之间使用支持XML DiffGrams来导入和导出层次化的XML。 (10)XML Web Services:发佈和消耗SOAP(其使用自含的微软SOAP Toolkit3.0,基于与超过HTTP的.N

46、ET技术兼容的XML Web Services)。 (11)OLE DB Provider:可提供对来自诸如Visual Studio.NET和office XP其它客户端的VFP数据的访问。 (12)SQL Server2000桌面引擎(MSDE):可建立桌面和共享与SQL Server2000兼容的解决方案,并且能不用修改代码直接移植它们到SQL Server2000。 (13)开发工具:可使用一个Install ShieldExpress for Visual FoxPro的独立开发版本为你的应用程序创建Setup程序。 (14)强壮的基本类:可将成员类子类化,例如页框中的页面、网格表中

47、的表头和诸列等。将Data Environment类子类化并且使用Data Environment和CursorAdapter builders。你可使用新的Collection类管理应用对象。 (15)开发的丰富功能:使用Task Pane来管理开发任务并访问Visual FoxPro帮助、XML Web Servers和社区新闻。新的工具箱(Tool box)对诸如类、控件和程序段等频繁使用的项目提供容易地访问。使用Code Reference 工具,你可遍及课题项目、文件搜索和替代符号及文本参数。 1.4 VFP的窗口、菜单及其它1.4.1 启动Visual FoxPro 如何启动Vis

48、ual FoxPro呢?在安装好VFP之后,如图1-3所示,双击Visual FoxPro 8.0 狐狸头像图标便启动Visual FoxPro了。 图1-3 启动VFP 启动VFP后,画面如图1-4所示。 图1-4 窗口基本结构图(VFP主窗口) 1.4.2 窗口和菜单操作 VFP具有窗口用户界面,图1-2便是典型的VFP启动后出现的Visual FoxPro主窗口。尽管窗口中的内容会有所不同,但窗口的外观和工作方式和微软Windows中的完全一样。其外部特征和组成部分如下: 窗口边框:窗口周围的四条边,称为框。 标题栏:直接位于窗口的顶边框之下,其中含有窗口的名称,例如这里的Microso

49、ft Visual FoxPro。 改变尺寸和退出按钮:在窗口的右上角有三个按钮。它们分是“最小化”和“最大化”窗口(单击则可切换)及带的退出按钮。单击退出按钮便关闭了此窗口。 菜单栏:标题栏下面就是菜单栏,它提供了对大多数应用程序命令的访问途径。这里显示的是Viual FoxPro的主菜单栏。 主工具栏:主菜单之下就是主工具栏,它包括该应用程序中的大部分常用工具按钮,例如打印机工具按钮,双击它便可打印。 工作区域:窗口的内部称为工作区域。 命令窗口:在工作区域内还有一个完整的窗口称为命令窗口,在此窗口内可用键盘输入Visual FoxPro命令。 用鼠标器按拖标题栏可以移动窗口的位置。要想改

50、变窗口的尺寸,只需要向内或者向外移动一条或多条边框。移动边框的方法是将鼠标的光标移到该边框,当鼠标的光标箭头变为双头箭头时,按拖鼠标器就可以将该边框移到所需要的位置(扩大或缩小)。 用鼠标器单击类似命令窗口右边滚动的上、下箭头可查看窗口中的前后内容,拖动中间的滑动块也可以达到同样的目的。当然,使用窗口下边滚动条的左、右箭头可以查看窗口中的左右内容。 1.4.3 退出Visual FoxPro 若要退出VFP返回到操作系统,直接从“文件”(File)下拉菜单双击“退出”(Exit)选项便可。注意,在VFP结束前,命令窗口中会出现Quit命令。当然,用户也可在命令窗口中直接键入Quit命令,退出V

51、FP。还可选择右上角带的按钮关闭窗口,退出VFP。 注意,当完成任务后,应退出VFP,如果先不退出而直接关机,将丢失数据。 1.5 用命令窗口工作(Command Window) 在命令窗口可键入在dBASE兼容程序中使用的那类命令,以代替通过菜单工作。当使用菜单系统工作时,也会看见在命令窗口中产生的此操作相应的程序命令。 仅管这类程序命令只是圆点提示符时期现存的东西,但在弹出菜单和鼠标器时代仍有其使用的原因和价值。 有时键入命令比从菜单系统选择要容易一些,特别是当完成一个重复工作时,因为用户可编辑和重新进入已经使用的命令。已键入或通过使用菜单产生的全部命令列表在工作期间现存地保留于命令窗口,

52、所以可用上箭头键或鼠标移动光标到较早的命令,甚至那些已卷动到窗口顶部后面的命令。一旦发现希望的命令,便可按Enter键去重新使用它。在那里,命令会执行,光标将返回到命令列表的底部,并增加一个此命令的拷贝。如果想修改使用命令,可先用学过的任何编辑技术去编辑此命令,然后按Enter键去执行它,这条修改了的命令也会加在命令列表底部。 当然,如果还想编程的话,也可学习这些命令,因为一个程序可看成是一个“大的命令列表”。 为此,本书将开始通过使用菜单系统进入命令,但也注意在命令窗口中产生的程序命令,故同时可学习两者。现在尝试在命令窗口键入一些命令来体会一下如何使用命令窗口工作。 例如,可在命令窗口键入: RUN DIR 便可在VFP中示出一个DOS目录的内容。 以上命令的执行是在已启动VFP,并假定光标应在命令窗口中的初始位置的情况下。如果不是,可按Esc键,直到退出菜单系统,返回到命令窗口。如果因某种原因命令窗口已不再在屏幕上,可从窗口(Window)菜单选择命令(Command),它将重新出现。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!