收藏 分销(赏)

2023年计算机2级课件.doc

上传人:精*** 文档编号:3611897 上传时间:2024-07-10 格式:DOC 页数:13 大小:68.54KB 下载积分:8 金币
下载 相关 举报
2023年计算机2级课件.doc_第1页
第1页 / 共13页
2023年计算机2级课件.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
第 3 章 数据、函数与体现式 数据是计算机程序处理对象,也是运算产生成果,因此咱们首先应当认识VFP能处理哪些数据,掌握多种形式数据体现措施。可以从不一样角度对数据进行分类。 从数据类型来分,数据可以分为数值型数据、字符型数据、逻辑型数据等。 从数据存处方式来分,数据可分为常量和变量。 3·1 Visual Foxpro常用数据类型 P37 表3-1 3·2 常量与变量 在程序运行过程中,咱们把需要处理数据存储在内存中,称一直保持不变数据为“常量”,称存储可变数据存储单元为“变量”,其中数据称为变量值。 一、常量是一种详细数据项,在整个操作过程中其值保持不变。VFP支持如下6种类型常量。 1·数值型常量 2·货币型常量 前置符号 ($),采用4位小数。 3·字符型常量 单引号、双引号或方括号称为定界符。 4·日期型常量 定界符是一对花括号。 1) 老式日期格式{mm-dd-yy} 2)严格日期格式 {^yyyy-mm-dd} 设置不一样日期格式 1)在命令窗口键入如下4条命令,并分别回车执行: SET CENTURY ON &&设置4位数字年份 SET MARK TO &&恢复系统默认斜杠日期分派符 SET DATE TO YMD &&设置年月日格式 ?{^-11-26} 2)在命令窗口键入如下4条命令,并分别回车执行: SET CENTURY OFF && 设置2位数字年份 SET MARK TO "." &&设置日期分隔符为西文句号 SET DATE TO MDY &&设置月日年格式格式 ?{^-11-26} 5·日期时间型常量 在命令窗口键入如下2条命令,并分别回车执行: SET HOURS TO 24 ?{^-11-26 8:30:00P} 6·逻辑型常量 只有“真”和“假”两种值,通常用.T.体现逻辑真,用.F.体现逻辑假。注意T和F两边圆点不可少,否则会出错。 二、变量 1·字段变量 2·简朴内存变量(系统内存变量) 3·数组变量 定义:DIMENSION <数组名> (<下标上限1> [,<下标上限2>]) [,……] DECLARE <数组名> (<下标上限1> [,<下标上限2>]) [,…¨刀 例 DIMENSION a(3),b(2,3) 此例定义了一种一维数组a,并且有3个元素,分别为a(1),a(2),a(3); 数组b为二维数组,分别是b(1,1),b(1,2),b(1,3),b(2,1),b(2,2),b(2,3)。数组一旦被定义后没个元素初值为逻辑假,可以使用赋值命令给不一样元素赋不一样数据类型值。 三、内存变量常用命令 内存命名规则:以字母(可以用中文做变量名,但不倡导)开头,只能由字母、数字、或下划线构成。 1·内存变量赋值 格式l:STORE 〈体现式〉 TO 〈变量名表〉 格式2:〈内存变量名〉=〈体现式〉 2·体现式值显示 格式1:?[〈体现式表〉] 格式2:??〈体现式表〉 第1条命令把成果在下一行最左边位置输出;第2条则将成果在光标目前位置输出。 3·内存变量显示 格式l:LIST MEMORY [LIKE <通配符>] [TO PRINTER / TO FILE<文献名>] 格式2:DISPLAY MEMORY [LIKE <通配符>] [TO PRINTER / TO FILE<文献名>] 通配符当中“?”代表内存变量中任意一种字符。“*”代表内存变量中任意一种或多种字符。 4·内存变量删除 格式1:CLEAR MEMORY 格式2:RELEASE 〈内存变量名表〉 格式4:RELEASE ALL [LIKE〈通配符〉] 例: 在命令窗口中依次输入下列命令,命令格式及屏幕显示如下: CLEAR MEMORY DIMENSION y(2,2) STORE ‘xxx’TO x1,y(1,1) y(3) = {^-11-23} x2 = $123.23 DISPLAY MEMO LIKE y* RELEASE ALL LIKE y* X = {^-11-23,11:30 p} DISPLAY MEMO LIKE X RELEASE X 3·3 常用函数 函数是用程序来实现一种数据运算或转换。每一种函数均有特定数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一种运算成果,称为函数值或返回值。VFP中函数有两种,顾客自定义函数和系统函数。 函数可用函数名加一对圆括号加以调用,自变量放在圆括号里,如LEN(x)。 函数调用可以出目前体现式里,体现式将函数返回值作为自己运算对象。 一、数值函数 P45 表3-2 数值函数是指函数值为数值一类函数,它们自变量和返回值往往都是数值型数据。 1·绝对值和符号函数 ABS(<数值体现式>) 返回指定数值体现式绝对值 SIGN(<数值体现式>) 返回指定数值体现式符号。当体现式运算成果为正、负和零时,函数值分别为1、-1和0。 例: STORE 10 TO X ?ABS(5-X),ABS(X-5),SIGN(5-X),SIGN(X-10) 2·求平方根函数 SQRT(<数值体现式>) 返回指定体现式平方根。体现式值不能为负。 例: ?SQRT(2),(2)^(1/2) STORE –100 TO X ?SIGN(X)*SQRT(ABS(X)) 3·圆周率函数 PI() 返回圆周率π(数值型),该函数没有自变量。 4·求整数函数 * INT(<数值体现式>) 返回指定数值体现式整数某些 CEILING(<作数值体现式>) 返回不不不小于或等于指定数值体现式最小整数。 FLOOR(<数值体现式>) 返回不不小于或等于指定数值体现式最大整数。 例: STORE 5.8 TO X ?INT(X),INT(-X),CEILING(X),CEILING(-X),FLOOR(X),FLOOR(-X) 5·四舍五入函数 * ROUND(<数值体现式1>,<数值体现式2>) 返回指定体现式在指定位置四舍五入后成果。<数值体现式2>指明四舍五入位置。若 <数值体现式2>不不不小于等于0,体现要保留小数位数 <数值体现式2>不不小于0,体现整数某些舍入位数。 例:X = 345.345 ?ROUND(X,2),ROUND(X,1),ROUND(X,0),ROUND(X,-1) 6·求余数函数 * MOD(<数值体现式l>,<数值体现式2>) 返回两个数值相除后余数。<数值体现式1>是被除数,<数值体现式2>是除数。函数返回值符号与<数值体现式2>相似。 例:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3) 7·求最大值和最小值函数 MAX(<数值体现式l>,<数值体现式2> [,<数值体现式3>,……]) 计算各自变量体现式值,并返回其中最大值。 MIN(<数值体现式l>,<数值体现式2> [,<数值体现式3>,……]) 计算各自变量体现式值,并返回其中最小值。 自变量体现式类型可以是数值型、字符型、货币型、双精度型、浮点型、日期时间型,但所有体现式类型必要相似。 例: ?MAX("2","12","05"),MAX(2,12,05),MIN("汽车","飞机","轮船") ?MAX({^-05-10},{^-12-03},{^-01-01}) 8·随机函数RAND() 反回一种0~1随机数,其值不确定。 二、字符函数 P46 表3-3 指自变量一般是字符型数据函数。 1·求字符串长度函数 LEN(〈字符体现式〉) 返回指定字符体现式值长度,即所包括字符个数(一种中文占两个字符)。函数值为数值型。 例:X = "中文visual FoxPro6.0" ?LEN(X) 2·大小写转换函数 LOWER(<字符体现式>) 大写字母转换成小写字母,其她字符不变 UPPER(<字符体现式>) 小写字母转换成大写字母,其她字符不变 例:?LOWER(‘Xly2A*’),UPPER(‘n=l’) 3·空格字符串生成函数 SPACE(<数值体现式>) 返回由指定数目空格构成字符串。 ?”ab”+ SPACE(3)+”cd” 4·删除先后空格函数 * TRIM(〈字符体现式〉) 返回字符体现式值去掉尾部空格后形成字符串。 LTRIM(〈字符体现式〉) 返回字符体现式值去掉前导空格后形成字符串。 ALLTRIM(〈字符体现式〉 返回字符体现式值去掉前导和尾部空格后形成 字符串。 例: STORE SPACE(1) + "TEST" + SPACE(3) TO SS ?TRIM(SS) + LTRIM(SS) + ALLTRIM(SS) TESTTEST TEST ?LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),LEN(ALLTRIM(SS)) 5·取子串函数 * LEFT(〈字符体现式〉,〈长度〉) 从体现式值左端取一种指定长度子串作为函数值 RIGHT(〈字符体现式〉,〈长度〉) 从体现式值右端取一种指定长度子串作为函数值 SUBSTR(〈字符体现式〉,〈起始位置〉[,<长度>]) 从体现式值指定起始位置取指定长度子串作为函数值,若缺省第三 个自变量之长度,,则从指定位置一直取到最终一种字符。 例:STORE "GOOD BYE!" TO X ?LEFT(X,2),SUBSTR(X,6,2) + SUBSTR(X,6),RIGHT(X,3) 6·计算子串出现次数函数 * OCCURS(<字符体现式1>,<字符体现式2>) 返回第一种字符串在第二个字符串中出现次数,函数值为数值型,若第一种字符串不是第二个字符串子串,函数值为0。 例:STORE‘abracadabra’ TO S ?OCCURS('a',S),OCCURS('b',S),OCCURS('c',S),OCCURS('e',S) 7·求子串位置函数 * AT(〈字符体现式1〉,〈字符体现式2〉[,<数值体现式>]) ATC(〈字符体现式1〉,〈字符体现式2〉[,<数值体现式>]) 函数值为数值型。假如<字符体现式1>是<字符体现式2>子串,则返回<字符体现式1>值首字符在<字符体现式2>值中位置;若不是子串,则返回0。 ATC()与AT()功能类似,但在子串比较时不区别字母大小写。 第三个自变量<数值体现式>,用于表明要在<字符体现式2>值中搜索<字符体现式1>值第几次出现,其默认值是1。 例: STORE "This is visual FoxPro" TO X ?AT("fox",X),ATC("fox",X),AT("is",X,3),AT("xO",X) 8·子串替代函数 * STUFF(<字符体现式>,<起始位置>,<长度>,<字符体现式2>) 从<字符体现式><起始位置>开始删除<长度>个字符后插入<字符体现式2>。 例:STORE “GOOD BYE!”TO S1 STORE “MORNING” TO S2 ?STUFF(S1,6,3,S2),STUFF(S1,1,4,S2) 9·字符替代函数 * CHRTRAN(<字符体现式1>,<字符体现式2>,<字符体现式3>) 以<字符体现式3>替代在<字符体现式1>中出现<字符体现式2>。 例: X1 = CHRTRAN("ABACAD","ACD","X12") Y1 = CHRTRAN("计算机ABC","计算机","电脑") Z1 = CHRTRAN("人们好!","人们","你") ?X1,Y1,Z1 10·字符串匹配函数 LIKE(<字符体现式1>,<字符体现式2>) 比较两个字符串对应位置上字符,若所有对应字符都相匹配(注意区别大小写),函数返回逻辑真(.T.),否则返回逻辑假 (.F.)。 <字符体现式1>中可以包括通配符*和?。* 可与任何数目字符相匹配,?可与任何单个字符相匹配。 例: STORE “abc” TO X STORE "abcd" TO Y ?LIKE("ab*",X),LIKE("ab*",Y),LIKE(x,y) ?LIKE("?b?",X),LIKE("Abc",X) 三、日期和时间函数 P46 表3-4 自变量一般是日期型数据或日期时间型数据。 1·系统日期和时间函数 DATE() 返回目前系统日期,函数值为日期型。 TIME() 以24小时制、hh:mm:ss格式返回目前系统时间,函数值为 字符型。 DATETIME() 返回目前系统日期时间,函数值为日期时间型。 例:?DATE(),TIME(),DATETIME() 2·求年份、月份和天数函数 YEAR(<日期体现式> / <日期时间体现式>) 从指定日期体现式或日期时间体现式中返回年份 MONTH(<日期体现式> / <日期时间体现式>) 从指定日期体现式或日期时间体现式中返回月份 DAY(<日期体现式> / <日期时间体现式>) 从指定日期体现式或日期时间体现式中返回月里面天数 这三个函数返回值都为数值型。 例:STORE{^-08-18} TO d ?YEAR(d),MONTH(d),DAY(d) 3·时、分和秒函数 HOUR(<日期时间体现式>) 从日期时间体现式中返回小时某些 (24小时制) MINUTE(<日期时间体现式>) 从日期时间体现式中返回分钟某些。 SEC(<日期时间体现式>) 从日期时间体现式中返回秒数某些。 这三个函数返回值都为数值型。 例:STORE {^-03-18 02:30:50P} TO t ?HOUR(t),MINUTE(t),SEC(t) 四、数据类型转换函数 P46 表3-6 功能是将某一种类型数据转换成另一种类型数据。 1·数值转换成字符串 * STR(〈数值体现式> [,<长度> [,<小数位数>]]〉 将<数值体现式>值转换成字符串,转换时根据需要自动进行四舍五入。 返回字符串理想长度L是<数值体现式>值整数某些位数加上<小数位数>值,再加上 1位小数点。 假如<长度>值不不不小于L,则字符串加前导空格以满足规定<长度>规定; 假如<长度>值不不不小于等于<数值体现式>值整数某些位数 (波及负号)但又不不小于L,则优先满足整数某些而自动调整小数位数; 假如<长度>值不不小于<数值体现式>值整数某些位数,则返回一串星号(*)。 <小数位数>默认值为0,<长度>默认值为10, 例:STORE –123.456 TO N ?"N=" + STR(N,8,3) N = -123.456 ?STR(N,9,2),STR(N,6,2),STR(N,3),STR(N,6),STR(N) -123.46 -123.5 *** -123 -123 2·字符串转换成数值 * VAL(<字符体现式>) 将由数字符号(波及正负号、小数点)构成字符型数据转换成对应数值型数据。1、若字符串内出现非数字字符,那么只转换前面某些;2、若字符串首字符不是数字符号,则返回数值零,但忽视前导空格。 例:STORE ‘-123.’TO X STORE ‘45’TO Y STORE ‘A45' TO Z ?VAL(X+Y),VAL(X+Z),VAL(Z+Y) 3·字符串转换成日期或日期时间 * CTOD(<字符体现式>) 将<字符体现式>值转换成日期型数据 CTOT(<字符体现式>) 将<字符体现式>值转换成日期时间型数据 字符串中日期某些格式要与SET DATE TO 命令设置格式一致。其中年份可以用四位,也可以用两位。 例: SET DATE TO YMD &&显示日期或日期时间时,用4位数显示年份 SET CENTURY ON d1 = CTOD('/03/18') t1 = CTOT(‘/03/18 10:31:54PM‘)+ 20 ?d1,t1 4·日期或日期时间转换成字符串 DTOC(<日期体现式> / <日期时间体现式> [,1]) 将日期型数据或日期时间数据日期某些转换成字符串 TTOC(<日期时间体现式> [,1]) 将日期时间数据转换成字符串。 字符串中日期某些格式与SET DATE TO语句设置和SET CENTURY ON / FF(ON为四位数年份,OFF为两位数年份)语句设置有关。 时间某些格式受SET HOURS TO l2 / 24语句设置影响。 对DTOC(),假如使用选项1,则字符串格式总是为YYYYMMDD,共8个字符。 对TTOC(),假如使用选项1,则字符串格式总是为YYYYMMDDHHMMSS,采用24小时制,共14个字符。 例:STORE DATETIME() TO T ?T ?DTOC(t),DTOC(t,1),TTOC(t),TTOC(t,1) 5·宏替代函数 * &<字符型变量>,[.] 替代出字符型变量内容,即&值是变量中字符串。假如该函数与其后字符无明确分界,则要用"·"作函数结束标识。宏替代可以嵌套使用。 例: STORE “STU”TO DB USE &DB &&相称于USE STU XM1 = "姓名" ?&XM1 - "你好!" &&相称于 ?姓名-"你好!" 李梅你好! &&字段变量姓名值是李梅 SKIP &&转到下条记录 ?”姓名”,&XM1 &&相称于?“姓名”,XM 姓名 李英 五、测试函数 P46 表3-5 P47 表3-7 在数据处理过程中,有时顾客需要理解操作对象状态。例如,要使用文献与否存在、数据库表目前记录号、与否抵达了文献尾、检索与否成功、某工作区中记录指针所指目前记录与否有删除标识、数据类型等信息。尤其是在运行应用程序时,常常需要根据测试成果来决定下一步处理措施或程序走向。 1·值域测试函数 * BETWEEN(<体现式T>,<体现式L>,<体现式H>) 判断一种体现式值与否介于此外两个体现式值之间。 当<体现式T>值不不不小于等于<体现式L>,且不不小于等于<体现式H>时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。 注意:假如<体现式L>,或<体现式H>,有一种是NULL值,那么函数值也是NULL值。 该函数自变量类型既可以是数值型,也可以是字符型、日期型、日期时间型、浮点型、整型、双精度型或货币型。但三个自变量数据类型要一致。 例:STORE .NULL. TO X STORE 100 TO Y ?BETWEEN(150,Y,Y+100),BETWEEN(90,X,Y) 2·空值(NULL值)测试函数 ISNULL(<体现式>) 判断一种体现式运算成果与否为NULL值,若是NULL值返回逻辑真 (.T.),否则返回逻辑假 (.F.) 例:STORE .NULL. TO X ?X,ISNULL(X) 3·"空"值测试函数 * EMPTY(<体现式>) 根据指定体现式运算成果与否为"空"值,返回逻辑真(.T.)或逻辑假(.F.)。 首先要注意,这里所指 "空"值与NULL值是两个不一样概念。函数EMPTY(.NULL.)返回值为逻辑假(.F.)。另首先,该函数自变量体现式类型除了可以是数值之外,还可以是字符型、逻辑型、日期型等类型。不一样类型数据"空"值,有不一样规定如下表所示。 数据类型 "空值" 数据类型 "空值" 数值型 0 双精度型 0 字符型 空串、空格、制表符、回车、换行 日期型 空(如CTOD("")) 货币型 0 日期时间 空(如CTOT("")) 浮点型 0 逻辑型 .F. 整型 0 备注字段 空(无内容) 例:?EMPTY(.NULL.),EMPTY(0),EMPTY(‘ ‘) ,EMPTY(.F.) USE STU EMPTY(简历) 4·数据类型测试函数 VARTYPE(<体现式> [,<逻辑体现式>]) 测试<体现式>类型,返回一种大写字母,函数值为字符型。字母含义如下表所示。 若<体现式>运算成果是NULL值,则根据<逻辑体现式>值决定与否返回<体现式>类型:假如<逻辑体现>值为 .T.,就返回<体现式>原数据类型。假如<逻辑体现式>值为 .F. 或缺省,则返回X,以表明<体现式>运算成果是NULL值。 返回字母 数据类型 返回字母 数据类型 C 字符型或备注型 G 通用型 N 数值型、整型、浮点型或双精度型 D 日期型 Y 货币型 T 日期时间型 L 逻辑型 X Null值 O 对象型 U 未定义 例:X = "AAA" STORE 10 TO Y STORE .NULL. TO X STORE $100.2 TO Z ?VARTYPE(X),VARTYPE(X,.T.),VARTYPE(Y),VARTYPE(Z) X C N Y 5·表文献尾测试函数 * 系统对表中记录是逐条进行处理。对于一种打开表文献来说,在某一时刻只能处理一条记录。VFP为每一种打开表设置了一种内部使用记录指针,指向正在被操作记录,该记录称为目前记录。记录指针作用是标识表目前记录。 表文献逻辑构造下图所示。最上面记录是首记录,记为TOP,最下面记录是尾记录,记为BOTTOM。 在第一种记录之前有一种文献起始标识,称为Beginning of File(BOF); 在最终一种记录背面有一种文献结束标识,End of File(EOF) 使用测试函数可以得到指针位置。刚刚打开表时,记录指针总是指向首记录。 文献起始标识 首记录(TOP) 第2个记录 : 记录指针 第i个记录 : 尾记录(BOTTOM) EOF([<工作区号> / <表别名>]) 测试指定表文献中记录指针与否指向文献尾,若是返回逻辑真 .T.,否则返回逻辑假 .F.。表文献尾是指最终一条记录背面位置。若缺省[<工作区号> / <表别名>],则测试目前表文献。 若在指定工作区上没有打开表文献,函数返回逻辑假 .F.。若表文献中不包括任何记录,函数返回逻辑真 .T.。 例: USE STU Go BOTTOM ?EOF() SKIP ?EOF(),EOF(2) &&假定2号工作区没有打开表 6·表文献首测试函数 BOF([<工作区号> / <表别名>]) 测试目前表文献(若缺省自变量)或指定表文献中记录指针与否指向文献首,若是返回逻辑真 .T.,否则返回逻辑假 .F.。表文献首是指第一条记录前面位置。 若指定工作区上没有打开表文献,函数返回逻辑假 .F.。若表文献中不包括任何记录,函数返回逻辑真 .T.。 7·记录号测试函数 * RECNO([<工作区号> / <表别名>]) 返回目前表文献(若缺省[<工作区号> / <表别名>])或指定表文献中目前记录(记录指针所指记录)记录号。假如指定工作区上没有打开表文献,函数值为0。假如记录指针指向文献尾,函数值为表文献中记录数加 1。假如记录指针指向文献首,函数值为表文献中第一条记录记录号。 例: USE STU &&假定表中有5条记录 ?BOF(),RECNO() && 显示 .F. l SKIP -1 ?BOF(),RECNO() &&显示 .T. 1 GO BOTTOM ?EOF(),RECNO() &&显示 .F. 记录数 SKIP ?EOF(),RECNO() &&显示 .T. 目前记录号(记录数加 1) 8·记录个数测试函数 * RECCOUNT([<工作区号> / <表别名>]) 返回目前表文献(若缺省自变量)或指定表文献中记录个数。假如指定工作区上没有打开表文献,函数值为0。 RECCOUNT()返回是表文献中物理上存在记录个数。不管记录与否被逻辑删除以及SET DELETED状态怎样,也不管记录与否被过滤(SET FILTER),该函数都会把它们考虑在内。 例: USE STU ?RECCOUNT() &&显示记录数 9·条件测试函数 * IIF(<逻辑体现式>,<体现式1>,<体现式2>) 测试<逻辑体现式>值,若为逻辑真 .T.,函数返回<体现式 l>值,假 .F.函数返回<体现式2>值。<体现式1>和<体现式2>类型不规定相似。 例:X = 100 Y = 300 ?IIF(X>100,X-50,X+50),IIF(Y>100,Y-50,Y+50) SET CENTURY ON STORE DATE() TO d STORE DTOC(d) TO s ?s,IIF(LEN(s)=8,"这是两位数年份","年份是:" +;STR(YEAR(d),4)) 当日系统日期 年份是: 10·记录删除测试函数 DELETED([<表别名> / <工作区号>]) 测试指定表,或在指定工作区中所打开表,记录指针所指目前记录与否有删除标识 "*"。若有为真,否则为假。若缺省[<表别名> / <工作区号>],则测试目前工作区中所打开表。 例: SELECT 0 &&选用最小号空闲工作区 USE STU &&打开职工表 DELETE FOR姓名= "李梅" &&逻辑删除记录 1个删除记录 LIST 学号,姓名 FOR DELETED() &&列出被逻辑删除记录 VFP6.0提供非常丰富函数,在此仅举出某些常用函数。 3·2 体现式 体现式是由常量、变量和函数通过特定运算符连接起来式子。 无论是简朴还是复杂合法体现式,按照规定运算规则最终均能计算出一种成果,即体现式值。根据体现式值类型,体现式可分为数值体现式、字符体现式、日期时间体现式和逻辑体现式。大多数逻辑体现式是带比较运算符关系体现式。 一、数值、字符与日期时间体现式 1·数值体现式 数值体现式由算术运算符将数值型数据连接起来形成,其运算成果仍然是数值型数据。数值型数据可以是数值型常量或者变量。 1)算术运算优先级 数值体现式中算术运算符有些与寻常使用运算符稍有区别,算术运算符及其含义和优先级为:小括弧,乘方运算,乘、除运算、求余运算,加、减运算。 2)求余运算 求余运算 % 和取余函数 MOD()作用相似。余数正负号与除数一致。乘*、除/和求余运算%时,它们具有相似优先级。 例:求余运算 ?15%4,15%-4 STORE 54 TO X,Y Z = 21 ?X%Z,MOD(X,Z),X%(Y-70) 2·字符体现式 由字符串运算符将字符型数据连接起来形成,其运算成果仍然是字符型数据。 +:将先后两个字符串首尾连接形成一种新字符串。 -:将连接先后两个字符串,并将前字符串尾部空格移到合并后新字符串尾部。 例: A = "Hello " b = "everyone!" ?a + b,a - b 3·日期时间体现式 使用运算符有:+ 和 - 日期时间体现式格式有一定限制,不能任意组合,例如,不能用运算符“+”将两个<日期>连接起来。合法日期时间体现式格式如下所示,其中<天数>和<秒数>都是数值体现式。 <日期> + <天数> 日期型,指定日期若干天后日期 <天数> + <日期> 日期型,指定日期若干天后日期 <日期> - <天数> 日期型,指定日期若干天前日期 <日期> - <日期> 数值型,两个指定日期相差天数 <日期时间> + <秒数> 指定日期时间若干秒后日期时间数 <秒数> + <日期时间> 指定日期时间若干秒后日期时间间 <日期时间> - <秒数> 指定日期时间若干秒前日期时间数 <日期时间> - <日期时间> 两个指定日期时间相差秒数 例: ?{^-03-19} + 10,{^-03-19}–{^-03-19} ?{^-03-19 10:10:10 AM} + 10 符号 + 和 - 既可以作为日期时间运算符,也可以作为算术运算符和字符串连接运算符。究竟作为哪种运算符使用,要看它们所连接运算对象数据类型而定。 二、关系体现式 1·关系体现式 关系体现式一般也称为简朴逻辑体现式,它由关系运算符将两个运算对象连接起来形成,即:<体现式1> <关系运算符> <体现式2>。 其作用是比较两个体现式大小或先后。其运算成果是逻辑型数据。关系运算符及其含义如下,它们优先级相似。 < 不不小于 , > 不不不小于 , = 等于 , <>、#、!= 不等于 <= 不不小于等于 , >= 不不不小于等于 == 字符串精确比较 , $ 字符子串包括测试 运算符 == 和 $ 仅合用于字符型数据。其她运算符合用于任何类型数据,但先后两个运算对象数据类型要一致。 1)数值型和货币型数据比较 按数值大小比较,波及负号。例如,0 >-1 $150 > $105 2)日期或日期时间型数据比较 越早日期或时间越小,越晚日期或时间越大。 例如,{^-01-10} > {^-12-28} 3)逻辑型数据比较 .T. 不不不小于 .F. 4)子串包括测试 关系体现式 <前字符型体现式> $ <后字符型体现式> 为子串包括测试,假如前者是后者一种子字符串,成果为逻辑真(.T.),否则为逻辑假(.F.)。 例: STORE “计算机”TO s1 STORE “微型计算机” TO s2 ?S1 $ S2,S2 $ S1,(S1 $ S2) > (S2 $ S1) 2·字符串精确比较与EXACT设置 在用双等号运算符比较两个字符串时,只有当两个字符串完全相似(波及空格以及各字符位置)时,运算成果才会是逻辑真 .T.,否则为逻辑假 .F.。 在用单等号运算符占比较两个字符串时,运算成果与SET EXACT ON / OFF设置有关。该命令是设置精确匹配与否开关,可在命令窗口或在程序中执行,也可以通过 “选项”对话框中 "数据" 选项卡设置。 系统默认OFF状态。当处在OFF状态时,只要右边字符串与左边字符串前面某些内容相匹配,即可得到逻辑真 .T. 成果。也就是说,字符串比较以右面字符串为目旳,右字符串结束即终止比较。 例: 字符串精确比较与EXACT设置示例 SET EXACT OFF &&系统默认,以右串为结束标志 STORE "计算机" TO S1 STORE "计算机 " TO S2 STORE "计算机世界计” TO S3 ?S1=S3,S3=S1,S1=S2,S2=S1,S2 == S1 三、逻辑体现式 1·逻辑体现式 由逻辑运算符将逻辑型数据连接起来而形成,其运算成果仍然是逻辑型数据。逻辑运算符有三个:.NOT. 或 ! 或 NOT —— 逻辑非 .AND. 或 AND —— 逻辑与 .OR. 或 OR —— 逻辑或 优先级次序依次为 NOT、AND、OR。 逻辑运算符运算规则如下 <1E1> —— 逻辑型数据1、<1E2> —— 逻辑型数据2 <1E1> <1E2> .NOT.<1E1> <1E1>.AND.<1E2> <1E1>.OR.<1E2> .T. .T. .F. .T. .T. .T. .F. .F. .F. .T. .F. .T. .T. .F. .T. .F. .F. .T. .F. .F. 在许多命令和语句格式中均有<条件>语法成分,这里<条件>,就
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服