




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.1VisualFoxPro的操作环境第2章VisualFoxPro数据库管理系统概述2.2VisualFoxPro项目管理器2.3VisualFoxPro语言基础2.4小型案例实训教学目的与要求熟悉VFP的操作环境掌握项目管理器的使用掌握数据类型和数据存储容器(常量、变量)掌握各种数据类型的运算符、表达式掌握常用系统函数的使用掌握NULL值的处理方法2.1VisualFoxPro的操作环境2.1.1VisualFoxPro操作界面菜单栏工具栏状态栏命令窗口主窗口标题栏2.1.2VisualFoxPro的工作方式2.1VisualFoxPro的操作环境命令工作方式:通过在“命令”窗口中输入合法的VisualFoxPro命令来完成各种操作可视化工作方式:通过菜单、工具栏及系统提供的向导、设计器、生成器等工具进行可视化操作程序工作方式:通过把VisualFoxPro的合法命令组织、编写成命令文件(程序),或利用表单设计器、菜单设计器、报表设计器等程序生成工具来设计程序,然后执行程序,来完成特定的操作任务2.1.3命令使用2.1VisualFoxPro的操作环境1.命令的语法格式说明例如,删除文件的DELETEFILE命令,其语法格式如下:DELETEFILE[FileName|?][RECYCLE]DELETEFILE:命令关键字[]表示该语法成分是命令可选项,若使用可以使命令具有某一功能,如使用RECYCLE则删除的文件放入回收站斜体字部分是由用户定义操作对象或参数,这里的FileName就是用户指定要删除的文件名2.1VisualFoxPro的操作环境2.几个常用命令(1)*和&&命令[功能]:引导注释内容区别:*是将整个命令行定义为注释内容,且必须为命令行的第一个字符,一般用于对下面一段命令的注释或说明程序的功能
&&出现在命令的后面,引导注释内容2.1VisualFoxPro的操作环境(2)?和??命令[功能]:在VFP主窗口中显示表达式的值[语法格式]:?|??Expression1[,Expression2]…[参数含义]:Expression1、Expression2等表示要在主窗口中显示结果的表达式[实例]:*本例注意?和??命令的区别?1+2+3+4+5&&显示1+2+3+4+5表达式的值?1*2*3*4*5&&显示5!的结果??1+2+3+4+5,1*2*3*4*5&&显示多个表达式结果区别:使用?命令时,显示结果在上一次显示内容的下一行显示(即换行显示)
使用??命令时,显示结果在上一次显示内容的后面接着显示(即不换行显示)
(3)CLEAR命令[功能]:用于清除当前VFP主窗口中的信息2.1VisualFoxPro的操作环境(4)DIR命令[功能]:在VFP主窗口中显示文件夹中文件的信息
[语法格式]:DIR[[Path][FileSkeleton]][参数含义]:Path:文件路径,缺省时表示当前路径下FileSkeleton:文件说明(可包含通配符),缺省时显示表文件[实例]:DIR&&显示当前目录中扩展名为.dbf的表文件DIR*.prg&&显示当前目录中扩展名为.prg的文件DIRc:\windows\s*.txt&&显示c盘windows文件夹中以s字符开头的.txt的文件DIRd:\*.*&&在主窗口中显示d盘所有文件(5)MD/RD/CD命令[功能]:MD命令:创建文件夹RD命令:删除文件夹CD命令:改变当前工作目录[语法格式]:MD|RD|CDcPath[参数含义]:cPath:指定一条路径(含驱动器指示符和目录)或目录
[实例]:MDd:\vfp&&在d盘根目录中创建一个名为vfp的文件夹CDd:\vfp&&将默认的工作目录更改为指定的目录MDtsgl&&在d盘vfp文件夹中创建一个名为tsgl文件夹RDtsgl&&删除d盘vfp文件夹中名为tsgl的文件夹2.1VisualFoxPro的操作环境2.1VisualFoxPro的操作环境(6)COPYFILE/RENAME/DELETEFILE命令[功能]:COPYFILE命令:复制文件RENAME命令:重命名文件DELETEFILE命令:删除文件[语法格式]:COPYFILEFileName1TOFileName2RENAMEFileName1TOFileName2DELETEFILE[FileName|?][RECYCLE][参数含义]:FileName1:要复制(重命名)的文件名,可以包含路径和通配符FileName2:复制(重命名)后的文件名,可以包含路径和通配符FileName:要删除的文件名?:打开“打开”对话框选择文件RECYCLE:删除的文件放入回收站2.1VisualFoxPro的操作环境[实例]:COPYFILEc:\windows\s*.*TOd:\vfp&&将某一路径特定类型文件复制到指定路径RENAMEsetuplog.txtTOsetuplog.doc&&将setuplog.txt改名为setuplog.docDELETEFILE*.tmp&&删除所有扩展名为.tmp的文件2.1VisualFoxPro的操作环境(7)RUN命令[功能]:执行程序或应用程序[语法格式]:RUN[/N]ProgramName
[参数含义]:ProgramName
:指定要运行的程序或应用程序
/N:不需要等待该命令执行结束即可以执行另一个应用程序
[实例]:RUNcalc&&运行Windows的“计算器”应用程序RUN/Nnotepad&&运行Windows的“记事本”应用程序(8)QUIT命令[功能]:退出VFP应用程序每条命令必须以命令动词开头一条命令中,各语法成份之间必须用空格隔开,关键字与其后的内容之间也必须用空格分隔命令中的关键字(包括函数)可简写为前4个字符比较长的命令可在行末利用续行符“;”实现换行输入(最后一行不需要分号)命令中必须使用半角状态下的西文标点符号,命令中的英文字符大小写等价输入完命令后按Enter键执行命令2.1VisualFoxPro的操作环境3.命令书写规则2.1VisualFoxPro的操作环境2.1.4配置VisualFoxPro的操作环境可以选择“工具”/“选项”菜单命令,查看和设置系统的操作环境所有设置在下次启动VFP时仍然起作用所有设置只在当前有效,下次启动VFP时不起作用用户也可以通过SET命令对系统操作环境进行临时设置常用的SET命令:SETDEFAULTTO[path]&&设置默认工作目录SETESCAPEON|OFF&&设置是否可以通过按<ESC>键中断程序或命令的运行SETCENTURYON|OFF&&设置日期中是否显示世纪SETDATE[TO]AMERICAN|ANSI|MDY|DMY|YMD|LONG&&设置日期或日期时间的显示格式。。。。。2.1VisualFoxPro的操作环境2.2VisualFoxPro项目管理器扩展名文件类型扩展名文件类型.PJX.PJT项目文件项目备注文件.SCX.SCT表单文件表单备注文件.DBC.DCT.DCX数据库文件数据库备注文件数据库索引文件.VCX.VCT可视类库文件可视类库备注文件.DBF.FPT.CDX表文件表备注文件复合索引文件.FRX.FRT报表文件报表备注文件.QPR.QPX生成的查询程序文件编译后的查询程序文件.MNX.MNT.MPR.MPX菜单文件菜单备注文件生成的菜单程序文件编译后的菜单程序文件.PRG.FXP程序编译后的程序文件.ERR编译错误文件.EXE可执行程序文件2.2.1VisualFoxPro的文件类型
VFP主要文件类型
注意:当用户创建了某一类型的文件后,保存在磁盘上有时是一个文件,有时会同时生成一些相关的文件。2.2
VisualFoxPro项目管理器项目管理器的作用:是VFP中处理数据和对象的主要工具,它是VFP的管理中心。
1.项目文件的创建界面方式:“文件”/“新建”或工具栏“新建”按钮命令方式:CREATEPROJECT[FileName|?]项目文件扩展名:.PJX,.PJT2.2.2项目管理器简介和项目的创建
2.2
VisualFoxPro项目管理器项目管理器窗口折叠/展开按钮命令按钮选项卡项列表2.项目管理器的选项卡
2.2
VisualFoxPro项目管理器1.命令按钮的操作新建、添加、移去、修改…2.“项目”菜单的操作项目信息编辑说明包含/排除设置主文件重命名文件2.2.3使用项目管理器
2.2
VisualFoxPro项目管理器数据是数据库管理系统中运算和处理的基本对象。每一个数据都有一定的数据类型,数据类型决定了数据的存储方式和运算方式。数据类型指的是数据对象的取值集合,以及对之可实施的运算集合。可使用常量、变量(包括内存变量和字段变量)和对象存储数据,这些常量、变量和对象被称为数据存储容器(简称为“数据容器”2.3VisualFoxPro语言基础2.3.1数据类型VisualFoxPro的基本数据类型
类型代码大小表示范围或说明字符型(Character)C每个字符1个字节由字母、汉字、数字、空格、符号等组成,最多为254个字符数值型(Numeric)N在内存中占8字节,在表中占1~20字节-0.9999999999E+19~0.9999999999E+20货币型(Currency)Y8字节-922337203685477.5808~922337203685477.5807日期型(Date)D8字节0001年1月1日~9999年12月31日日期时间型(DateTime)T8字节日期部分的取值范围与日期型数据相同,时间部分的取值范围是00:00:00AM~11:59:59PM逻辑型(Logical)L1字节真(.T.)或假(.F.)浮点型(Float)*F同数值型与数值型相同双精度型(Double)*B8字节+/-4.94065645841247E-324~+/-8.9884656743115E307整型(Integer)*I4字节-2147483647~2147483646备注型(Memo)*M在表中占4字节用于在表中存储字符型数据块,数据块的大小取决于用户实际输入的内容通用型(General)*G在表中占4字节用于在表中存储OLE对象,OLE对象可以是电子表格、字处理文档或图片等2.3VisualFoxPro语言基础2.4VisualFoxPro语言基础以下数据分别属于何种数据类型?{^1968/05/12}“A0001”
$100.35“男”.F.-11.2名称中只能包含字母、下划线“_”、数字符号和汉字符号名称的开头只能是字母、汉字或下划线,不能是数字,并且表的字段名不允许以下划线开头除了自由表的字段名、表的索引标识名至多只能有10个字符外,其余名称的长度可以是1~128个字符应避免使用系统保留字2.3VisualFoxPro语言基础[实例]:以下名称合法:abc、姓名、nsum_cj、_xyz、x1
以下名称不合法或避免使用:2y、2_y
&&不能以数字开头姓名-2011、nsum&cj、nsavg#cj
&&包含了非法字符set、copy&&使用系统保留字2.3.2名称的命名规则1.字符型常量是用定界符括起来的一串字符,定界符可以是单引号、双引号、方括号。[实例]:
?"北京奥运会",'abc',[2008],[古语云:"有志者,事竟成"]执行以上命令之后,在主窗口上的显示结果如下:北京奥运会abc2008古语云:"有志者,事竟成"2.3.3常量2.3VisualFoxPro语言基础关于字符常量的几个注意点:
不能用中文标点符号作为定界符
定界符必须成对出现
空串和包含空格的字符串不同字符串中字母区分大小写如果定界符本身是字符串的内容,必须使用另一种定界符表示字符串有些数据是由数字组成的编码(如工号、学号、邮政编码、电话号码等),它们也作为字符型数据处理
2.3VisualFoxPro语言基础2.数值型常量用于表示数量的大小,由数字0~
9、小数点和正负号构成,例如98、213.34、-32.15等都是数值型常量为了表示很大或很小的数值型常量,也可以用浮点表示法,例如7.584E11表示7.584×1011,2.8E-12表示2.8×10-123.货币型常量货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的美元符号($),例如,$100.35
货币型数据没有浮点表示法,在存储和计算时,采用4位小数,如果一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。例如,货币型常量$679.845862将存储为$679.84592.3VisualFoxPro语言基础4.日期型常量定界符为一对花括号常用的分隔符有斜杠(/)、连字符(-)、句点(.)和空格,其中“/”是系统默认的分隔符
空白的日期常量可表示为{}或{/}或{//}
VFP支持的格式有:严格的日期格式和传统的日期格式2.3VisualFoxPro语言基础严格的日期格式{^yyyy/mm/dd}VFP6.0及其以上的版本使用的默认格式。不受SETDATE等命令设置的影响。传统的日期格式{mm/dd/yy}VFP5.0及其以前的版本使用的默认格式。受SETDATE、SETCENTURY命令影响。默认格式为美国日期格式。是否对严格的日期格式进行检查设置命令:SETSTRICTDATETO0不检查SETSTRICTDATETO1检查2.3VisualFoxPro语言基础2.3VisualFoxPro语言基础[实例]:SETDATETOAMERICAN&&设置日期表达式的表示格式与显示格式为美语SETCENTURYOFF&&显示日期表达式时,用两位数字表示年SETSTRICTDATETO0&&不进行严格的日期格式检查?{^2011/10/01},{10/01/11}&&显示10/01/1110/01/11SETCENTURYON&&显示日期表达式时,用四位数字表示年SETMARKTO"-"&&显示日期表达式时,使用分隔符-SETDATETOYMD&&设置日期表达式的表示格式与显示格式为年月日?{^2011/10/01},{10/01/11}&&显示2011-10-012010-01-115.日期时间型常量日期时间型常量包括日期和时间两部分内容:{日期
时间}日期部分与日期型常量相似,也有传统和严格两种格式时间部分的格式为:hh:[mm[:ss]][a|p],其中hh、mm和ss分别代表时、分和秒,a和p分别表示上午和下午如果指定的时间大于等于12,则系统自动认为下午的时间,例如,2012年3月15日14时32分48秒可以表示为{^2012/03/152:32:48p},也可以表示为{^2012/03/1514:32:48}
空白的日期时间常量可表示为{/:}或{//:}6.逻辑型常量只有逻辑真和逻辑假两个值
表示形式有.T.、.t.、.F.、.f.、.Y.、.y.、.N.、.n.2.3VisualFoxPro语言基础1.内存变量类型变量:在命令操作或程序运行过程中其值允许变化的量变量名:表示变量的标识符变量的值:变量中存储的数据,变量的数据类型由变量值的数据类型决定变量包括内存变量和字段变量内存变量是内存中的一个存储区域,内存变量又可分为简单内存变量、数组和系统内存变量2.3VisualFoxPro语言基础2.3.4内存变量2.简单内存变量简单内存变量也就是用户自定义的内存变量,可以是任何数据类型,并且在任何时候改变它的值。(1)内存变量的创建
不需特别声明,可使用STORE命令或“=”赋值操作符进行赋值。如:STORE123TOx,y等价于如下两条命令:
x=123y=1232.3VisualFoxPro语言基础(2)内容变量的访问若内存变量名和字段名同名,字段具有更高的优先权。若出现这种情况,可以在变量名前加上m.或m->前缀来引用内存变量。[实例]:
x1=98x2=.T.x3={^2011/12/25}xm="王一平"?x1,x2,x3,xm&&显示多个变量时,用逗号隔开store{^2011/12/2506:30:00p}toy1,y2,x3?y1,y2,x3?xm,"的计算机成绩是:"??x1&&不换行,在当前行光标所在处继续显示x1的值2.3VisualFoxPro语言基础3.数组:有序数据的集合,在VFP中数组的每一个元素可以属于不同类型。(1)数组的声明DIMENSION|DECLARE数组名(行数,[列数])[,…]
如:DIMENSIONA(3)DIMENSIONB(2,3)A(1)A(2)A(3)注意:VFP最多可声明二维数组,下标从1开始数组被声明后,赋予默认值.F.B(1,1)B(1,2)B(1,3)B(2,1)B(2,2)B(2,3)B(1)B(5)2.3VisualFoxPro语言基础(2)数组的赋值数组也是一种内存变量,用赋值命令可分别为各数组元素赋值,也可为数组名赋值。[实例]:DIMENSIONA(3),B(2,3),C(3,4)&&定义3个数组A(1)=123&&给数组元素赋值B(2,2)=456&&给数组元素赋值C=789&&给整个数组赋值,每个元素的值相等?A(1),A(2)&&显示数组元素的值,结果为123
.F.?B(5)&&显示数组元素的值,结果为456?C(1,2)&&显示数组元素的值,结果为7892.3VisualFoxPro语言基础4.系统内存变量VFP自身提供的内存变量,名称均以“_”(下划线)开头。5.内存变量的显示、保存与恢复(1)显示内存变量LISTMEMORY和DISPLAYMEMORY命令例如,若要显示所有以字母A开头的内存变量,可执行命令:DISPLAYMEMORYLIKEA*(2)保存内存变量SAVETO命令例如,若要将第3~5个字符为“stu”的所有内存变量保存到mv内存变量文件中,可执行命令:SAVETOmvALLLIKE??stu*(3)恢复内存变量RESTOREFROM命令例如,若要从内存变量文件mv中恢复内存变量,可执行命令:RESTOREFROMmv2.3VisualFoxPro语言基础2.3.5运算符与表达式数值运算符优先级运算符操作含义1()子表达式分组以改变运算顺序(括号中的优先)2**或^乘方运算3*、/、%乘、除、求余运算4+、-加、减运算[实例]:数值表达式的使用?365%7结果:1数学公式b2-4ac的数值表达式为:b^2-4*a*c2.3VisualFoxPro语言基础1.数值运算符与表达式2.字符运算符与表达式2.3VisualFoxPro语言基础字符运算符及表达式运算符表达式操作含义+字符串1+字符串2前后两个字符串首尾连接形成一个新的字符串-字符串1-字符串2将字符串1尾部空格移到字符串2的尾部,然后再连接形成一个新的字符串$字符串1$字符串2若字符串1包含在字符串2之中,其表达式值为.T.,否则为.F.[实例]:字符表达式的使用?"Microsoft"+"Access"结果:"MicrosoftAccess"?"Microsoft"-"Access"结果:"MicrosoftAccess"?"Mic"$"Microsoft"结果:.T.?"mic"$"Microsoft"结果:.F.
2.3VisualFoxPro语言基础3.日期/日期时间运算符与表达式2.3VisualFoxPro语言基础日期/日期时间运算符及表达式运算符表达式操作含义+日期+天数天数+日期其结果是若干天后的某个日期日期时间+秒数秒数+日期时间其结果是若干秒后的某个日期时间-日期-天数其结果是若干天前的某个日期日期1-日期2其结果是两个日期之间相差的天数日期时间-秒数其结果是若干秒前的某个日期时间日期时间1-日期时间2其结果是两个日期时间之间相差的秒数[实例]:日期/日期时间表达式的使用
?{^2011/12/15}+10
结果:{^2011/12/25}
?{^2011/12/1510:30:00a}+600
结果:{^2011/12/1510:40:00a}?{^2011/12/15}-10结果:{^2011/12/05}
?{^2011/12/15}-{^2011/12/01}
结果:14?{^2011/12/1510:30:00a}-600
结果:?{^2011/12/1510:20:00a}
?{^2011/12/1510:30:00a}-{^2011/12/1510:00:00a}
结果:18002.3VisualFoxPro语言基础4.关系运算符与表达式
2.3VisualFoxPro语言基础关系运算符序号运算符操作含义序号运算符操作含义1<小于比较5<=或=<小于等于比较2>大于比较6>=或=>大于等于比较3=等于比较7==字符串精确等于比较4<>或#或!=不等于比较比较两个字符大小时,如"a"和"A"哪个大,取决于字符序列的设置。机器序列:空格<大写字母<小写字母<一级汉字<二级汉字,西文字符是按照ASCII码的值排列的,字母从小到大排列是A、B、C、D、……X、Y、Z、a、b、c、d、……x、y、z
拼音序列:汉字按拼音顺序排序,对于西文字符而言,空格在最前面,字母从小到大排列是a、A、b、B、c、C、d、D、……x、X、y、Y、z、Z笔画序列:汉字按照笔画顺序排序,西文字符的顺序同PinYin序列
2.3VisualFoxPro语言基础[实例]:SETCOLLATETO"Machine"
?"D"<"F","D"<"b","f"<"B",""<"A"
结果:.T..T..F..T.
setcollateto“pinyin”?"D"<"F","D"<"b","f"<"B",""<"A“结果:.T..F..F..T.
2.3VisualFoxPro语言基础5.逻辑运算符与表达式
2.3VisualFoxPro语言基础逻辑运算符优先级运算符操作含义1()子表达式分组以改变运算顺序(括号中的优先)2NOT或!逻辑非,用于取反一个逻辑值3AND逻辑与,用于对两个逻辑值进行“与”操作4OR逻辑或,用于对两个逻辑值进行“或”操作2.3VisualFoxPro语言基础逻辑运算符的运算规则L1L2NOTL1L1ANDL2L1ORL2.T..T..F..T..T..T..F..F..F..T..F..T..T..F..T..F..F..T..F..F.[实例]:?3*2>3+2OR17%2=0AND!"数据库"+"技术"<"数据库"-"应用"
结果:.T.
?(3*2>3+2OR17%2=0)AND!"数据库"+"技术"<"数据库"-"应用"结果:.F.
6.宏替换宏替换的功能是替换出字符型变量的内容。许多命令和函数需要提供操作对象的名称,可以通过“宏替换”替换命令和函数中的名称。在使用宏替换时,将&放在变量前面。[实例]:cvar="南京大学"var_name="cvar"STORE"南京审计学院"TO&var_name&&等价于STORE"南京审计学院"TOcvar?cvar&&显示南京审计学院?"&cvar.是一所财经类大学"&&显示南京审计学院是一所财经类大学2.3VisualFoxPro语言基础2.3.6VisualFoxPro系统函数函数是由函数名、函数参数、函数的返回值三要素组成函数接收一个或多个参数而返回单个值,因此函数可以嵌入一个表达式中函数由VFP6.0系统提供的,称为系统函数(可以直接使用);由用户定义的,称为用户自定义函数(需要先编程实现其功能,然后才可以调用)2.3VisualFoxPro语言基础1.数值运算函数
(1)求绝对值函数ABS()[功能]:返回指定数值表达式的绝对值
[语法格式]:ABS(nExpression)[参数含义]:nExpression:数值表达式[返回值类型]:N[实例]:?ABS(6.8)&&显示6.8?ABS(16-40)&&显示242.3VisualFoxPro语言基础(2)取整函数INT()[功能]:计算一个数值表达式的值,并返回其整数部分
[语法格式]:INT(nExpression)
[参数含义]:nExpression:数值表达式[返回值类型]:N[实例]:?INT(9.32)&&显示9x=-16.27?INT(x),INT(-x),INT(x*2)&&显示-1616-322.3VisualFoxPro语言基础(3)求最大值函数MAX()和最小值函数MIN()
[功能]:MAX()函数返回具有最大值表达式的值MIN()函数返回具有最小值表达式的值[语法格式]:MAX(eExpression1,eExpression2[,eExpression3…])MIN(eExpression1,eExpression2[,eExpression3…])[参数含义]:eExpression1,eExpression2…:所有表达式必须同一数据类型[返回值类型]:参数的数据类型2.3VisualFoxPro语言基础[实例]:STORE70TOn1STORE36TOn2?MAX(35,n1-n2)&&显示35?MIN(35,n1-n2)&&显示34?MAX({^2011/12/11},{^2011/02/12})&&显示12/11/11?MIN("教授","副教授","讲师","助教")&&显示副教授2.3VisualFoxPro语言基础(4)求模函数MOD()[功能]:用一个数值表达式去除另一个数值表达式,返回余数
[语法格式]:MOD(nDividend,nDivisor)
[参数含义]:nDividend:被除数数值表达式nDivisor:除数数值表达式[返回值类型]:N2.3VisualFoxPro语言基础[实例]:?MOD(27,8),MOD(27,-8)&&显示3-5?MOD(-27,8),MOD(-27,-8)&&显示5-3?MOD(25.25,5.0)&&显示0.252.3VisualFoxPro语言基础被除数nDividend中的小数位数决定了返回值中的小数位。除数nDivisor为正数,返回值为正;若nDivisor为负数,返回值为负。如果被除数nDividend与除数nDivisor同号,则返回值为两数相除的余数;如果被除数nDividend与除数nDivisor异号,则返回值为两数相除的余数再加上除数nDivisor的值。
(5)四舍五入函数ROUND()[功能]:返回四舍五入到指定位置的数值表达式的值
[语法格式]:ROUND(nExpression,nDecimalPlaces)
[参数含义]:nExpression:指定要四舍五入的数值表达式
nDecimalPlaces:指定nExpression四舍五入的位置
[返回值类型]:N2.3VisualFoxPro语言基础[实例]:x=2638.457?ROUND(x,2),ROUND(x,0)&&显示2638.462638?ROUND(x,-1),ROUND(x,-2)&&显示26402600
2.3VisualFoxPro语言基础若nDecimalPlaces大于等于0,则它表示的是nExpression要保留的小数位数;若nDecimalPlaces小于0,则返回值在小数点左端包含零的个数为nDecimalPlace的绝对值。
(6)平方根函数SQRT()[功能]:返回指定数值表达式的平方根
[语法格式]:SQRT(nExpression)
[参数含义]:nExpression:指定计算的数值表达式,它不能是负值
[返回值类型]:N[实例]:STORE-100TOx?SQRT(ABS(x))&&显示10.002.3VisualFoxPro语言基础(7)随机函数RAND()
[功能]:返回一个0~1之间的随机数[语法格式]:RAND()返回值类型:N型[实例]:?100*RAND()&&显示一个0到100之间的随机数
2.3VisualFoxPro语言基础2.4VisualFoxPro语言基础2.字符函数(1)空格生成函数SPACE()
[功能]:返回由指定数目的空格构成的字符串
[语法格式]:SPACE(nSpaces)
[参数含义]:nSpaces:空格的数目[返回值类型]:C型[实例]:?"计算机"+SPACE(2)+"等级考试"&&显示计算机等级考试
(2)求字符串长度函数LEN()
[功能]:返回字符表达式的值的长度(字节数)[语法格式]:LEN(cExpression)
[参数含义]:cExpression:字符表达式[返回值类型]:N型[实例]:?LEN("Access"),LEN("数据库管理系统")&&显示614?LEN("计算机"+SPACE(2)+"等级考试")&&显示162.3VisualFoxPro语言基础2.4VisualFoxPro语言基础(3)ALLTRIM()、LTRIM()、RTRIM()、TRIM()函数
[功能]:ALLTRIM()函数删除指定字符表达式的前导和尾部空格符LTRIM()函数删除指定字符表达式的前导空格RTRIM()和TRIM()函数删除指定字符表达式的尾部空格[语法格式]:ALLTRIM(cExpression)LTRIM(cExpression)RTRIM(cExpression)TRIM(cExpression)[参数含义]:cExpression:字符表达式[返回值类型]:C型[实例]:x=SPACE(2)+"FoxPro"+SPACE(4)+"程序设计"+SPACE(3)x1=LTRIM(x)x2=RTRIM(x)x3=TRIM(x)x4=ALLTRIM(x)?LEN(x1),LEN(x2),LEN(x3),LEN(x4)结果:212020182.3VisualFoxPro语言基础(4)取子串函数LEFT()、RIGHT()、SUBSTR()[功能]:SUBSTR()函数是从字符表达式中返回子串LEFT()函数是从字符表达式最左边字符开始返回指定数目的子串RIGHT()函数是从字符表达式最右边字符开始返回指定数目的子串
[语法格式]LEFT(cExpression,nExpression)RIGHT(cExpression,nExpression)SUBSTR(cExpression,nStartPosition[,nCharactersReturned])[参数含义]:cExpression:指定要从其中返回子串的字符表达式
nExpression:指定截取的子串长度
nStartPosition:指定开始截取子串的起始位置
nCharactersReturned:指定截取的子串长度[返回值类型]:C2.3VisualFoxPro语言基础[实例]:x="VisualFoxPro"STORE"数据库程序设计"TOy?LEFT(x,6),LEFT(y,6)&&显示Visual数据库?LEFT(x,18)&&结果为原字符串,显示VisualFoxPro?LEFT(x,0)&&结果为空字串,无显示内容?RIGHT(x,6),RIGHT(y,8)&&显示FoxPro程序设计?RIGHT(y,18)&&结果为原字符串,显示数据库程序设计?RIGHT(x,-2)&&结果为空字串,无显示内容?SUBSTR(x,7,3),SUBSTR(y,1,6)&&显示Fox数据库?SUBSTR(x,7),SUBSTR(y,7,10)&&显示FoxPro程序设计?SUBSTR(x,0,4),SUBSTR(y,7,-2)&&结果为空字串,无显示内容2.3VisualFoxPro语言基础(5)求子串位置函数
[功能]:返回一个字符表达式在另一个字符表达中出现的位置[语法格式]:AT(cSearchExpression,cExpressionSearched[,nOccurrence])
[参数含义]:cSearchExpression:指定搜索的字符表达式cExpressionSearched:指定被搜索的字符表达式
nOccurrence:指定搜索cSearchExpression在ExpressionSearched中的第几次出现,缺省时为1
[返回值类型]:N2.3VisualFoxPro语言基础[实例]:x="数据库管理系统FoxPro是系统软件"?AT("FoxPro",x),AT("foxpro",x)&&显示150?AT("系统",x),AT("系统",x,2)&&显示1123AT()函数区分搜索字符的大小写。如果想不区分搜索字符的大小写,可使用ATC()函数,ATC()函数的其他用法与AT()函数相似。
2.3VisualFoxPro语言基础(6)字符串匹配函数LIKE()
[功能]:确定一个字符表达式是否与另一个字符表达式相匹配
[语法格式]:LIKE(cExpression1,cExpression2)
[参数含义]:cExpression1:指定要与cExpression2相比较的字符表达式cExpression2:字符表达式[返回值类型]:L型[实例]:?LIKE("abc","abcd"),LIKE("ab*","abcd")&&显示.F..T.?LIKE("ab?d","abcd"),LIKE("a%c","abcd")&&显示.T..F.2.3VisualFoxPro语言基础(7)大小写转换函数LOWER()和UPPER()
[功能]:LOWER()函数是将指定字符表达式中的大写字母转换成小写字母
UPPER()函数是将指定字符表达式中的小写字母转换成大写字母
[语法格式]:LOWER(cExpression)UPPER(cExpression)[参数含义]:cExpression:字符表达式[返回值类型]:C?LOWER("AbCdEf123")&&显示abcdef123?UPPER("AbCdEf123")&&显示ABCDEF1232.3VisualFoxPro语言基础3.日期和时间函数(1)日期与时间函数
DATE()、TIME()、DATETIME()
[功能]:DATE()函数返回由操作系统控制的当前系统日期TIME()函数是以24小时制的hh:mm:ss格式返回当前系统时间DATETIME()函数返回当前系统日期时间[语法格式]:DATE()TIME()DATETIME()[返回值类型]:分别为D、C、T2.3VisualFoxPro语言基础[实例]:?DATE()&&显示10/02/11SETCENTURYON&&显示日期表达式时,用四位数字表示年?DATE()&&显示10/02/2011?TIME()&&显示21:37:17?DATETIME()&&显示10/02/201109:39:18PM本例中的命令在不同的日期时间下执行,显示结果是不一样的。
2.3VisualFoxPro语言基础2.4VisualFoxPro语言基础(2)YEAR()、MONTH()、DAY()函数
[功能]:YEAR()函数返回日期表达式或日期时间表达式的年份MONTH()函数返回日期表达式或日期时间表达式的月份DAY()函数返回日期表达式或日期时间表达式是某月中的第几天
[语法格式]:YEAR(dExpression|tExpression)MONTH(dExpression|tExpression)DAY(dExpression|tExpression)[参数含义]:dExpression:日期表达式tExpression
:日期时间表达式返回值类型:N[实例]:STORE{^2011/09/10}TOx?YEAR(x),MONTH(x),DAY(x)&&显示2011910YEAR()返回带世纪的年份,CENTURY的设置(ON或OFF)并不影响此返回值。
2.3VisualFoxPro语言基础(3)DOW()函数[功能]:从日期表达式或日期时间表达式返回该日期是一周的第几天(第一天为星期日)
[语法格式]:DOW(dExpression|tExpression)[参数含义]:dExpression:日期表达式tExpression:日期时间表达式返回值类型:N型[实例]:?DOW(DATE())结果:显示今天是一周的第几天2.3VisualFoxPro语言基础4.数据类型转换函数(1)数值型转换成字符型函数STR()
[功能]:将数值表达式的值转换为字符型数据
[语法格式]:STR(nExpression[,nLength[,nDecimalPlaces]])
[参数含义]:nExpression:指定要转换的数值表达式
nLength
:指定返回的字符串长度
nDecimalPlaces
:指定转换返回的字符串中的小数位数
返回值类型:C2.3VisualFoxPro语言基础[实例]:n=-582.459?STR(n,8,3)&&返回"-582.459"?STR(n,9,3)&&返回"□-582.459"(□代表空格)?STR(n,9,2)&&返回"□□-582.46"?STR(n,6,2)&&返回"-582.5"?STR(n,6)&&返回"□□-582"?STR(n,3)&&返回"***",溢出?STR(n)&&返回"□□□□□□-582"?STR(9876543210321)&&返回"□9.876E+12"2.3VisualFoxPro语言基础关于STR()函数的注意点:如果STR()函数中没有指定返回的字符串长度,默认长度是10,如果指定长度大于字符串长度,填充前导空格返回字符串,如果长度小于字符串长度,返回一串*号如果STR()函数中没有指定返回字符串的小数位数,则不转换小数部分
(2)字符型转换成数值型函数VAL()
[功能]:将含有数字的字符型数据转换成相应的数值型数据
[语法格式]:VAL(cExpression)
[参数含义]:cExpression:指定字符表达式[返回值类型]:N?VAL("123")&&显示123.00?VAL("1e2")&&显示100.00?VAL("-27abc")&&显示-2.00?VAL("stu10")&&显示0.00c="20120248"?VAL(LEFT(c,2))+VAL(RIGHT(c,2))&&显示68.002.3VisualFoxPro语言基础(3)DTOC()和TTOC()函数
[功能]:DTOC()函数是将日期型数据或日期时间型数据的日期部分转换成字符型数据TTOC()函数是将日期时间型数据转换成字符型数据
[语法格式]:DTOC(dExpression|tExpression[,1])TTOC(tExpression[,1])[参数含义]:dExpression:日期表达式tExpression:日期时间表达式1:DTOC()函数以年月日且无分隔符的形式返回字符型数据;TTOC()函数以年月日时分秒且无分隔符的形式返回字符型数据[返回值类型]:C2.3VisualFoxPro语言基础[实例]:d={^2011/10/12}t={^2011/08/2004:20:38p}SETDATETOAMERICAN&&设置日期格式为美语SETCENTURYOFF&&显示日期表达式时,用两位数字表示年SETHOURSTO12&&将系统时间设置为12小时时间格式?DTOC(d),DTOC(d,1)&&显示10/12/1120111012?TTOC(t)&&显示08/20/1104:20:38PM?TTOC(t,1)&&显示20110820162038SETDATETOYMD&&设置日期格式为年月日SETCENTURYON&&显示日期表达式时,用四位数字表示年SETHOURSTO24&&将系统时间设置为24小时时间格式?DTOC(d),DTOC(d,1)&&显示2011/10/1220111012?TTOC(t)&&显示2011/08/2016:20:38?TTOC(t,1)&&显示201108201620382.3VisualFoxPro语言基础(4)CTOD()和CTOT()函数
[功能]:CTOD()函数的功能是将字符型数据转换成日期型数据CTOT()函数的功能是将字符型数据转换成日期时间型数据
[语法格式]:CTOD(cExpression)CTOT(cExpression)
[参数含义]:cExpression:字符表达式[返回值类型]:分别为D、T2.3VisualFoxPro语言基础[实例]:SETDATETOYMD&&设置日期格式为年月日SETCENTURYOFF&&显示日期表达式时,用两位数字表示年SETHOURSTO12&&将系统时间设置为12小时时间格式d="2011/08/05"t="2011/08/0514:30:00"?CTOD(d)+20&&显示11/08/25?CTOT(t)+3600&&显示11/08/0503:30:00PM字符表达式的日期部分格式要与系统设置的日期格式一致,其中的年份可以用四位,也可以用两位。
2.3VisualFoxPro语言基础(5)字符转换成ASCII码值函数ASC()
[功能]:返回字符表达式值中最左边字符的ASCII码值
[语法格式]:ASC(cExpression)
[参数含义]:cExpression:字符表达式返回值类型:N[实例]:?ASC("FoxPro")结果:702.3VisualFoxPro语言基础(6)ASCII码值转换成字符函数CHR()
[功能]:将数值表达式的值作为ASCII码值,返回对应的字符[语法格式]:CHR(nExpression)
[参数含义]:nExpression:数值表达式返回值类型:C[实例]:?CHR(97)结果:"a"2.3VisualFoxPro语言基础5.其他常用函数(1)BETWEEN()函数
[功能]:判断一个表达式的值是否在另外两个相同数据类型的表达式的值之间
[语法格式]:BETWEEN(eTestValue,eLowValue,eHighValue)
[参数含义]:eTestValue:指定测试的表达式
eLowValue:指定范围的下界eHighValue:指定范围的上界[返回值]:L[实例]:?BETWEEN(25,12,60),BETWEEN(25,0,20)&&显示.T..F.?BETWEEN("H","D","K")&&显示.T.2.3VisualFoxPro语言基础(2)条件测试函数IIF()
[功能]:根据逻辑表达式的值,返回两个值中的某一个
[语法格式]:IIF(lExpression,eExpression1,eExpression2)
[参数含义]:lExpression:逻辑表达式
eExpression1:表达式1,若lExpression为.T.,返回eExpression1eExpression2:表达式2,若lExpression为.F.,返回eExpression2[实例]:x=85?IIF(x>=60,“及格”,“不及格”)&&显示及格?IIF(x<60,"不及格",IIF(x>=80,"优秀","及格"))&&显示优秀2.3VisualFoxPro语言基础(3)数据类型测试函数TYPE()[功能]:返回字符表达式内容的数据类型[语法格式]:TYPE(cExpression)[参数含义]:cExpression:指定一个字符表达式,TYPE()函数将对其内容求值,并返回适当的数据类型[返回值类型]:C[实例]:?TYPE("123"),TYPE("[123]")&&显示NC?TYPE("$123"),TYPE("DATE()")&&显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发外包合同免责条款
- 医疗器械使用风险告知及免责合同
- 家具安装工合同协议书
- 物联网+智慧城市项目投资合同
- 无锡全日制劳动合同
- 药店装修施工合同
- 高新技术转让合作合同
- 电子商务平台入驻及推广服务合同
- 装修地暖施工合同
- 浙江工业大学《药用植物栽培学》2023-2024学年第二学期期末试卷
- 2024年度-工程造价培训课件全新
- 高中学校工会工作制度
- 人教版(2019) 必修第二册 Unit 1 Cultural Heritage Discovering Useful Structures(教案)
- 电气控制与PLC课程说课王金莉-长春光华学院电气信息学院
- 《积极心理学(第3版)》 课件 第10章 感恩
- 2024年人教版初三数学(下册)模拟试卷及答案(各版本)
- 2024年工业废水处理工(技师)技能鉴定理论考试题库-上(单选题)
- 医院CT机房装饰改造工程施工组织设计
- 基坑监测总结报告
- 2024年华师大版九年级数学下册全册教案
- 合肥市庐阳区双岗街道社区工作者招聘考试试题及答案2024
评论
0/150
提交评论