




已阅读5页,还剩90页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.1 Visual FoxPro的操作环境,第2章 Visual FoxPro数据库管理系统概述,2.2 Visual FoxPro项目管理器,2.3 Visual FoxPro语言基础,2.4 小型案例实训,教学目的与要求,熟悉VFP的操作环境,掌握项目管理器的使用,掌握数据类型和数据存储容器(常量、变量),掌握各种数据类型的运算符、表达式,掌握常用系统函数的使用,掌握NULL值的处理方法,2.1 Visual FoxPro的操作环境,2.1.1 Visual FoxPro操作界面,菜单栏,工具栏,状态栏,命令窗口,主窗口,标题栏,2.1.2 Visual FoxPro的工作方式,2.1 Visual FoxPro的操作环境,命令工作方式:通过在“命令”窗口中输入合法的Visual FoxPro命令来完成各种操作 可视化工作方式:通过菜单、工具栏及系统提供的向导、设计器、生成器等工具进行可视化操作 程序工作方式:通过把Visual FoxPro的合法命令组织、编写成命令文件(程序),或利用表单设计器、菜单设计器、报表设计器等程序生成工具来设计程序,然后执行程序,来完成特定的操作任务,2.1.3 命令使用,2.1 Visual FoxPro的操作环境,1.命令的语法格式说明,例如,删除文件的DELETE FILE 命令,其语法格式如下: DELETE FILE FileName|? RECYCLE,DELETE FILE:命令关键字 表示该语法成分是命令可选项,若使用可以使命令具有某一功能,如使用RECYCLE则删除的文件放入回收站 斜体字部分是由用户定义操作对象或参数,这里的FileName就是用户指定要删除的文件名,2.1 Visual FoxPro的操作环境,2.几个常用命令,(1)*和&命令 功能:引导注释内容,区别: *是将整个命令行定义为注释内容,且必须为命令行的第一个字符,一般用于对下面一段命令的注释或说明程序的功能 &出现在命令的后面,引导注释内容,2.1 Visual FoxPro的操作环境,(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.1 Visual FoxPro的操作环境,(4)DIR命令 功能:在VFP主窗口中显示文件夹中文件的信息 语法格式:DIR PathFileSkeleton 参数含义: Path:文件路径,缺省时表示当前路径下 FileSkeleton:文件说明(可包含通配符),缺省时显示表文件 实例: DIR &显示当前目录中扩展名为.dbf的表文件 DIR *.prg &显示当前目录中扩展名为.prg的文件 DIR c:windowss*.txt &显示c盘windows文件夹中以s字符开头的.txt的文件 DIR d:*.* &在主窗口中显示d盘所有文件,(5)MD/RD/CD命令 功能: MD命令:创建文件夹 RD命令:删除文件夹 CD命令:改变当前工作目录 语法格式:MD|RD|CD cPath 参数含义: cPath:指定一条路径(含驱动器指示符和目录)或目录 实例: MD d:vfp &在d盘根目录中创建一个名为vfp的文件夹 CD d:vfp &将默认的工作目录更改为指定的目录 MD tsgl &在d盘vfp文件夹中创建一个名为tsgl文件夹 RD tsgl &删除d盘vfp文件夹中名为tsgl的文件夹,2.1 Visual FoxPro的操作环境,2.1 Visual FoxPro的操作环境,(6)COPY FILE/RENAME/DELETE FILE命令 功能: COPY FILE命令:复制文件 RENAME命令:重命名文件 DELETE FILE命令:删除文件 语法格式: COPY FILE FileName1 TO FileName2 RENAME FileName1 TO FileName2 DELETE FILE FileName|?RECYCLE,参数含义: FileName1:要复制(重命名)的文件名,可以包含路径和通配符 FileName2:复制(重命名)后的文件名,可以包含路径和通配符 FileName:要删除的文件名 ?:打开“打开”对话框选择文件 RECYCLE:删除的文件放入回收站,2.1 Visual FoxPro的操作环境,实例: COPY FILE c:windowss*.* TO d:vfp &将某一路径特定类型文件复制到指定路径 RENAME setuplog.txt TO setuplog.doc &将setuplog.txt改名为setuplog.doc DELETE FILE *.tmp &删除所有扩展名为.tmp的文件,2.1 Visual FoxPro的操作环境,(7)RUN命令 功能:执行程序或应用程序 语法格式:RUN /N ProgramName 参数含义: ProgramName :指定要运行的程序或应用程序 /N:不需要等待该命令执行结束即可以执行另一个应用程序 实例: RUN calc &运行Windows的“计算器”应用程序 RUN /N notepad &运行Windows的“记事本”应用程序,(8)QUIT命令 功能:退出VFP应用程序,每条命令必须以命令动词开头 一条命令中,各语法成份之间必须用空格隔开,关键字与其后的内容之间也必须用空格分隔 命令中的关键字(包括函数)可简写为前4个字符 比较长的命令可在行末利用续行符“;”实现换行输入(最后一行不需要分号) 命令中必须使用半角状态下的西文标点符号,命令中的英文字符大小写等价 输入完命令后按Enter键执行命令,2.1 Visual FoxPro的操作环境,3.命令书写规则,2.1 Visual FoxPro的操作环境,2.1.4 配置Visual FoxPro的操作环境,可以选择“工具”/“选项”菜单命令,查看和设置系统的操作环境,所有设置在下次启动VFP时仍然起作用,所有设置只在当前有效,下次启动VFP时不起作用,用户也可以通过SET命令对系统操作环境进行临时设置 常用的SET命令: SET DEFAULT TO path &设置默认工作目录 SET ESCAPE ON|OFF &设置是否可以通过按键中断程序或命令的运行 SET CENTURY ON|OFF &设置日期中是否显示世纪 SET DATE TO AMERICAN|ANSI|MDY|DMY|YMD|LONG &设置日期或日期时间的显示格式 。,2.1 Visual FoxPro的操作环境,2.2 Visual FoxPro项目管理器,2.2.1 Visual FoxPro的文件类型,VFP主要文件类型,注意:当用户创建了某一类型的文件后,保存在磁盘上有时是一个文件,有时会同时生成一些相关的文件。,2.2 Visual FoxPro项目管理器,项目管理器的作用:是VFP中处理数据和对象的主要工具,它是VFP的管理中心。,1.项目文件的创建 界面方式:“文件”“新建”或工具栏“新建”按钮 命令方式:CREATE PROJECT FileName|?,项目文件扩展名:.PJX ,.PJT,2.2.2 项目管理器简介和项目的创建,2.2 Visual FoxPro项目管理器,项目管理器窗口,折叠/展开 按钮,命令按钮,选项卡,项列表,2.项目管理器的选项卡,2.2 Visual FoxPro项目管理器,1.命令按钮的操作 新建、添加、移去、修改 2.“项目”菜单的操作 项目信息 编辑说明 包含/排除 设置主文件 重命名文件,2.2.3 使用项目管理器,2.2 Visual FoxPro项目管理器,数据是数据库管理系统中运算和处理的基本对象。每一个数据都有一定的数据类型,数据类型决定了数据的存储方式和运算方式。 数据类型指的是数据对象的取值集合,以及对之可实施的运算集合。 可使用常量、变量(包括内存变量和字段变量)和对象存储数据,这些常量、变量和对象被称为数据存储容器 (简称为“数据容器”,2.3 Visual FoxPro语言基础,2.3.1 数据类型,Visual FoxPro的基本数据类型,2.3 Visual FoxPro语言基础,2. Visual FoxPro语言基础,以下数据分别属于何种数据类型? 1968/05/12 “A0001” $100.35 “男” .F. -11.2,名称中只能包含字母、下划线“_”、数字符号和汉字符号 名称的开头只能是字母、汉字或下划线,不能是数字,并且表的字段名不允许以下划线开头 除了自由表的字段名、表的索引标识名至多只能有10个字符外,其余名称的长度可以是1128个字符 应避免使用系统保留字,2.3 Visual FoxPro语言基础,实例: 以下名称合法:abc、姓名、nsum_cj、_xyz、x1 以下名称不合法或避免使用: 2y、2_y &不能以数字开头 姓名-2011、nsum&cj、nsavg#cj &包含了非法字符 set、copy &使用系统保留字,2.3.2 名称的命名规则,1.字符型常量 是用定界符括起来的一串字符,定界符可以是单引号、双引号、方括号。,实例: ?“北京奥运会“,abc,2008,古语云:“有志者,事竟成“ 执行以上命令之后,在主窗口上的显示结果如下: 北京奥运会 abc 2008 古语云:“有志者,事竟成“,2.3.3 常量,2.3 Visual FoxPro语言基础,关于字符常量的几个注意点: 不能用中文标点符号作为定界符 定界符必须成对出现 空串和包含空格的字符串不同 字符串中字母区分大小写 如果定界符本身是字符串的内容,必须使用另一种定界符表示字符串 有些数据是由数字组成的编码(如工号、学号、邮政编码、电话号码等),它们也作为字符型数据处理,2.3 Visual FoxPro语言基础,2.数值型常量 用于表示数量的大小,由数字0 9、小数点和正负号构成,例如98、213.34、-32.15等都是数值型常量 为了表示很大或很小的数值型常量,也可以用浮点表示法,例如7.584E11表示7.5841011,2.8 E-12表示2.810-12,3.货币型常量 货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的美元符号($),例如,$100.35 货币型数据没有浮点表示法,在存储和计算时,采用4位小数,如果一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。例如,货币型常量$679.845862将存储为$679.8459,2.3 Visual FoxPro语言基础,4.日期型常量 定界符为一对花括号 常用的分隔符有斜杠(/)、连字符(-)、句点(.)和空格,其中“/”是系统默认的分隔符 空白的日期常量可表示为或/或/ VFP支持的格式有:严格的日期格式和传统的日期格式,2.3 Visual FoxPro语言基础,严格的日期格式 yyyy/mm/dd VFP6.0及其以上的版本使用的默认格式。不受SET DATE等命令设置的影响。 传统的日期格式 mm/dd/yy VFP5.0及其以前的版本使用的默认格式。受SET DATE、SET CENTURY命令影响。默认格式为美国日期格式。,是否对严格的日期格式进行检查 设置命令: SET STRICTDATE TO 0 不检查 SET STRICTDATE TO 1 检查,2.3 Visual FoxPro语言基础,2.3 Visual FoxPro语言基础,实例: SET DATE TO AMERICAN &设置日期表达式的表示格式与显示格式为美语 SET CENTURY OFF &显示日期表达式时,用两位数字表示年 SET STRICTDATE TO 0 &不进行严格的日期格式检查 ? 2011/10/01,10/01/11 &显示10/01/11 10/01/11 SET CENTURY ON &显示日期表达式时,用四位数字表示年 SET MARK TO “-“ &显示日期表达式时,使用分隔符- SET DATE TO YMD &设置日期表达式的表示格式与显示格式为年月日 ? 2011/10/01,10/01/11 &显示2011-10-01 2010-01-11,5.日期时间型常量 日期时间型常量包括日期和时间两部分内容:日期 时间 日期部分与日期型常量相似,也有传统和严格两种格式 时间部分的格式为:hh:mm:ssa|p,其中hh、mm和ss分别代表时、分和秒,a和p分别表示上午和下午 如果指定的时间大于等于12,则系统自动认为下午的时间,例如,2012年3月15日14时32分48秒可以表示为2012/03/15 2:32:48 p,也可以表示为2012/03/15 14:32:48 空白的日期时间常量可表示为/:或/:,6.逻辑型常量 只有逻辑真和逻辑假两个值 表示形式有.T.、.t.、.F.、.f.、.Y.、.y.、.N.、.n.,2.3 Visual FoxPro语言基础,1.内存变量类型 变量:在命令操作或程序运行过程中其值允许变化的量 变量名:表示变量的标识符 变量的值:变量中存储的数据,变量的数据类型由变量值的数据类型决定 变量包括内存变量和字段变量 内存变量是内存中的一个存储区域,内存变量又可分为简单内存变量、数组和系统内存变量,2.3 Visual FoxPro语言基础,2.3.4 内存变量,2.简单内存变量 简单内存变量也就是用户自定义的内存变量,可以是任何数据类型,并且在任何时候改变它的值。 (1)内存变量的创建 不需特别声明,可使用STORE命令或“=”赋值操作符进行赋值。 如:STORE 123 TO x,y 等价于如下两条命令: x=123 y=123,2.3 Visual FoxPro语言基础,(2)内容变量的访问 若内存变量名和字段名同名,字段具有更高的优先权。若出现这种情况,可以在变量名前加上m.或m-前缀来引用内存变量。 实例: x1=98 x2=.T. x3=2011/12/25 xm=“王一平“ ?x1,x2,x3,xm &显示多个变量时,用逗号隔开 store 2011/12/25 06:30:00 p to y1,y2,x3 ?y1,y2,x3 ?xm,“的计算机成绩是:“ ?x1 &不换行,在当前行光标所在处继续显示x1的值,2.3 Visual FoxPro语言基础,3.数组: 有序数据的集合,在VFP中数组的每一个元素可以属于不同类型。 (1)数组的声明 DIMENSION | DECLARE 数组名(行数,列数), 如:DIMENSION A(3) DIMENSION B(2,3),注意: VFP最多可声明二维数组,下标从1开始 数组被声明后,赋予默认值.F.,B(1),B(5),2.3 Visual FoxPro语言基础,(2)数组的赋值 数组也是一种内存变量,用赋值命令可分别为各数组元素赋值,也可为数组名赋值。 实例: DIMENSION A(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) &显示数组元素的值,结果为789,2.3 Visual FoxPro语言基础,4.系统内存变量 VFP自身提供的内存变量,名称均以“_”(下划线)开头。 5.内存变量的显示、保存与恢复 (1)显示内存变量LIST MEMORY和DISPLAY MEMORY命令 例如,若要显示所有以字母A开头的内存变量,可执行命令:DISPLAY MEMORY LIKE A* (2)保存内存变量SAVE TO命令 例如,若要将第35个字符为“stu”的所有内存变量保存到mv内存变量文件中,可执行命令:SAVE TO mv ALL LIKE ?stu* (3)恢复内存变量RESTORE FROM命令 例如,若要从内存变量文件mv中恢复内存变量,可执行命令:RESTORE FROM mv,2.3 Visual FoxPro语言基础,2.3.5 运算符与表达式,数值运算符,实例:数值表达式的使用 ?365%7 结果:1 数学公式b2-4ac的数值表达式为:b2-4*a*c,2.3 Visual FoxPro语言基础,1.数值运算符与表达式,2.字符运算符与表达式,2.3 Visual FoxPro语言基础,字符运算符及表达式,实例:字符表达式的使用 ?“Microsoft “+“Access“ 结果:“Microsoft Access“ ?“Microsoft “-“Access“ 结果:“MicrosoftAccess “ ?“Mic“$“Microsoft“ 结果:.T. ?“mic“$“Microsoft“ 结果:.F.,2.3 Visual FoxPro语言基础,3.日期/日期时间运算符与表达式,2.3 Visual FoxPro语言基础,日期/日期时间运算符及表达式,实例:日期/日期时间表达式的使用 ?2011/12/15+10 结果:2011/12/25 ?2011/12/15 10:30:00 a+600 结果:2011/12/15 10:40:00 a ?2011/12/15-10 结果:2011/12/05 ?2011/12/15-2011/12/01 结果:14 ?2011/12/15 10:30:00 a-600 结果:?2011/12/15 10:20:00 a ?2011/12/15 10:30:00 a-2011/12/15 10:00:00 a 结果:1800,2.3 Visual FoxPro语言基础,4.关系运算符与表达式,2.3 Visual FoxPro语言基础,关系运算符,比较两个字符大小时,如“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.3 Visual FoxPro语言基础,实例: SET COLLATE TO “Machine“ ?“D“F“,“D“b“,“f“B“,“ “A“ 结果: .T. .T. .F. .T. set collate to “pinyin” ?“D“F“,“D“b“,“f“B“,“ “A“ 结果: .T. .F. .F. .T.,2.3 Visual FoxPro语言基础,5.逻辑运算符与表达式,2.3 Visual FoxPro语言基础,逻辑运算符,2.3 Visual FoxPro语言基础,逻辑运算符的运算规则,实例: ?3*23+2 OR 17%2=0 AND !“数据库“+“技术“3+2 OR 17%2=0) AND !“数据库“+“技术“数据库“-“应用“ 结果: .F.,6.宏替换 宏替换的功能是替换出字符型变量的内容。许多命令和函数需要提供操作对象的名称,可以通过“宏替换”替换命令和函数中的名称。 在使用宏替换时,将&放在变量前面。 实例: cvar=“南京大学“ var_name=“cvar“ STORE “南京审计学院“ TO &var_name &等价于STORE “南京审计学院“ TO cvar ?cvar &显示南京审计学院 ?“&cvar.是一所财经类大学“ &显示南京审计学院是一所财经类大学,2.3 Visual FoxPro语言基础,2.3.6 Visual FoxPro系统函数,函数是由函数名、函数参数、函数的返回值三要素组成 函数接收一个或多个参数而返回单个值,因此函数可以嵌入一个表达式中 函数由VFP 6.0系统提供的,称为系统函数(可以直接使用);由用户定义的,称为用户自定义函数(需要先编程实现其功能,然后才可以调用),2.3 Visual FoxPro语言基础,1.数值运算函数 (1)求绝对值函数ABS( ) 功能:返回指定数值表达式的绝对值 语法格式:ABS(nExpression) 参数含义: nExpression:数值表达式 返回值类型:N 实例: ?ABS(6.8) &显示6.8 ?ABS(16-40) &显示24,2.3 Visual FoxPro语言基础,(2)取整函数INT( ) 功能:计算一个数值表达式的值,并返回其整数部分 语法格式:INT(nExpression) 参数含义: nExpression:数值表达式 返回值类型:N 实例: ?INT(9.32) &显示9 x=-16.27 ?INT(x),INT(-x),INT(x*2) &显示-16 16 -32,2.3 Visual FoxPro语言基础,(3)求最大值函数MAX( )和最小值函数MIN( ) 功能: MAX( )函数返回具有最大值表达式的值 MIN( )函数返回具有最小值表达式的值 语法格式: MAX(eExpression1,eExpression2,eExpression3) MIN(eExpression1,eExpression2,eExpression3) 参数含义: eExpression1,eExpression2:所有表达式必须同一数据类型 返回值类型:参数的数据类型,2.3 Visual FoxPro语言基础,实例: STORE 70 TO n1 STORE 36 TO n2 ?MAX(35,n1-n2) &显示35 ?MIN(35,n1-n2) &显示34 ?MAX(2011/12/11,2011/02/12) &显示12/11/11 ?MIN(“教授“,“副教授“,“讲师“,“助教“) &显示副教授,2.3 Visual FoxPro语言基础,(4)求模函数MOD( ) 功能:用一个数值表达式去除另一个数值表达式,返回余数 语法格式:MOD(nDividend,nDivisor) 参数含义: nDividend:被除数数值表达式 nDivisor:除数数值表达式 返回值类型:N,2.3 Visual FoxPro语言基础,实例: ?MOD(27,8),MOD(27,-8) &显示3 -5 ?MOD(-27,8),MOD(-27,-8) &显示5 -3 ?MOD(25.25,5.0) &显示0.25,2.3 Visual FoxPro语言基础,被除数nDividend中的小数位数决定了返回值中的小数位。除数nDivisor为正数,返回值为正;若nDivisor为负数,返回值为负。如果被除数nDividend与除数nDivisor同号,则返回值为两数相除的余数;如果被除数nDividend与除数nDivisor异号,则返回值为两数相除的余数再加上除数nDivisor的值。,(5)四舍五入函数ROUND( ) 功能:返回四舍五入到指定位置的数值表达式的值 语法格式:ROUND(nExpression,nDecimalPlaces) 参数含义: nExpression:指定要四舍五入的数值表达式 nDecimalPlaces:指定nExpression四舍五入的位置 返回值类型:N,2.3 Visual FoxPro语言基础,实例: x=2638.457 ?ROUND(x,2),ROUND(x,0) &显示2638.46 2638 ?ROUND(x,-1),ROUND(x,-2) &显示2640 2600,2.3 Visual FoxPro语言基础,若nDecimalPlaces大于等于0,则它表示的是nExpression要保留的小数位数;若nDecimalPlaces小于0,则返回值在小数点左端包含零的个数为nDecimalPlace的绝对值。,(6)平方根函数SQRT( ) 功能:返回指定数值表达式的平方根 语法格式:SQRT(nExpression) 参数含义: nExpression:指定计算的数值表达式,它不能是负值 返回值类型:N 实例: STORE -100 TO x ?SQRT(ABS(x) &显示10.00,2.3 Visual FoxPro语言基础,(7)随机函数RAND( ) 功能:返回一个01之间的随机数 语法格式:RAND( ) 返回值类型: N型 实例: ?100*RAND( ) &显示一个0到100之间的随机数,2.3 Visual FoxPro语言基础,2. Visual FoxPro语言基础,2.字符函数 (1)空格生成函数SPACE( ) 功能:返回由指定数目的空格构成的字符串 语法格式:SPACE(nSpaces) 参数含义: nSpaces:空格的数目 返回值类型:C型 实例: ?“计算机“+SPACE(2)+“等级考试“ &显示计算机 等级考试,(2)求字符串长度函数LEN( ) 功能:返回字符表达式的值的长度(字节数) 语法格式:LEN(cExpression) 参数含义: cExpression:字符表达式 返回值类型:N型 实例: ?LEN(“Access“),LEN(“数据库管理系统“) &显示6 14 ?LEN(“计算机“+SPACE(2)+“等级考试“) &显示16,2.3 Visual FoxPro语言基础,2. Visual FoxPro语言基础,(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) 结果:21 20 20 18,2.3 Visual FoxPro语言基础,(4)取子串函数LEFT( )、RIGHT( )、SUBSTR( ) 功能: SUBSTR( )函数是从字符表达式中返回子串 LEFT( )函数是从字符表达式最左边字符开始返回指定数目的子串 RIGHT( )函数是从字符表达式最右边字符开始返回指定数目的子串 语法格式 LEFT(cExpression,nExpression) RIGHT(cExpression,nExpression) SUBSTR(cExpression,nStartPosition,nCharactersReturned) 参数含义: cExpression:指定要从其中返回子串的字符表达式 nExpression:指定截取的子串长度 nStartPosition:指定开始截取子串的起始位置 nCharactersReturned:指定截取的子串长度 返回值类型:C,2.3 Visual FoxPro语言基础,实例: x=“VisualFoxPro“ STORE “数据库程序设计“ TO y ?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.3 Visual FoxPro语言基础,(5)求子串位置函数 功能:返回一个字符表达式在另一个字符表达中出现的位置 语法格式: AT(cSearchExpression,cExpressionSearched,nOccurrence) 参数含义: cSearchExpression:指定搜索的字符表达式 cExpressionSearched:指定被搜索的字符表达式 nOccurrence:指定搜索cSearchExpression在ExpressionSearched中的第几次出现,缺省时为1 返回值类型:N,2.3 Visual FoxPro语言基础,实例: x=“数据库管理系统FoxPro是系统软件“ ?AT(“FoxPro“,x),AT(“foxpro“,x) &显示15 0 ?AT(“系统“,x),AT(“系统“,x,2) &显示11 23,AT( )函数区分搜索字符的大小写。如果想不区分搜索字符的大小写,可使用ATC( ) 函数,ATC( )函数的其他用法与AT( )函数相似。,2.3 Visual FoxPro语言基础,(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.3 Visual FoxPro语言基础,(7)大小写转换函数LOWER( )和UPPER( ) 功能: LOWER( )函数是将指定字符表达式中的大写字母转换成小写字母 UPPER( )函数是将指定字符表达式中的小写字母转换成大写字母 语法格式: LOWER(cExpression) UPPER(cExpression) 参数含义: cExpression:字符表达式 返回值类型:C ?LOWER(“AbCdEf123“) &显示abcdef123 ?UPPER(“AbCdEf123“) &显示ABCDEF123,2.3 Visual FoxPro语言基础,3.日期和时间函数 (1)日期与时间函数 DATE( )、TIME( )、DATETIME( ) 功能: DATE( )函数返回由操作系统控制的当前系统日期 TIME( )函数是以24小时制的hh:mm:ss格式返回当前系统时间 DATETIME( )函数返回当前系统日期时间 语法格式: DATE( ) TIME( ) DATETIME( ) 返回值类型:分别为D、C、T,2.3 Visual FoxPro语言基础,实例: ?DATE( ) &显示10/02/11 SET CENTURY ON &显示日期表达式时,用四位数字表示年 ?DATE( ) &显示10/02/2011 ?TIME( ) &显示21:37:17 ?DATETIME( ) &显示10/02/2011 09:39:18 PM,本例中的命令在不同的日期时间下执行,显示结果是不一样的。,2.3 Visual FoxPro语言基础,2. Visual FoxPro语言基础,(2)YEAR( )、MONTH( )、DAY( )函数 功能: YEAR( )函数返回日期表达式或日期时间表达式的年份 MONTH( )函数返回日期表达式或日期时间表达式的月份 DAY( )函数返回日期表达式或日期时间表达式是某月中的第几天 语法格式: YEAR(dExpression | tExpression) MONTH(dExpression | tExpression) DAY(dExpression | tExpression) 参数含义: dExpression:日期表达式 tExpression :日期时间表达式 返回值类型: N,实例: STORE 2011/09/10 TO x ?YEAR(x),MONTH(x),DAY(x) &显示2011 9 10,YEAR( )返回带世纪的年份,CENTURY的设置(ON或OFF)并不影响此返回值。,2.3 Visual FoxPro语言基础,(3)DOW( )函数 功能:从日期表达式或日期时间表达式返回该日期是一周的第几天(第一天为星期日) 语法格式:DOW(dExpression | tExpression) 参数含义: dExpression:日期表达式 tExpression:日期时间表达式 返回值类型:N型 实例: ?DOW(DATE() 结果:显示今天是一周的第几天,2.3 Visual FoxPro语言基础,4.数据类型转换函数 (1)数值型转换成字符型函数STR( ) 功能:将数值表达式的值转换为字符型数据 语法格式:STR(nExpression,nLength,nDecimalPlaces) 参数含义: nExpression:指定要转换的数值表达式 nLength :指定返回的字符串长度 nDecimalPlaces :指定转换返回的字符串中的小数位数 返回值类型:C,2.3 Visual FoxPro语言基础,实例: 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.3 Visual FoxPro语言基础,关于STR()函数的注意点: 如果STR()函数中没有指定返回的字符串长度,默认长度是10,如果指定长度大于字符串长度,填充前导空格返回字符串,如果长度小于字符串长度,返回一串*号 如果STR()函数中没有指定返回字符串的小数位数,则不转换小数部分,(2)字符型转换成数值型函数VAL( ) 功能:将含有数字的字符型数据转换成相应的数值型数据 语法格式:VAL(cExpression) 参数含义: cExpression:指定字符表达式 返回值类型:N ?VAL(“ 123“) &显示123.00 ?VAL(“1e2“) &显示100.00 ?VAL(“-2 7abc“) &显示-2.00 ?VAL(“stu10“) &显示0.00 c=“20120248“ ?VAL(LEFT(c,2)+VAL(RIGHT(c,2) &显示68.00,2.3 Visual FoxPro语言基础,(3)DTOC( )和TTOC( )函数 功能: DTOC( )函数是将日期型数据或日期时间型数据的日期部分转换成字符型数据 TTOC( )函数是将日期时间型数据转换成字符型数据 语法格式: DTOC(dExpression | tExpression,1) TTOC(tExpression,1) 参数含义: dExpression:日期表达式 tExpression:日期时间表达式 1:DTOC( )函数以年月日且无分隔符的形式返回字符型数据;TTOC( )函数以年月日时分秒且无分隔符的形式返回字符型数据 返回值类型:C,2.3 Visual FoxPro语言基础,实例: d=2011/10/12 t=2011/08/20 04:20:38 p SET DATE TO AMERICAN &设置日期格式为美语 SET CENTURY OFF &显示日期表达式时,用两位数字表示年 SET HOURS TO 12 &将系统时间设置为12小时时间格式 ?DTOC(d),DTOC(d,1) &显示10/12/11 20111012 ?TTOC(t) &显示08/20/11 04:20:38 PM ?TTOC(t,1) &显示20110820162038 SET DATE TO YMD &设置日期格式为年月日 SET CENTURY ON &显示日期表达式时,用四位数字表示年 SET HOURS TO 24 &将系统时间设置为24小时时间格式 ?DTOC(d),DTOC(d,1) &显示2011/10/12 20111012 ?TTOC(t) &显示2011/08/20 16:20:38 ?TTOC(t,1) &显示20110820162038,2.3 Visual FoxPro语言基础,(4)CTOD( )和CTOT( )函数 功能: CTOD( )函数的功能是将字符型数据转换成日期型数据 CTOT( )函数的功能是将字符型数据转换成日期时间型数据 语法格式: CTOD(cExpression) CTOT(cExpression) 参数含义: cExpression:字符表达式 返回值类型:分别为D、T,2.3 Visual FoxPro语言基础,实例: SET DATE TO YMD &设置日期格式为年月日 SET CENTURY OFF &显示日期表达式时,用两位数字表示年 SET HOURS TO 12 &将系统时间设置为12小时时间格式 d=“2011/08/05“ t=“2011/08/05 14:30:00“ ?CTOD(d)+20 &显示11/08/25 ?CTOT(t)+3600 &显示11/08/05 03:30:00 PM,字符表达式的日期部分格式要与系统设置的日期格式一致,其中的年份可以用四位,也可以用两位。,2.3 Visual FoxPro语言基础,(5)字符转换成ASCII码值函数ASC( ) 功能:返回字符表达式值中最左边字符的ASCII码值 语法格式:ASC(cExpression) 参数含义: cExpression:字符表达式 返回值类型:N 实例: ?ASC(“FoxPro“) 结果:70,2.3 Visual FoxPro语言基础,(6)ASCII码值转换成字符函数CHR( ) 功能:将数值表达式的值作为ASCII码值,返回对应的字符 语法格式:CHR(nExpression) 参数含义: nExpression:数值表达式 返回值类型:C 实例: ?CHR(97) 结果:“a“,2.3 Visual FoxPro语言基础,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.3 Visual FoxPro语言基础,(2)条件测试函数IIF( ) 功能:根据逻辑表达式的值,返回两个值中的某一个 语法格式:IIF(lExpression,eExpression1,eExpression2) 参数含义: lExpression:逻辑表达式 eExpression1:表达式1, 若lExpre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》模拟考试高能含答案详解(巩固)
- 航空航天器数字孪生材料老化模拟与评估创新创业项目商业计划书
- 乳品标准化生产推广创新创业项目商业计划书
- 2025内蒙古呼伦贝尔农垦集团有限公司校园招聘50人模拟试卷含答案解析有答案详解
- 教师招聘之《小学教师招聘》题库检测试题打印含答案详解(轻巧夺冠)
- 教师招聘之《小学教师招聘》综合提升试卷及参考答案详解(轻巧夺冠)
- 2025内蒙古呼伦贝尔农垦谢尔塔拉农牧场有限公司招聘45人笔试备考及答案详解(夺冠)
- 教师招聘之《小学教师招聘》强化训练题型汇编附答案详解【a卷】
- 教师招聘之《小学教师招聘》考前冲刺测试卷附有答案详解附完整答案详解(易错题)
- 2025年教师招聘之《幼儿教师招聘》通关题库含答案详解【能力提升】
- 胸腺瘤讲课课件
- 献血站报销流程
- 初级《招标采购法律法规》近年考试真题库(含详解)
- 低压配电柜改造施工方案
- 中国模切行业分析报告:进出口贸易、行业现状、前景研究(智研咨询发布)
- 151012-天华瑞安化龙桥项目概念方案+设计
- 《穴位贴敷治疗》课件
- 临时施工围挡安全应急预案
- 电话客服服务流程与标准
- GB/T 33629-2024风能发电系统雷电防护
- 综合应用能力事业单位考试(综合管理类A类)试题及解答参考(2024年)
评论
0/150
提交评论