第二章+VISUAL+FOXPRO的基础知识.docx
- 文档编号:10464274
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:35
- 大小:154.12KB
第二章+VISUAL+FOXPRO的基础知识.docx
《第二章+VISUAL+FOXPRO的基础知识.docx》由会员分享,可在线阅读,更多相关《第二章+VISUAL+FOXPRO的基础知识.docx(35页珍藏版)》请在冰豆网上搜索。
第二章+VISUAL+FOXPRO的基础知识
第二章VisualFoxPro6.0基础知识
本章介绍VisualFoxPro的发展、特点、窗口、启动与退出,VisualFoxPro中的表达式及一些常用函数的应用。
§2.1VisualFoxPro6.0操作环境
VisualFoxPro6.0是Microsoft公司1998年发布的可视化编程语言集成包VisualStudio6.0中的一员,它是在VisualFoxPro2.5的基础上发展成熟的。
2.1.1VisualFoxPro6.0简介
XBASE(dBASE,FoxBASE,FoxPro,VisualFoxPro)数据库管理系统在我国具有广泛的应用基础,随着版本不断更新,增加了许多新功能。
其中VisualFoxPro6.0是Microsoft公司1998年发布的新数据库管理系统,该软件使用方便,操作灵活,功能完备,是深受用户欢迎的一个数据处理软件。
1992年,dBASE和FoxPro的一场官司,导致这两家公司都被其他公司收购。
微软收购了FoxSoftware公司,把FoxPro纳入自己的产品线。
它利用自身的技术优势和巨大的资源,1993年,Microsoft公司推出了FoxPro2.5,该产品是一个跨平台产品,能够在MS-DOS和Windows等多种操作系统下运行。
不久又推出了FoxPro2.6,此时的FoxPro是领先于任何其他微机数据库管理软件的优秀产品。
1995年6月,微软推出了可视化产品VisualFoxPro3.0版。
接着又很快推出VisualFoxPro5.0及其中文版,又于1998年发布了可视化编程语言集成包VisualStudio6.0,本课程介绍的VisualFoxPro6.0(中文版)就是其中的一员。
它是运行于Windows95/98/Me,WinNT4.0/2000/XP平台的32位数据库开发系统。
它能充分发挥32位微处理器的强大功能,是直观易学的编程工具。
FoxPro产品一直作为我国普及教育数据库的软件,具有广泛的用户群。
VisualFoxPro6.0是为数据库结构和应用程序开发而设计的功能强大的面向对象的编程环境。
无论是组织信息、运行查询、创建集成的关系型数据库系统,还是为最终用户编写功能全面的数据管理应用程序,VisualFoxPro6.0都可以提供管理数据所需的工具,还可以在应用程序或数据库开发的任何一个领域中提供帮助。
VisualFoxPro6.0所具有的速度、功能和灵活性,是普通数据库管理系统无法比拟的,它把我们带入了一个XBASE的新时代。
1、VisualFoxPro6.0的特点
(1)简单、易学、实用、方便,便于掌握和再开发
标准的Windows程序界面
VisualFoxPro是一个标准的Windows程序,如图2-1所示。
VisualFoxPro改进了用户界面,其主窗口与其他Microsoft产品十分类似。
建立字段、填入数据、修改数据、查询数据库、程序设计都在不同的窗口中完成。
不像以前DOS版本只有一个枯燥无味的文字窗口。
另外,用户可以对VisualFoxPro系统自身定制工具栏,也能够为编写的应用程序定义工具栏。
大量使用可视化的界面操作工具
VisualFoxPro可提供向导(wizard)、生成器(builder)和设计器(designer)等三种界面操作工具,达40种之多。
它们普遍采用图形交互界面方式,能帮助用户以简单的操作快速完成各种查询和设计任务。
VisualFoxPro的设计器普遍配有工具栏和弹出式的快捷菜单。
每个工具按钮对应一项功能,用户可通过它们方便地完成操作或设计控件,不必编程或很少编程即可实现美观使用的应用程序界面。
强大的项目管理器和资源统一控制
在使用项目管理器时,我们可以对项目及数据进行更强的控制。
我们可以使用源代码管理产品,同时可以在“项目管理器”中看到组件的状态。
可以借助“项目管理器”创建和集中管理应用程序中的任何元素;也可以访问所有向导、生成器、工具栏和其他易于使用的工具。
因此,可以说它提供了一个进行集中管理的环境。
(2)功能更强大
大型数据库的框架结构
无可置疑,VisualFoxPro的数据库功能得到了很大的扩展。
在VisualFoxPro中,原来的DBF文件变成了数据库中的一个表,不属于任何数据库的表称为自由表。
数据库是由若干个表、表之间的关系和触发程序的集合,合理地体现了关系型数据库的思想,与关系数据库理论统一起来了。
新的数据库把有关系的表都放在一起,关系清晰、合理且处理方便。
②支持面向对象编程的能力
早期的Xbase数据库语言只支持面向过程的程序设计(结构化程序设计)。
VisualFoxPro除继续支持标准的面向过程的程序设计方式,但更重要的是它现在提供真正的面向对象程序设计的能力。
借助VisualFoxPro的对象模型,用户可以利用面向对象程序设计的编程特性:
继承性、封装性、多态性和子类。
而且VisualFoxPro6.0提供了两种类型近30个类,包括表单、工具栏、页格式等等,用户也可以自定义类,这样就可以减少编程的工作量,同时便于维护。
③可利用数量众多的ActiveX控件
ActiveX控件是可编程元素的新名称,以前称为OLE控件、OCX或OLE自定义控件。
ActiveX控件与固有控件相同,可以把它放在表单上,使用户能够加强同一个应用程序的交互能力。
ActiveX控件具有事件,并且可以集成到其他控件中。
这些ActiveX控件具有OCX的扩展名,而且,互联网上的ActiveX控件数不胜数。
在VisualFoxPro6.0中可以充分利用现成的控件资源节省投入成本,加快开发进度,提升软件功能。
④VisualFoxPro的独特技术Rushmore
VisualFoxPro使用了Rushmore技术。
Rushmore是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒,显著地提高了查询的速度。
数据库中的数据已不仅限定于文字或数字,还可加入影像、声音,或是直接从别的应用程序中嵌入OLE数据,这样数据的内容就没有限制了,用户也可以建立出美观的多媒体数据库。
VisualFoxPro的数据存取与集成能力是非常强大的。
通过内建的32位ODBC驱动程序,VisualFoxPro几乎能存取市场上所有的商用主流数据库服务器。
此特性使其容易与Office及VisualStudio的其他产品集成,构成企业最佳的整体解决方案。
(3)支持网络应用
VisualFoxPro6.0既使用于单机环境,也适用于网络环境。
其网络功能主要包括:
1支持客户/服务器结构,既可访问本地计算机,也支持对服务器的浏览。
2对于来自本地、远程或多个数据库表的异种数据,VisualFoxPro6.0可支持用户通过本地或远程视图访问与使用,并在需要时更新表中的数据。
3在多用户环境中,VisualFoxPro6.0还允许建立事务处理程序来控制对数据的共享,包括支持用户共享数据,或限制部分用户访问某些数据等。
在新版本的VisualFoxPro中internet的应用得到了很大的加强。
MicrosoftVisualFoxPro6.0现在支持OLE拖放,用户可以在VisualFoxPro和其他应用程序之间、以及在VisualFoxPro应用程序内部移动数据。
因此,使用VisualFoxPro6.0可以很容易地创建与Internet一起使用的应用程序,也使得创建与其他基于Windows应用程序(如MSExcel和MicrosoftVisualBasic)一起使用的应用程序变得很容易。
使用VisualFoxPro6.0甚至可以创建由ActiveDocument宿主程序(如Internet浏览器)所包容的ActiveDocument。
(4)同其他软件的高度兼容性
如果有VisualFoxPro先前版本的文件,只要打开他们,就会出现VisualFoxPro转换对话框。
同时,可把其他数据源移到VisualFoxPro表中,如果有电子表格或文本文件中的数据(比如MicrosoftExcel及Word),使用VisualFoxPro,可以方便地实现数据共享,利用DBASEⅢ、DBASEⅣ、FoxBase、早期版本的FoxPro所建立的数据库及开发的应用程序,可完全不经修改而直接在VisualFoxPro中执行。
VisualFoxPro可以同其他Microsoft软件共享数据,例如用户可用自动OLE来嵌入其他软件中的对象并在VisualFoxPro中使用这些软件。
同其他软件共享数据
在VisualFoxPro中同其他软件共享数据较为简单。
用户可以用“主元表向导”使Excel共享VisualFoxPro数据,还可以用“邮件合并向导”使Word可共享VisualFoxPro数据。
导入和导出数据
用户能够在VisualFoxPro和其他软件之间输入和输出数据,即导入和导出。
导入数据是指VisualFoxPro利用其他软件生成的数据。
导出数据是指VisualFoxPro生成一定格式的数据以供其他软件使用。
这种导入、导出是通过不同的文件格式的转换来实现的,不同的文件格式包括文本、电子表格和表。
在VisualFoxPro中,用户可用“导入向导”来帮助决定使用哪一种文件格式。
使用自动OLE控制其他软件
VisualFoxPro提供的自动OLE能够加强用户应用程序的功能。
用户可以通过编程来运行其他的软件。
例如用户可以调用Excel来完成某些计算。
如果VisualFoxPro的功能不能满足用户的某些特定的要求,则可以启动其他标准的Windows程序来增强程序的功能。
2.1.2 VisualFoxPro的启动
启动VisualFoxPro和启动任何一个Windows标准程序是完全一样的,既可以双击用户在桌面自定义的VisualFoxPro快捷方式图标,也可从开始菜单逐层进入至VisualFoxPro菜单,单击后即可启动。
启动VisualFoxPro之后,首先会看到VisualFoxPro的版权信息窗口。
经过几秒钟的时间,VisualFoxPro的集成开发环境就会出现在屏幕中。
如图2-1所示。
2.1.3VisualFoxPro的窗口
VisualFoxPro6.0主窗口界面由窗口、图标、菜单与对话框组成,如图2-1所示,现分述如下。
VisualFoxPro6.0启动后,屏幕上就会出现一个程序窗口,程序窗口通常由以下几个部分组成:
1、系统菜单图标
单击左上方的狐狸图标,就会出现窗口的系统控制菜单。
它用以控制整个窗口的大小与位置等,双击该图标也可将整个窗口关闭。
2、标题栏
所有的窗口都有一标题栏,显示此应用程序的名称。
如上图2-1所示,应用程序名称为MicrosoftVisualFoxPro6.0。
3、窗口状态调整按钮
窗口状态按钮包括:
最小化按钮、还原/最大化按钮、关闭按钮,
4、菜单栏
VisualFoxPro6.0的主菜单,包含所有的VisualFoxPro6.0命令。
用鼠标点击时,会出现下拉式菜单,供用户执行需要的功能。
其选项会依据当前的操作不同而改变。
5、工具栏
菜单栏下方是工具栏,从图案上可以看出有何种功能。
对于经常使用的指令,直接利用工具条来执行,将会非常方便快捷。
它不需记忆功能键,也不需在菜单上多层次选取,而且提供了更快速的命令选取接口。
其上的图案也会依据目前的操作不同而改变。
使用时,只需在工具上用鼠标左键单击,即可执行此工具代表的指令。
每种设计器都有一个或多个工具栏,可以很方便地使用大多数常用的功能或工具操作。
例如,表单设计器就有分别用于控件、控件布局以及调色板的工具栏。
工作时,用户可以根据需要在屏幕上放置多个工具栏。
通过把工具栏停放在屏幕的上部、底部或两边,定制工作环境。
VisualFoxPro6.0能够记住工具栏的位置,再次进入VisualFoxPro6.0时,它将位于关闭时所在的位置。
若要显示工具栏,可从【显示】菜单中选择【工具栏】,在“工具栏”对话框中,选择要使用的工具栏,再选择【确定】即可。
如图2-2所示。
如要停放工具栏,将工具栏拖到屏幕的顶部、底部或两边即可。
位于窗口最下面的一行是状态条,用来显示目前VisualFoxPro6.0的信息。
窗口工作区,也叫做主窗口,可以显示程序执行的结果和各种工具栏、面板、表单。
6、命令窗口
在该窗口中可以输入VisualFoxPro的各类命令并执行。
命令窗口可以显示和隐藏,具体操作是:
执行【窗口】菜单中的【隐藏】可以关闭该窗口,此时再执行【窗口】菜单中的【命令窗口】可以打开该窗口。
2.1.3 VisualFoxPro的退出
有四种方法可以退出VisualFoxPro,用户可以根据自己的习惯,任选其中一种方法:
①用鼠标左键单击VisualFoxPro标题栏最右面的关闭窗口按钮。
②从【文件】下拉菜单中选择【退出】选项。
③单击主窗口左上方的狐狸头图标,从窗口下拉菜单中选择【关闭】,或者按Alt+F4键。
在命令窗口中键入QUIT命令,单击Enter键。
§2.2 常量和变量
常量在程序执行的过程中是固定不变的数据,而变量在程序执行过程中却允许随时改变其值。
VisualFoxPro6.0定义了常量、用户内存变量、系统内存变量和字段变量等。
2.2.1常量
常量是一个命名的数据项,在整个操作过程中是固定不变的数据。
它具有数值型、字符型、日期型及日期时间型、逻辑型和货币型等多种类型。
1、数值型常量
数值型常量也就是常数,用来表示一个数量的大小,整数、小数或用科学计数法表达的数都是数值型常量,例如10,-100,2.451,0.223E1。
2、字符型常量
字符型常量是用单引号、双引号或方括号等定界符括起来的字符串,例如“甘肃林业职业技术学院”,[数据库],“123.4”。
VisualFoxPro6.0字符串的最大长度为254个字符。
当某一种定界符本身是字符型常量的组成部分时,则必须选用另一种定界符,例如["I’mastudent."]。
3、日期型及日期时间型常量
日期型常量必须用花括号括起来,括号内包括年、月、日三部分,每部分之间用分隔符分开。
常用的分隔符有斜杠(/)、连字号(-)、句点(.)和空格,具体使用何种分隔符,需通过SETMARKto[/ |- |. | ]命令来设置。
日期时间型常量的写法为{12/30/9918:
50},空白的日期时间可表示为{/:
}。
注意:
日期和时间数据间必须有空格。
还有一种“严格的日期格式”为:
{^yyyy-mm-dd[,][hh[:
mm[:
ss]][a|p]]}
格式中的符号^表明该日期格式是严格的,并按照YMD的格式来解释日期和日期时间。
4、逻辑型常量
逻辑型常量只有逻辑真和逻辑假两种值,.T.,.t.,.Y.,和.y.都表示真;.F.,.f.,.N.和.n.都表示假。
5、货币型常量
货币型常量以$符号开头,并四舍五入到小数4位。
例如货币型常量$123.45678,计算结果为$123.4568。
2.2.2变量
变量是程序基本单元,在命令操作和程序运行过程中其值允许变化的量称为变量,变量包括内存变量、字段变量和系统内存变量3种。
1、内存变量
内存变量可用来存储数据,定义内存变量时需为它命名并赋初值,内存变量建立后存储于内存中。
内存变量有简单内存变量和数组两类,简单变量可以直接使用,而数组必须先定义后使用。
(1)简单内存变量
在VisualFoxPro6.0中除了字段和文件外,所有的用户命名,如内存变量、函数的命名,都必须遵守这样的规则:
以字母(也可以是汉字)或下划线开头,由字母、数字、下划线组成,长度不能超过128个字符,不能与系统保留字同名。
(2)数组
数组是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素,数组必须先定义后使用。
数组的引入,不仅可以大大提高运算速度,而且使许多复杂的编程问题变得非常简单。
VisualFoxPro6.0中的数组用起来比较方便灵活。
主要有以下特点:
在一般高级语言中,同一数组各元素的类型必须相同。
而VisualFoxPro6.0不仅允许同一数组的元素取不同类型,而且同一个元素的前、后类型也允许改变。
数组变量可以不带下标使用,这时它在赋值语句的左边和右边的定义不同,如果它在赋值语句的右边,则表示该数组第一个元素;如果它在赋值语句的左边,则表示该数组所有元素。
VisualFoxPro6.0数组功能的这一特性,对整个数组赋值或初始化操作十分方便。
数组和数据表之间可相互转换,即数据表中数据可以转换为数组数据。
反过来,数组数据也可以转换为数据表中的数据。
使用数组之前要定义。
为了避免混淆,内存变量的数组名应与一般内存变量名区别开。
数组名的取法和一般的变量名取法相同。
命令格式:
DIMENSION|DECLARE<数组名>(<下标1>[,<下标2>])[,<数组名>(<下标1>[,<下标2>])……]
功能:
定义一维或二维数组,及其下标的上界。
说明:
◆系统规定各下标的下界为1。
如命令“DIMENSIONx(3),y(2,3)”分别定义了数组名为x的一维数组与数组名为y的二维数组。
数组x下标的上界为3,由于下界规定为1,因此该数组有3个数组元素,表示为x
(1),x
(2)与x(3)。
对于二维数组,常将第1个下标称为行标,第2个下标称为列标,所以二维数组y具有2行3列6个元素,分别表示为y(1,1),y(1,2),y(1,3),y(2,1),y(2,2),y(2,3)。
◆理论上VisualFoxPro6.0中最多可定义65000个数组,且每个数组最多可包含65000个元素,实际上最大数将受可用内存的制约。
◆数组占用的空间是这样计算的,每个数组元素占18个字节,外加存储数组描述符的空间。
例如y(2,3)的数组至少需要占108(2*3*18=108)个字节。
(3)内存变量赋值
无论是简单内存变量还是数组,其赋值方式相同,可通过下列命令实现。
命令格式1:
STORE<表达式>TO<内存变量列表>
命令格式2:
<内存变量>=<表达式>
功能:
计算<表达式>的值,然后将计算结果赋给内存变量,内存变量在赋值时定义了它的值及类型,其类型与所赋的值的类型相同。
注:
STORE命令的内存变量列表可包括多个内存变量,各变量之间必须用逗号来分隔。
该命令可将同一值赋给多个内存变量,而“=”命令仅可为一个内存变量赋值。
在定义数组时,系统将各数组元素的初值设置为.F.,在使用时用赋值命令可为数组元素逐个地赋初值,也可为整个数组的各个元素赋以相同的初值。
如赋值命令“y=2”可为上面定义的二维数组y的6个元素都赋以相同的初值2。
二维数组中的各元素在内存中按行的顺序存储,而且也可按一维数组来表示其数组元素。
如二维数组元素y(1,2)排列在第1行第2列,由于每行有3个元素,所以该元素也可表示为y
(2)。
【例2.1】简单变量使用
store1.2toa,b &&定义内存变量atb,数值型,其值分别为1.2
store“甘肃林业职业技术学院”tob,c&&定义内存变量b和c,字符型,其值分别为甘肃林业职业技术学院
store.t.toc &&定义内存变量c,逻辑型,其值为真
store{^1999-12-30}tod &&定义内存变量d,日期型,其值为99年12月30日
【例2.2】数组变量使用
dimensione(2,3)&&定义二维数组变量e,该数组有二行三列,共6个元素:
e(1,1)、e(1,2)、e(1,3)、e(2,1)、e(2,2)、e(2,3)。
这些元素被定义作逻辑型并赋以初值“.F.”。
二维数组元素还可以用单下标表示为:
e
(1)、e
(2)、e(3)、e(4)、e(5)、e(6)。
e
(1)=1.2&&数组元素e
(1),即e(1,1),赋值1.2,其类型已转换为数值型。
e
(2)=“甘肃林业职业技术学院” &&数组元素e
(2),即e(1,2),赋值甘肃林业职业技术学院,其类型已转换为字符型。
e(3)=.t. &&数组元素e(3),即e(1,3),赋“真”值,其类型不变,仍为逻辑型。
e(4)={^1995-05-30} &&数组元素e(4),即e(2,1),赋值日期值,其类型已转换为日期型。
注:
命令后的符号&&,表示该符号后跟随的是本命令的注释,只对命令起解释作用,与命令执行无关。
可以用RELEASE和CLEARMEMORY命令同内存变量一起保存到磁盘内存文件(.MEM)中,需要时用RESTORE命令同内存变量一起从磁盘文件中恢复。
(4)内存变量的显示
格式1:
LISTMEMORY[Like<通配符>][TOPRINTER|TOFILE<文件名>]
格式2:
DISPLAYMEMORY[Like<通配符>][TOPRINTER|TOFILE<文件名>]
功能:
显示内存变量的当前信息,包括变量名、作用域、类型、取值。
选用LIKE短语只显示与通配符相匹配的内存变量。
通配符包括*和?
,*表示任意多个字符,?
表示任意一个字符。
可选子句TOPRINTER或TOFILE<文件名>用于在显示的同时送往打印机,或者存入指定文件名的文本文件中,文件的扩展名为.txt。
LIST MEMORY一次显示与通配符匹配的所有内存变量,如果内存变量多,一屏显示不下,则自动向上滚动。
DISPLAY MEMORY分屏显示与通配符匹配的所有内存变量,如果内存变量多,显示一屏后暂停,按任意键之后再继续显示下一屏。
【例2.3】将上面两例中定义的内存变量显示出来。
listmemorylike?
&&内存变量显示命令。
“like?
”
屏幕显示执行结果为:
APubN1.2(1.)
BPubC“甘肃林业职业技术学院”
CPubL.T.
DPubD95.05.30
EPubA
(1,1)N1.2(1.)
(1,2)C“甘肃林业职业技术学院”
(1,3)L.T.
(2,1)D95.05.30
(2,2)L.F.
(2,3)L.F.
(5)内存变量的清除
格式1:
CLEAR MEMORY
格式2:
RELEASE<内存变量名表>
格式3:
RELEASE ALL[EXTENDED]
格式4:
RELEASEALL[Like<通配符>|EXCEPT<通配符>]
功能:
格式1清除所有内存变量;格式2清除指定的内存变量;格式3清除所有内存变量;在人机会话状态其作用与格式1相同,如果出现在程序中,则应该加上短语EXTENDED,否则不能删除公共内存变量;格式4选用Like短语清除与通配符相匹配的内存变量,选用EXCEPT短语清除与通配符不相匹配的内存变量。
2、字段变量
字段变量是与表相连的,指表中已定义的任一个列的数据项。
例如教师
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 VISUAL FOXPRO 基础知识