江苏省计算机等级考试VFP第二章归纳.doc_第1页
江苏省计算机等级考试VFP第二章归纳.doc_第2页
江苏省计算机等级考试VFP第二章归纳.doc_第3页
江苏省计算机等级考试VFP第二章归纳.doc_第4页
江苏省计算机等级考试VFP第二章归纳.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

第二章VFP程序设计基础考点1:常 量 数值型(N):由数字、小数点和正负号构成 ,可用科学计数法表示,无定界符例:3.45 -12 1.8E10 货币型(Y) :以 $ 开头, 作为定界符,没有科学计数法 逻辑型(L) :定界符 . . 逻辑真:.T. 、.t.、.Y.、.y. 逻辑假:.F.、.f.、.N.、.n. 字符型(C) 字符型常量定界符: 、“ ”、 定界符必须成对匹配使用 定界符不作为字符串的内容 空串(“”)和空格字符串(“ ”)是不同的 字符串中字母的大小写不等价 如果某个定界符本身是字符串的内容,则需要用另一定界符为该字符串定界例: “abc” 123 230002 学习“努力” 日期型 (D) 定界符: 严格日期格式:YYYY-mm-dd例:2009-07-12 空日期表示方法: 日期时间型(T) : 严格日期时间格式:yyyy-mm-dd hh:mm:ss a/p 严格或传统日期格式设置命令 set strictdate to 0 :不对日期格式做检查 set strictdate to 1 : 进行严格日期检查 set strictdate to 2 : 进行严格日期检查,对CTOD()和CTOT()也一样 年份显示命令(全国掌握): set century to 世纪值 rollover 年份参考值 若所给日期2位年份大于年份参考值,则所处世纪为世纪值 ;否则为世纪值 +1考点2:变 量 变量名的命名规则(江苏掌握) 变量名只能包含中英文字母、下划线和数字 变量名第一个字符不能是数字 系统变量名以下划线开头 表字段名不允许以下划线开头 自由表字段名、表索引标识名最多10个字符,其余最多128个字符 避免使用保留字考点3:内 存 变 量 类型有6种,与常量相同 不需要定义或声明,可直接使用 可通过对内存变量重新赋值来改变其内容和类型 内存变量的赋值: 格式1: 内存变量名表达式 格式2:STORE 表达式 TO 格式1一次只能为一个变量赋一个值,格式2一次可将表达式的值赋给一个或多个内存变量例: x=3 store “VFP” to x, y, z 表达式值的显示命令: ?表达式:在下一行开始处显示表达式的值 ?表达式:在当前行光标处显示表达式的值 ? :换行例:store 10 to a,b,c ?a ?b 内存变量的保存与恢复命令(江苏掌握) 内存变量在退出VFP时其数据自动丢失 内存变量的保存命令:SAVE TO 内存变量文件名 ALL LIKE|EXCEPT通配表达式 内存变量文件名默认扩展名为.mem 通配表达式中使用*或?作为通配符 ALL LIKE|EXCEPT缺省时保存所有内存变量 例:将以A开头第4个字符为D的所有内存变量保存到A1.MEM中:Save to A1 all like A?D*n 内存变量恢复的命令Restore from 内存变量文件名 additive 若使用additive ,则已存在的内存变量仍保留,否则被清楚考点4:数 组 数组分为一维数组和二维数组 数组在使用前必须要先定义,定义方法: DIMENSION A(5) DIMENSION AB(3,4) DECLARE X(6) DECLARE xy(5,4) 数组元素的赋值 数组声明后,每个数组元素初值为逻辑值.F. 整个数组的数据类型是A 数组中各元素的数据类型可相同,也可不同 数组元素赋值方法: 整体赋值:通过数组名赋值,为所有元素赋同一个值例:Dimension x(10,9) x=100 元素赋值例1:declare m(8) m(2)=5 例2: dimension x(4,5) x(2,3)=2008-10-01 用一维数组的形式访问二维数组例:Dimension x(10,9) x(3,4)=7 ? x(22) ? x(22)考点5:表 达 式 数值表达式%:求余(模) a%b=mod(a,b)例: 6%5 -6%5 6%-5 -6%-5 字符运算符 +:将两个串简单连接在一起 例:?”visual”+”foxpro” visualfoxpro?”计算机”+文化 计算机文化 - :连接两个字符串,并将前一个字符串的尾部空格移至后一个字符串之后 ,总字符个数不变例:?”计算机”-文化 计算机文化 ?”windows”-“98” windows98 $ :用于左字符串是否包含在右字符串中,若是结果为.T.,否则为.F.例:?”I”$”Beijing” .F. ? ”i”$”Beijing” .T. 日期时间表达式 两日期相减,表示相差的天数; 两日期时间相减,表示相差的秒数; 一个日期加/减一个数,表示多少天以后/前; 一个日期时间加/减一个数,表示多少秒以后/前; 两日期/日期时间不能相加 关系运算符:见辅导教材 字符串比较的规则: 按Machine方式:空格最小,大写字母小于小写字母 set collate to “Machine” 按 PinYin方式:汉字按拼音排序,西文字符空格最小,小写写字母小于大写字母 set collate to “PinYin” PinYin为默认比较方式 字符串精确比较(=) 不受set exact on|off的影响,只有=前后两字符串完全相同时结果为.T.,否则为.F.例:?”abcd”=”ab” .F. ?”abcd”=”abcd” .T. “=”与set exact on|off set exact off:默认方式,只要右字符串与左字符串的前面部分相同,则结果为.T.字符串比较因右字符串结束而终止,若右包含左,返回值为假 ?”ab”=”abc” .F.?”abc”=”abc” .T.?”abcd”=”abc” .T. set exact on:先在较短字符串尾部加若干空格,使长度相同,再进行精确比较 ?”ab”=”abc” .F. ?”abc”=”abc” .T. ?”abcde”=”abcd” .F. ?”ab”=”ab” .T. ?”ab”=”abc” .F.考点6:函 数 掌握每个函数的功能、执行原理、返回类型 宏代换&例:nvar=100 nvarb=100 var_name=“nvar” store 123.4 to &var_name store 200 to &var_name.b Stuff例:?stuff(”计算机ABC”,3,4,”你好”) 计你好ABC?stuff(”数据库”,5,6,”管理系统”) 数据管理系统?stuff(”计算机ABC”,5,4,”你好”) 计算你好C ?round(,)如果“数值表达式2”是正整数,它指定保留的小数位数;如果“数值表达式2”是0,它指定精确到个位;如果“数值表达式2”是负整数,它指定精确的整数位数。例:?round(678.657,0) 679 ?round(678.657,3) 678.657 ?round(678.657,-1) 680 ?dtoc(,1)【函数功能】 把日期型数据转换为字符型数据【使用说明】 指定被转换的日期型数据选择1,按yyyymmdd的格式返回结果。缺省该选项,按mm/dd/yy的格式返回结果【返回值类型】 字符型 例:?dtoc(2007-02-10) 02/10/07 ?dtoc(date(),1) 20090712 ?str(,) 指定被转换的数据。指定转换后字符串的总长度,长度的缺省值为10。指定转换后允许保留的小数位数,默认为0如果“长度”大于的字符个数,在字符前面用空格补齐;如果“长度”小于整数部分的数字长度且不指定,输出一串星号(*)。若指定,则返回指定的小数位数,并按该有效位数进行四舍五入。例:?str(5664) 5664?str(5664.25) 5664?str(1357.246,6,2) 1357.2?str(1357.246,8,2) 1357.25?str(1357.246) 1357?str(1357.246,3) * ?vartype()【函数功能】 测试指定表达式的数据类型【返回值类型】 字符型例:?vartype(123.123) N?vartype(“addsdfsd”) C ?type()【函数功能】 判断指定表达式的数据类型【返回值类型】 字符型type函数返回值为C,N,D,L, S,U(U为未定义的数据类型)例:?type(“123” ) C ?type(06/10/2007) U ?type(“52”) L ?empty()【函数功能】 测试指定表达式是否为“空”,如果表达式为空,返回逻辑真值,反之为假值【返回值类型】 逻辑型例: ?empty(“”) empty() ?empty(0) ?empty(.F.) empty() ?empty(ctod(“”) empty(ctot(“”) ?isnull()【函数功能】 测试指定表达式是否为空,如果表达式为null,返回逻辑真值,反之为假值【返回值类型】 逻辑型例:?isnull(null) .T.?isnull(“125”) .F. ?isnull(“”) .F. Isblank()例:? isblank(0) ? isblank(“”) ? isblank(“ ”) ? isblank(null) ?between(,)【函数功能】 如果的值在和之间,则返回逻辑真值,反之为假【返回值类型】 逻辑型例:?between(12,13,20) .F.?between(18,13,20) .T.?between(“c”,”a”,”y”) .T. Null(空值) 不同于0、空字符串、空格 不是一种数据类型,给变量赋NULL值,其数据类型不变,只是值变为NULL。例:Store 5 to nxnx= .null.?type(“nx”) N ?asc() 【函数功能】 返回值的第一个字符的ASC码【返回值类型】 数值型例:?asc(”a”) 97?asc(”Ab”) 65 ?chr()【函数功能】 返回值表示的ASC码转换为字符【返回值类型】 字符型例:?chr(97) a?chr(65) A ?left(),)【函数功能】 从指定是字符串左边第一个字符开始截取字符,形成一个新的字符串 【返回值类型】 字符型例: ?left(”abcde”,2) ab?right(),)【函数功能】 从指定是字符串右边第一个字符开始截取字符,形成一个新的字符串【返回值类型】 字符型例:?right(”abcde”,2) de?right(”abcdefg”,4) defg?left(”abcdefg”,4) abcd ?occurs(,)【函数功能】 返回字符表达式1在字符表达式2中出现的次数【返回值类型】 数值型例:?occurs(”A”,”ABCDABCD”) 2?occurs(”A”,”abcdabcda”) 0 ?trim()【函数功能】 删除指定字符串右边的尾随空格【返回值类型】 字符型例: ?trim(”aba”) aba ?alltrim()【函数功能】 删除指定字符串左右两边的空格【返回值类型】 字符型例:?alltrim(”abc”)+”def” abcdef?alltrim(”abc”)+”def” abcdef Messagebox()函数MessageBox(删除吗?,4+ _32_ ,删除确认)?messagebox(清华大学+chr(13)+计算机科学系,48,提示)?messagebox(目前软驱中无软盘,是否重试?,4+32+256,我的应用程序)?getfile(dbf,表文件名)表 扫 描 循 环 结 构SCAN - ENDSCAN语句SCAN FORENDSCAN功能:执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体。每执行完一次循环体,指针会自动指向下一条满足条件的记录。 范围的默认值为ALL FOR指定对满足条件的记录进行扫描例1:如果在命令窗口输入并执行命令:“LIST名称”后在主窗口中显示:记录号 名称1 电视机2 计算机3 电话线4 电冰箱5 电线假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是:GO 2SCAN NEXT 4 FOR LEFT(名称,2)=“电” IF RIGHT(名称,2)=“线“LOOP ENDIF ?名称ENDSCANA)电话线 B)电冰箱 C)电冰箱电线 D)电视机电冰箱例2:下列两段程序是基于 xs.dbf 表的记录浏览及数据统计程序(表中已有若干个记录),分别运行两段程序,mSum与 nSum 输出结果是否相同:_不同_(回答“相同”或“不同”)【程序1清单】SET TALK OFFUSE xsmSum=0DO WHILE NOT EOF()? xh,xmmSum=mSum+1SKIPENDDOUSE? mSum【程序2清单】 SET TALK OFFUSE xsmSum=0SCAN?xh,xmnSum=nSum+1SKIPENDSCANUSE? nSum例3:设JS表(教师表)的结构及JS 表所包含

温馨提示

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

评论

0/150

提交评论