VisualFoxPro数据库管理系统概述.ppt_第1页
VisualFoxPro数据库管理系统概述.ppt_第2页
VisualFoxPro数据库管理系统概述.ppt_第3页
VisualFoxPro数据库管理系统概述.ppt_第4页
VisualFoxPro数据库管理系统概述.ppt_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019年12月5日4时43分,1,第二章VisualFoxPro数据库管理系统概述,2019年12月5日4时43分,2,2.1VisualFoxPro的操作环境2.2VisualFoxPro文件类型2.3VisualFoxPro的项目管理及其操作2.4VisualFoxPro语言基础,2019年12月5日4时43分,3,VFP的特点数据库方面区分了数据库与数据表的概念Rushmore技术(速度快,多索引)SQL命令(高效检索)数据操作方面简单、灵活、多样的数据交换手段,VisualFoxPro(简称VFP)是基于Windows平台和服务器上的可视化数据库管理系统。,2019年12月5日4时43分,4,程序设计方面(可视化应用程序)可视化、少量程序代码可靠性高调试简单项目编译面向对象,2019年12月5日4时43分,5,操作使用方面完善的IDE(菜单、工具条或快捷键)丰富的开发工具向导:表单向导设计器:表设计器生成器:表达式生成器管理器:项目管理器,2019年12月5日4时43分,6,2.1VisualFoxPro的操作环境,2.1.1VisualFoxPro操作界面,命令窗口,主窗口:用于输出结果,菜单栏,工具栏,状态栏,2019年12月5日4时43分,7,命令窗口是用来直接输入VisualFoxPro命令的用户接口,在命令窗口输入命令后,按回车键,立即执行输入命令。,命令窗口命令执行结果显示,关闭命令窗口方法:按命令窗口右上角的“关闭”按钮可关闭命令窗口显示命令窗口方法:1.可选“窗口”菜单中“命令窗口”项2.使用常用工具栏上的命令窗口按钮3.使用快捷键Ctrl+F2。,命令窗口介绍,2019年12月5日4时43分,8,选择命令项右边的组合键,例如,Ctrl+N、CtrlO、CtrlP等,是执行命令项的键盘操作快捷键,选择命令项右边有“”符号的,表示选中此命令项时,会弹出相应对话框。,选择命令项右边有“”符号,的,表示选中此命令项时,会弹出相应级联菜单。,菜单项介绍,2019年12月5日4时43分,9,单击主菜单的“显示”菜单,在下拉菜单中选择“工具栏”菜单项,弹出“工具栏”对话框。,工具栏介绍,2019年12月5日4时43分,10,2.1.2命令说明,命令的语法格式说明删除文件的命令,其格式为:DELETEFILEfileName|?RECYCLE在命令窗口和程序中都使用分号“;”实现换行输入,绝大多数命令中的关键字和函数名均可用前4个字符代替。,2019年12月5日4时43分,11,说明filename表示要删除文件的路径及文件名:可选表示符号,方括号中的内容是可选项例如:DELETEFILEDELETEFILERECYCLE|:二选一表示符号,要求用户从本符号的左右两项中选择一项例如:DELETEFILED:aaa.txtDELETEFILE?:省略符号,它表示在一个命令或函数表达式中,某一部分可以按同一方式重复,DELETEFILEfileName|?RECYCLE,2019年12月5日4时43分,12,2.几个常用命令*与,14,105,15,2019年12月5日4时43分,16,2.1.3配置VisualFoxPro操作环境VisualFoxPro的配置决定了VisualFoxPro系统运行时的外观和行为。VisualFoxPro启动以后,还可以使用“选项”对话框”或SET命令进行附加的配置设定。,2019年12月5日4时43分,17,2.1.3配置VisualFoxPro操作环境选项对话框,2019年12月5日4时43分,18,2.1.3配置VisualFoxPro操作环境Set命令例如:SetdefaulttoF:&设置默认路径为F盘常用的Set命令如表2-1所示(书P34页),2.2VisualFoxPro文件类型,如表2-2所示(书P35页)常考需要熟记各个类型,例如:创建项目文件,生成.pjx与.pjt文件,2019年12月5日4时43分,19,2.3VisualFoxPro的项目管理及操作,选项卡,1.VisualFoxPro的项目是一个系统中文件、数据、文档等的集合。2.项目管理器是VisualFoxPro中处理数据和对象的主要组织工具,是系统“控制中心”。,按钮,2019年12月5日4时43分,20,创建项目方法一:CREATEPROJECT命令方法二:使用“文件”菜单的“新建”按钮方法三:使用常用工具栏上的“新建”按钮,2019年12月5日4时43分,21,打开项目(考试中用到)使用“文件”菜单的“打开”按钮默认目录是vfp98立即利用cd命令修改默认目录改头去尾按回车此时,再使用“文件”菜单的“打开”按钮默认目录是,2019年12月5日4时43分,22,2.3VisualFoxPro的项目管理及操作,2.3.1页面全部数据:一个项目中的所有数据(数据库、自由表、查询、视图)文档:处理数据时所用的全部文档(表单、报表和标签)类:表单和程序中所用的类库和类代码:程序、API库和应用程序其他:菜单、文本文件和其他文件(如位图、图标等),2.3.2定制项目管理器演示图2-4演示图2-5演示图2-6+号:展开-号:折叠,2019年12月5日4时43分,23,2.3VisualFoxPro的项目管理及操作,2.3.3项目管理器的操作(演示)1.命令按钮首先选定对象新建:创建一个新文件或对象添加:把现有文件添加到项目中修改:相应设计器移去:从项目中移去选定的文件或对象(从项目中还是存储器上?)连编:连编一个项目或应用程序(可执行程序)运行:执行选定的查询、表单或程序浏览:在浏览窗口中打开选定的表或视图,当且仅当选定一张表或视图时可用关闭:关闭数据库,当且仅当选定一个数据库时可用打开:打开数据库,当且仅当选定一个数据库时可用预览:在打印预览方式下显示选定的报表或标签,2019年12月5日4时43分,24,2.3VisualFoxPro的项目管理及操作,2.3.3项目管理器的操作2.快捷菜单命令右键选择包含与排除:带斜线的圆圈表示连编时将被排除,所有的包含文件在运行时都是只读的设置主文件:把选定的程序、表单、查询或菜单指定为主文件,该主文件在已编译的应用程序中作为主执行程序执行,即应用程序的入口程序。主程序文件用粗体表示。重命名编辑说明项目信息3.项目间共享文件一个文件可同时属于不同的项目方法:打开两项目,在包含该文件的项目管理器中选择该文件,然后拖动该文件到另一个项目容器中即可,2019年12月5日4时43分,25,2.4VisualFoxPro语言基础,2.4.1数据类型(P39-40)*仅有于表的字段,数据类型是指数据对象的取值集合,以及对之可施行的运算集合(相同类型才可以运算)。,2019年12月5日4时43分,26,2.4.2常量与变量大多数程序设计语言允许使用常量、变量和数组来存储数据,VFP还可以使用记录和对象。1.名称命名规则(P41)名称中只能包含字母、下划线“_”、数字和汉字名称开头只能是字母、下划线或汉字,不能是数字表的字段名、索引标识名最多只能是10个字符,其余名称长度可以是1128个字符避免使用系统保留字(如Use、Set、Date),例如:判断下列名称的合法性cVar2xccnVar2sum_of_score2_xd_aver_gznum-of-renshunSum&re_avg#sdset,2019年12月5日4时43分,27,2.常量:在整个操作过程中值保持不变。数值型常量:由数字、小数点和正负号构成,如-3.15、38、3.12E+28、3.12E-28,如$100.35、$2104,货币型常量:数字前加美元符号($),逻辑型常量:逻辑真和逻辑假,如真:.T.t.Y.y.假:.F.f.N.n.,2019年12月5日4时43分,28,字符型常量:由字符串“定界符”括起来的一串字符定界符可以是单引号、双引号或方括号。不能用中文标点的单引号或双引号作为字符串的定界符定界符必须成对出现,不能出现“一头为单引号而另一头为双引号”等情况,2019年12月5日4时43分,29,如果某种定界符本身也是字符串的内容,则需要用另一种定界符表示字符串不包含任何字符的字符串(“”)称为“空串”,它与包含空格的字符串(“”)不同字符串中的字母,其大小写不等价,如:苏-001”51109876”vfpabcd”ef”g哈哈“笑”ABCDE与abcde是不同的字符串,2019年12月5日4时43分,30,时间型和日期时间型常量:定界符是一对花括号,年月日之间用/或或.或空格分隔,时分秒之间用:分隔,传统的日期格式的语法形式:mm/dd/yyhh:mm:ssam|pm严格的日期格式的语法形式:(系统默认)yyyy/mm/ddhh:mm:ssam|pm,如:2013-03-012013-03-018:12A,2019年12月5日4时43分,31,3.内存变量:在任何时候都可以发生变化。(1)变量的创建内存变量不需要特别申明,在使用时可以使用STORE命令或“=”赋值运算符直接进行赋值。在赋值的同时,也完成了变量的创建,并且确定了该变量的数据类型以及目前变量的值。,2019年12月5日4时43分,32,变量的创建,y=2&=只能给一个变量赋值store“123”tox,y,z&store将同一个值赋值给多个变量使用,格式1:STORE数据值TO变量名格式2:变量名=数据值,赋值号,2019年12月5日4时43分,33,例:,cVar=VFPStore1tonVar1,nVar2nVar1=cVarcVar=nVar2?cVar&值为1?nVar1&值为vfp?nVar2&值为1,2019年12月5日4时43分,34,(2)、控制变量访问,内存变量用于程序中,可以使用相应的命令指定变量的作用域。用LOCAL指定局部变量局部变量只能在当前程序中使用,当它们所属的程序运行结束后,局部变量被释放。例如:LOCALCX1,2019年12月5日4时43分,35,用PRIVATE指定私有(隐藏)变量PRIVATE可以把上层变量(调用程序中定义的变量)的值在当前程序中隐藏起来,用户在当前程序中可以正常使用和这些变量同名的变量。例如:PRIVATECX2,CX3,2019年12月5日4时43分,36,用PUBLIC指定全局变量全局变量在程序运行的全过程中,其值均不会丢失。在命令窗口中创建的任何变量被自动赋予全局变量。例如:PUBLICCX4,CX5,CX6,2019年12月5日4时43分,37,(3)访问变量字段变量和内存变量,CNO=100,结论:如果表的字段变量和内存变量同名,则字段具有更高的优先权,可以在变量名前加m.前缀或m-来引用内存变量。,CNO=100?CNO&显示CC112,字段变量的值?m.CNO&显示100,内存变量的值?m-CNO&显示100,内存变量的值,2019年12月5日4时43分,38,(4)、内存变量的保存与恢复,内存变量是系统在内存中设置的临时存储单元,当退出VFP时其数据自动丢失。若要保存其值,可用SAVETO命令将变量保存到文件中,命令格式如下:SAVETO内存变量文件名ALLLIKE变量名通配符|ALLEXCEPT变量名通配符其中:ALLLIKE子句指定需保存的变量,ALLEXCEPT子句指定不需保存的变量。缺省ALLLIKE或ALLEXCEPT子句时,表示保存当前所有的内存变量。,2019年12月5日4时43分,39,内存变量文件的扩展名为.mem,例:SAVETOMvarALLLIKE?Yan*&第24个字符为“yan”的所有变量保存到mvar内存变量文件中RESTOREFROM命令可将保存到文件中的变量恢复到内存:RESTOREFROM内存变量文件名ADDITIVE其中:ADDITIVE子句将文件中的内存变量追加到当前内存中来,否则,当前内存变量被清除。,2019年12月5日4时43分,40,4.数组数组是变量的有序集合,占用连续的存储单元,(按行存放),组成数组的变量称为数组元素,也叫做下标变量。数组可以是一维数组,也可以是二维数组,一个数组中的数组元素可以是不同的数据类型。(1)数组的声明数组在使用前须预先声明(定义),DIMENSION|DECLARE|PUBLIC|LOCAL数组名(行数,列数),2019年12月5日4时43分,41,注意:1.数组在声明之后,每个数组元素的默认值均为逻辑值.F.,数据类型为L。2.用一个语句可为所有的数组元素赋相同的值。,2019年12月5日4时43分,42,例2:dimeY(3)&表示定义了一个一维的数组Y,包含3个元素分别为:Y(1)、Y(2)、Y(3)Y(1)=123Y(2)=“电脑”?Y(3)Z=Y?Z,&Y(3)没有赋值,则值为.F.,&将Y(1)的值给变量Z,&123,123,电脑,2019年12月5日4时43分,43,例3:请写出下列命令输出的结果dimey(2,3)y(1,1)=“12”y(1,2)=y(1)+“3”store0toy(1,3),y(2,1),y(2,2)?y(1,2)?y(6),&123,&.F.二维数组可用一维形式使用,Y(2,3),2019年12月5日4时43分,44,4.数组为数组元素赋值:可以使用SCATTER、GATHER、COPYTOARRAY、APPENDFROMARRAY等命令在数组元素与表记录之间传递值。5.字段变量第3章介绍,2019年12月5日4时43分,45,6.对象:类的实例类:对于拥有数据和一定行为特征的对象集合的描述VisualFoxPro对象可以是表单、表单集或控件7.不同数据存储容器的作用域如表2-4所示(书P46),2019年12月5日4时43分,46,存储数据的作用域(P46),2019年12月5日4时43分,47,练习,1、字符型常量也称为字符串,它是由字符串“定界符”括起来的一串字符。字符串定界符可以是单引号、双引号或。2、以下符号中,属于VFP常量的是。A、.T.B、DATEC、EOFD、#VFP6.0#3、VFP中可以用命令给多个变量赋同一个值。,方括号,A,STORE,2019年12月5日4时43分,48,练习,4、下列字符型常量的表示中,错误的是。A)品牌B)5+3C)x=yD)计算机5、以下正确的赋值语句是。A)A1,A2,A3=10B)SET10TOA1,A2,A3C)LOCAL10TOA1,A2,A3D)STORE10TOA1,A2,A3,2019年12月5日4时43分,49,2.4.3VisualFoxPro系统函数函数:是一种预先编制好的程序代码,可供用户或程序调用。函数包含一对圆括号以便与命令相区别。函数分为2大类:系统函数和用户自定义的函数语法规则:函数(参数1,参数2,)函数的三要素:功能与名称;自变量的类型,个数,位置;函数的值及值的类型。注意每个函数的作用,返回值,2019年12月5日4时43分,50,1.数值函数:用于处理数值型数据,其返回值也为数值型数据,(1)求绝对值:ABS(数值表达式)例:?ABS(-5.6+5)Store40tonum1Store2tonum2?ABS(num2-num1),&显示0.60,&显示38,2019年12月5日4时43分,51,(2)求最大值:MAX(表达式1,表达式2,)例:?MAX(-45,2,22,-22)?MAX(a,b)?MAX(2003-11-11,2002-5-6)?MAX(.T.,.F.),&显示22,&显示b,&显示11/11/03,&显示.T.,(3)求最小值:MIN(表达式1,表达式2,)例:?MIN(-45,2,22,-22)Store40tonum1Store2tonum2?MIN(num2-num1,39),&显示-45,&显示-38,2019年12月5日4时43分,52,(4)取整:INT(数值表达式)例:?INT(12.5)?INT(-6.8)?INT(9.6-0.5),&显示12,&显示-6,&显示9,2019年12月5日4时43分,53,(5)模运算求余数():Mod(a1,a2)函数功能:用a1的值去除a2的值,返回余数。函数值(余数)的符号与A2相同;当a1与a2符号相同时,函数值为二者的余数;当a1与a2符号不相同时,函数值为二者相除的余数再加上除数a2的值。被除数A1的小数位数决定了函数值的小数位数。例:?mod(36,10)&显示6?mod(4*9),90/9)&显示6?mod(25.250,5.0)&显示0.250?mod(23,-5)&显示-2?mod(-23,-5)&显示-3?MOD(-23,5)&显示2,2019年12月5日4时43分,54,(6)四舍五入:ROUND(数值表达式,小数位数)例:Setdecimalsto4&小数位为4位Setfixedon&小数位是否固定,默认是不固定?ROUND(1234.1962,3)&1234.1960?ROUND(1234.1962,2)&1234.2000?ROUND(1546.1962,-3)&2000.0000,2019年12月5日4时43分,55,(7)求平方根:SQRT(数值表达式)例:Setdecimalsto2?SQRT(2),2019年12月5日4时43分,56,(8)随机函数:RAND()&产生之间的随机数例:?RAND()&显示一个01的随机数如何产生1100之间的随机整数。可用以下公式:记住此公式Int(上限-下限+1)*Rand()+下限?INT(100*rand()+1*产生一个ab之间的随机整数为:?INT(b-a+1)*rand()+a,2019年12月5日4时43分,57,(1)去前后空格:ALLTRIM(字符串表达式)去后缀空格:TRIM(字符串表达式)RTRIM(字符串表达式)去前缀空格:LTRIM(字符串表达式)例:cVar=”VFP”?ALLTRIM(cVar)cVar=”VFP”?TRIM(cVar),2.字符函数,2019年12月5日4时43分,58,(2)求表达式1在表达式2中首次出现的位置:AT(,出现次数)注:出现次数默认为1,AT区分大小写,ATC功能同上,但不区分字母大小写例:StoreNowisthetimeforallgoodmentoaStoreisthetob?AT(b,a)StoreIStob?AT(b,a)?ATC(b,a),2019年12月5日4时43分,59,(3)求字符串长度:LEN(字符串表达式)例:cVar=”VFP”?LEN(cVar)?LEN(“VFP是简写”)?LEN(ALLTRIM(“VFPhelp”),2019年12月5日4时43分,60,(4)求子串:SUBSTR(字符串表达式,位置,长度)注:长度缺省时指返回结束前的全部字符例:Storeabcdefghijklmtomystring?SUBSTR(mystring,6,2)?SUBSTR(mystring,6)aa=”河海大学”?SUBSTR(aa,5,4),2019年12月5日4时43分,61,(5)求左子串:LEFT(字符串表达式,长度)求右子串:RIGHT(字符串表达式,长度)例:?LEFT(Redmond,WA,7)?RIGHT(Redmond,WA,7),(6)SPACE(算术表达式)例:?Space(3+6)&产生9个空格,2019年12月5日4时43分,62,3.日期和时间函数,(1)DATE()、TIME()与DATETIME()例:setcenturyoff?date()setcenturyon?date()?time()?datetime(),setdatetolong?date()setdatetoansi?date()sr=2008/08/08?date()-sr&显示今天距2008-08-08多少天,2019年12月5日4时43分,63,(2)YEAR(日期/时间表达式)、MONTH(日期/时间表达式)与DAY(日期/时间表达式)例:?Year(date()?Month(date()storemonth(gdBuy+31)togdMonth?gdMonth,2019年12月5日4时43分,64,(3)DOW(日期/时间表达式)注:得到该日期是一周的第几天(第一天为星期日)例:?DOW(date()?DOW(2008-08-08),2019年12月5日4时43分,65,4.数据类型转换函数,(1)ASC(字符串表达式)&返回最左边的ASCII值例:?ASC(ABCD)?ASC(8),(2)CHR(数值表达式)&ASCII值转成字符注:CHR(13)为换行符例:?CHR(65)&显示A?CHR(57)&显示9,2019年12月5日4时43分,66,(3)VAL(字符串表达式)&从左到右返回字符表达式中的数字数值,直至遇到非数值型字符时为止(字符串转成数值)。若表达式的第一个字符不是数字,也不是加、减号,则函数返回0例:a=12b=14?a+b?val(a)+val(b)?val(234aaaa)Store1.25E3toc?2*val(c),2019年12月5日4时43分,67,(5)STR(数值表达式,宽度,小数位数)&数值型转字符型注:缺省时默认宽度为10,小数位数为0,若宽度大于整个数值的宽度,则用前导空格填充例:?STR(314.15)&显示314?STR(314.15,5)&显示314?STR(314.15,5,2)&显示314.2?STR(314.15,2)&显示*?STR(1234567890123)&显示1.234E+12X=123Y=321?str(X)+str(Y)&显示123321,2019年12月5日4时43分,68,(4)DTOC(日期/时间表达式,1)&日期型转字符型TTOC(时间表达式,1/2)&时间型转字符型参数:1用于指定以年月日顺序且无分隔符的形式返回字符型日期,参数2仅返回时间部分CTOD(字符串表达式)&字符型转日期型CTOT(字符串表达式)&字符型转时间型,2019年12月5日4时43分,69,例:Store1995/10/3110:34togdThisDate?DTOC(gdThisDate)?DTOC(gdThisDate,1)?TTOC(gdThisDate)?TTOC(gdThisDate,1)?TTOC(gdThisDate,2)setdatetolong?DTOC(date()StoreCTOD(2101/12/15)togdStoreCTOT(2001-10-1222:22)togd?gd,2019年12月5日4时43分,70,5.其他常用函数,(1)BETWEEN(表达式,下界,上界)例:?Between(3,14,15)&.F.?Between(date(),2001/12/15,2101/12/15)&.T.,(2)INKEY(时间表达式)例:?INKEY(20)&等待20s返回按键的ascii值?INKEY()&一直等待键击,2019年12月5日4时43分,71,(3)TYPE(“表达式”)例:?TYPE(date()&D?TYPE(12*3)+4)&N,(4)IIF(逻辑表达式,返回值1,返回值2)例:?IIF(dow(date()=1ORdow(date()=7,今天休息,今天上班),2019年12月5日4时43分,72,(5)DISKSPACE()例:setdefaulttoC:?diskspace()?diskspace()/1024/1024,(6)FILE(文件名)例:?FILE(c:config.sys),&显示.T.,2019年12月5日4时43分,73,(7)MESSAGEBOX(字符表达式,数值表达式,标题)注意:MESSAGEBOX()的缩写不能写成MESS(),只能写成MESSAGEB()例:?MessageBox(这是一个例子!,3+16+256,我的应用程序),?MessageBox(请你换行+CHR(13)+显示,1+64+0,小例子),2019年12月5日4时43分,74,(8)GETFILE(“文件扩展名”,“文件名”)例:gc=GETFILE(dbf,表文件名)?gc,2019年12月5日4时43分,75,练习,1、下列函数中,返回值为字符型的是。A、AT()B、STR()D、VAL()D、CTOD()2、函数Round(123.148,-2)的返回值是_。A、123.148B、100C.、123.00D、123.0003、函数LEN(DTOC(DATE(),1)的返回值是。,B,B,8,2019年12月5日4时43分,76,2.4.4运算符与表达式表达式:由常量、变量、函数及运算符组成的式子。1.数值运算符与表达式,(),*或(乘方),*,/,%(模),+,,例:?(8-3)*(18/3)-5?4*3-52?35%6,&显示25,&显示39,&显示5,等同于MOD(35,6),2019年12月5日4时43分,77,2.4.4运算符与表达式表达式:由常量、变量、函数及运算符组成的式子。1.数值运算符与表达式,2019年12月5日4时43分,78,(1)字符串连接符:+例:?“1+2”+“1”2)字符串连接符例:?“12”“3”+“4”(3)字符串匹配符:$例:?“ab”$“abc”?“王”$“王一平”,&显示1+21,&显示1234,&显示.T.,&显示.T.,2.字符运算符与表达式,2019年12月5日4时43分,79,3.日期(和日期时间)运算符与表达式,有两种运算符“+”、“”(1)一个日期可以减去或者加上一个整数,结果为一个新的日期:?2009/11/072?2009/11/07+20?2009/11/0710:10:10p+50,&显示11/05/09,&显示11/27/09,&显示11/07/0910:11:00pm,2019年12月5日4时43分,80,3.日期(和日期时间)运算符与表达式,(2)两个日期(日期时间)相减:结果为两个日期相差的天数(秒数),可以是负数。?2009/11/072009/11/02?2009/11/022009/11/07?2009/11/0710:10:10p2009/11/0610:10:10p注意:不可以对两个日期型数据或日期时间型数据进行相加运算,&显示5,&显示-5,&显示86400,2019年12月5日4时43分,81,用于任意数据类型的数据比较,要求符号两边的数据类型相同,运算结果为逻辑值。主要有、=、或#或!=、=、=?“10”“9”?“11”=“11”?“ABCD”=“ABC”*注:默认的字符序列是PinYin(P60)字符串精确比较:=,&显示.F.,&显示.T.,&显示.T.,4.关系运算符与表达式,2019年12月5日4时43分,82,当SETEXACTON?ABCDE=ABC&.F.?ABCX=ABCX&.T.当SETEXACTOFF?ABCDE=ABC&.T.?ABC=ABCDE&.F.,SETEXACTON为精确比较,即参加比较的两个字符串必须完全相同,才返回逻辑真值;SETEXACTOFF(默认值)为不精确比较,即右端字符串是左边字符串的左子串时,其值为逻辑真值,2019年12月5日4时43分,83,用于操作逻辑类型的数据,并返回一个逻辑值。()、NOT或!、AND、OR,例:*判断今天是9月4号吗??day(date()=4andmonth(date()=9*判断今天是不是周末??dow(date()=1ordow(date()=7,5.逻辑运算符与表达式,2019年12月5日4时43分,84,各种运算符之间的优先级为:算术运算符关系运算符逻辑运算符,括号可以改变运算顺序。特别注意:运算的数据类型的匹配!例如,设X=2,Y=6,Z=8,则表达式:X+Y=ZANDX*Y=Z的值为.T.,2019年12月5日4时43分,85,6、名称表达式名称表达式是由圆括号()括起来的字符表达式,它可用来替换命令和函数中的名称。名称表达式的作用详见以下例子:,2019年12月5日4时43分,86,N=100M=N&注意不要用中文的引号STORE123.45TO(M)用名称表达式替换变量名N&注意不能用赋值号=?N&结果为123.45实际上对变量N两次赋值。,(1)用名称表达式替换变量名,2019年12月5日4时43分,87,DNAME=XS.DBFUSE(DNAME),(2)用名称表达式替换文件名,2019年12月5日4时43分,88,string1=VISUALFOXPRO6.0str_var=(string1)&书上P62有错?SUBSTR(str_var),1,6)&等价于SUBSTR(string1,1,6)&结果为VISUAL,(3)用名称表达式作为函数的参数,2019年12月5日4时43分,89,DBN=JXSJDBFN=XSUSE(DBN+!+DBFN)&打开JXSJ!XS,(4)用字符表达式构成一个名称表达式,2019年12月5日4时43分,90,7、宏替换,宏替换与名称表达式具有相似的作用,可使用宏替换的方法用内存变量替换名称。在使用宏替换时,将连字符(&)放在变量前,告诉VFP将此变量值当作名称使用,并使用一个句号(.)来结束这个宏替换表达式。,2019年12月5日4时43分,91,(1)宏替换可以替换整个命令,名称表达式不行AA=“DIR”&AA&

温馨提示

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

评论

0/150

提交评论