欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    第二章VF程序设计的基础.docx

    • 资源ID:12529754       资源大小:35.34KB        全文页数:40页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二章VF程序设计的基础.docx

    1、第二章 VF程序设计的基础程序设计的基础数据类型:每一个数据都有一定的类型,数据类型决定了数据的存储方式和运算方式,大多数程序设计允许使用常量、变量和数组来存储数据;一、常量: 有6种类型:(数值型、货币型、字符型、日期型、日期时间型、逻辑型)(1) 数值型(N):由数字0-9、小数点、正负号构成。如:12、0.1、-1.23;还可以用科学记数法表示如:1.3E-12表示1.3*10-12(2) 货币型(Y):在数值前导货币符号($),保留四位小数,能够自动四舍五入如:$123.45678存储为$123.4568(3) 字符型(C):习惯称为字符串,由中、英、数字等字符组成。表示方法用单引号(

    2、 )、双引号(” ”)、方括号()三种定界符将字符串括起来。定界符必须成对出现,如“AB是不合法的、”计算机”是合法的。当定界符作为字符串内容时外层定界符要加以区分如:”我们”是合法的,”我们”是非法的。(4) 日期型(D):分传统和严格日期格式两种; 传统日期格式默认为美国日期格式:”mm/dd/yy”(月/日/年),年份可以是2位数字,也可以是4位数字,如:10/08/01、10-08-01、10/08/2001 严格式日期格式:年/月/日 书写规则是用花括号”作为定界符,第一个字符为脱字符”年份为四位、按年月日顺序书写不能颠倒如:2008/08/08影响日期格式命令: 、设置日期显示分隔

    3、符:SET MARK TO 分隔符 当SET MARK TO 后没指定任何分隔符时,恢复系统默认的分隔符斜杠(/)。 、设置日期显示格式:SET DATE TO YMD|DMY|MDY YMD 设置为年月日格式; DMY:设置为日月年格式; MDY:设置为月日年格式; 、设置显示年份位数(2位或4位):SET CENTYURY OFF|ON OFF为2位 ON为4位)(5)日期时间型(T):分传统和严格日期时间格式两种:严格日期时间格式:(年/月/日),小时:分:秒 书写规则与日期型相似(6)逻辑型(L):逻辑型数据用句点作为定界符,只有两个值逻辑真和逻辑假。 逻辑真用:.T.,.Y.表示(大

    4、小写不区分) 逻辑假用:.F.,.N.表示(大小写不区分)二、变量:值能够随时更改的量变量通过变量名来进行访问;变量名的命名规则:以字母、汉字、下划线开头(数字不能开头),后面接字母,汉字,数字和下划线构成。VF中变量分为:字段变量和内存变量两大类,内存变量又分:简单内存变量和数组(一维和二维数组)(1)、字段变量:就是我们所说的表中的字段,因为字段的取值是可变的,所以表中的字段名又叫字段变量,其值是当前记录指针所指的值(类型包含:字符型、数值型、货币型、日期型、日期时间型、逻辑型、整型、通用型和备注型)(2)、内存变量:是内存中的一个存储单元,变量的值就是存放在这个单元里的数据。(6种类型:

    5、字符型C、数值型N、货币型Y、日期型D、日期时间型T、逻辑型L) 如果内存变量与数据表中的字段变量同名,用户在引用内存变量时,要在变量名字前加一个“M.” 或“M-”,用来强调这个变量是内存变量。 1、内存变量的赋值: 格式1: = 注:一次只能给一个内存变量赋值 格式2:STORE TO , 注:同时给多个变量赋予相同的值功能说明: A:等号一次只能给一个内存变量赋值。STORE命令可以同时给多个变量赋予相同的值,各个内存变量名之间应用逗号分隔开。 B:一个变量在使用之前并不需要特别声明。当用STORE命令给变量赋值时,如果该变量不存在,那么系统会自动建立它。 C:如果要改变内存变量的内容和

    6、类型可以通过对内存变量重新赋值来完成。例:给内存变量赋值: NJ=大学 给变量NJ赋字符值;STORE 1234567890 TO XH 给变量XH赋字符值;STORE SQRT(32+42)TO na1,na2,na3 赋予相同的数值; 输出变量的值: ?; ?;2、内存变量的显示: 格式1:LIST MEMORY LIKE 格式2:DISPLAY MEMORY LIKE功能:显示内存变量的当前信息,包括变量名、作用域、取值和类型。注:A;通配符包括*和?。 *表示多个字符; ?表示一个字符。 B:内存变量名不能加定界符;区别:LIST MEMORY:一次显示与通配符的所有内存变量,如果内存

    7、变量多,一屏显示不下,则自动向上滚动。DISPLAY MEMORY 分屏显示与通配符的所有内存变量,如果内存变量多,显示一屏后暂停,只要按任意键后就可以继续显示下一屏。 选用LIKE短语只显示与通配符相匹配的内存变量,通配符包括*和? 例:STORE “BOODBEY” TO X1 STORE “HELLO” TO X2 DISPLAY MEMORY LIKE A*显示所有以“A”开头的内存变量。3、清除内存变量: 格式1:CLEAR MEMORY 格式2:RELEASE 格式3:RELEASE ALL EXTENDED 格式4:RELEASE ALL LIKE | EXCEPT功能说明:格式

    8、1:清除所有内存变量; 格式2:清除指定的内存变量; 格式3:清除所有内存变量,在人机会话状态其作用与格式1相同,如果出现在程序中,则应加上短语EXTENDED,否则不能删除公共内存变量。 格式4:选用LIKE短语清除与通配符相匹配的内存变量,选用EXCEPT短语清除与通配符不相匹配的内存变量。例:RELEASE X1,X2 释放内存变量X1,X2RELEASE ALL LIKE A* 释放所有以变量A开头不的内存变量。三、数组:是在内存中连续的一片存储区域,它由一系列元素组成,每元素相当于一个简单内存变量。1、创建数组格式: A:DIMENSION (,), B:DECLARE (,),注:

    9、1、两种格式的功能等价,数组创建后,系统自动给每个数组元素赋予初值逻辑假.F. 2、各数组元素数据类型可以不相同 3、数组的下限规定为1,访问时不能超限 4、可以用一维数组形式去访问二维数组5、在赋值和输入语句中使用数组名时,表示将同一值同时赋值给该数组的全部元素6、定义(访问)数组时也可以用方括号,如DIME BY3 等价于DIME BY(3)7、在一切可以使用简单内存变量的地方都可以使用数组元素。内存变量就像一个盒子,而变量的值就相当于放在盒子里边的物体。盒子是固定不变的,而放在盒子里的物体却能更换。即内存变量类型取决于变量值的类型,内存变量的(值和类型)随重新赋的值改变而改变,以后一次赋

    10、值为准。例如:DIMENSION A(4),B(2,3)命令定义两个数组。一维数组A含4个元素:A(1),A(2),A(3),A(4)。二维数组B含6个元素:B(1,1),B(1,2),B(1,3),B(2,1),B(2,2),B(2,3)例:数组的定义赋值: DIMENSION A(2),B(2,2) 定义两个数组; A=100 将A数组所有元素赋值为100 B(1,1)=A(1) 引用A数组的元素给B数组元素赋值; STORE .T. TO B(1,1)给B数组的一个元素重复赋逻辑值; B(1,2)=南京大学 给B数组的一个元素赋字符值“南京大学” B(2,1)=2006/11/16 给B

    11、数组的一个元素赋日期值 B(2,2)=2006/11/16 10:00:00 AM给B数组的一个元素赋严格的日期时间值?A(1)+A(2),B(2,1) 系统主窗口显示:200 2006/11/16在使用数组和数组元素时,应注意以下问题: 在一切可以使用简单内存变量的地方,均可以使用数组元素。 在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。 在同一个运行环境下,数组名不能与简单变量名重复 在赋值语句中的表达式位置不能出现数组名,可以出具体的数组元素名。 可以用一维数组的形式访问二维数组;二、表与数组之间的数据传递 1、将表的当前记录复制到数组:将表的当前记录复制到

    12、数组 命令:SCATTER TO 格式1:SCATTER FIELDS MEMO TO BLANK格式2:SCATTER FIELDS LIKE FIEKDS EXCEPT MEMO TO BLANK 2、将数组数据复制到表的当前记录将数组数据复制到表的当前记录 命令:GATHER FROM 例:上机操作(1)将表的当前记录复制到数组:scatter to Dimension aa(3)use 仓库 scatter to aa ?aa(1),aa(2),aa(3) (2)将数组数据复制到表的当前记录:gather from Dimension ab(1,3) Ab(1,1)=”WH1” Ab(

    13、1,2)=”芜湖” Ab(1,3)= 600 Use 仓库 Append blank Gather from ab ?仓库号,城市,面积三、表达式:是由常量、变量和函数通过特定运算符连接起来的式子。表达式最终总会有一个结果出来.表达式可分为数值表达式、字符表达式、日期时间表达式和逻辑表达式。大多数逻辑表达式是带比较运算符的关系表达式1.数值、字符与日期时间表达式(1)数值表达式:是由算术运算符将数值型数据连接起来形成的,运算结果仍然为数值型数据,数值型数据可以是数值型常量和变量。 运算符:( ),* ,(平方),/,% 算术运算符 乘方: (shift + 6)等价于* 求余运算 % 和 mo

    14、d( ) 函数相同 (2)字符表达式:由字符串运算符与字符型数据连接起来形成,运算结果仍然是字符型数据,字符运算符有两个:“+”和“-”,它们的运算优先级相同。 +: 前后两个字符串首尾连接形成一个新的字符串 -:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。(3)日期时间表达式:日期时间表达式中可以使用的运算符也有“+”和“-”两个,日期时间表达式的格式有一定限制,不能任意组合。 对:日期 - 日期 例子: 2005-05-02- 2005-05-01=-1 结果为数值型 日期 + 天数 例子: 2005-05-02+5= 2005-05-07结果为日期型日期 - 天数

    15、 例子: 2005-05-02-5= 2005-04-27 结果为日期型日期时间 - 日期时间 例子:2005-05-02 17:05:28 - 2005-05-02 17:05:25 =-3 结果为数值型日期时间 + 秒数 例子:2005-05-02 17:05:28 +10=2005-05-02 17:05:38 结果为日期时间型日期时间 - 秒数 例子:2005-05-02 17:05:28 -10=2005-05-02 17:05:18 结果为日期时间型 错:日期 +/- 日期时间型 ,日期时间 +/- 日期,日期+日期,日期时间+日期时间 注:日期和日期时间不可以相加减。2. 关系表

    16、达式:关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来形成的,作用是比较两个表达式的大小或者前后,运算结果为逻辑型数据,它们的优先级相同。 运算符 小于 15 大于 A 1 .T. = 等于 2+4 = 6 .F. 、#、!= 不等于 5 -10 .T. 关系运算符的优先级别相同。关系表达式运算时,就是比较同类型两数据对象的“大小”,对于不同类型的数据,其“大小”或者是值的大小,或者是先后顺序。日期或日期时间数据以日期或时间的先后顺序为序。在Visual FoxPro系统中,字符型数据的比较相对复杂,默认规则为:1)单个字符 单个字符的比较是以字符ASCII码的大小,

    17、作为字符的“大小”,也就是先后顺序; 2)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉字的拼音顺序比较“大小” 2)字符串 两个字符串进行比较的基本原则是从左到右逐个字符进行比较。 当两串做“= =”和“=”比较时,运算结果与SET EXACT ON/OFF的设置有关。默认是OFF状态。 精确比较:用运算符=进行两串的精确比较时,只有当两串长度相同,字符相同,排列一致时才成立;(EXACT ON或OFF) 相等比较:用运算符进行两串比较,当处于OFF状态时,只要右边的字符串与左边字符串的前部分内容相匹配,结果就为真.T.。例如:“abc”=“abd”为假, “abc”=“abcde”为

    18、假,“abcde”=“abcfd”为真;当处于ON状态时,先在较短字符串的尾部加上若干个空格,使两个字符串长度相等,然后再进行比较。例如: “abc”=“abcde”为假,“ab ”=“ab ”为真; 大小比较:用运算符进行两串比较时,比较到第个不相同字符为止,否则,长度较长的串较“大”; 其他比较:除上述运算符之外的其他运算符、=的比较,均可看作是两个运算符以逻辑“或”的关系构成的复合运算; (5).逻辑表达式 由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。表为逻辑运算符的功能。逻辑运算符前后一般要加圆点“.”标记,以示区别。 表 逻辑

    19、运算符 运算符 功能 优先级别 ( ) 圆括号 最高 .NOT.或! 逻辑非 .AND. 逻辑与 a .and. b .or. c.and. f .OR. 逻辑或 最低 a .and. b 对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,表所示就是逻辑运算真值表。 表 逻辑运算真值表 A B A .AND.B A .OR. B .NOTA T T T T F T F F T F F T F T T F F F F T 例如: ?1733 .AND”A”13 .or.A2005.5.16 or 122 and .T.”12” and (-10%-3=-1) .F. or .F. or .T.

    20、 .T.四、常用函数(一)字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异。字符函数:1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符。返回值类型是字符型。例:取姓名字符串中的姓。store 王小二 to xm?substr(xm,5,6)结果为:二 ?substr(“efghfgfsf”,2,7) fghfgf2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型。trim(字符串):删除字符串的尾部空格alltrim(字符串):删除字符串的前后空格ltrim(字符串):删除字符

    21、串的前面的空格例:去掉第一个字符串的尾空格后与第二个字符串连接store abcd to xstore efg to y?trim(x)+y ?”abcd”+yabcdefg3.空格函数:格式:space(n)说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).例:定义一个变量dh,其初值为8个空格store space(n) to dh4.取左子串函数:格式:left(c,n)功能:取字符串C左边n个字符。 X=”abcdefgm”?left(X,5)5.取右子串函数:格式:right(c,n)功能:取字符串c右边的n个字符例:a=我是中国人?right(a,4)国人?lef

    22、t(a,2)我6.计算子串出现次数函数:格式:occur(字符表达式1,字符表达式2)功能:返回第一个字符串在第二字符串中出现的次数,函数值为数值型。若第一个字符串不是第二个字符串的子串,则函数值为0.例:?occur(ga,cdefagaabb)17.求子串位置函数:格式:At(字符串1,字符串2)功能:返回字符串1在字符串2的位置例:?At(授,副教授) 5 X=”ce” Y=”abcefg”?at(x,y) at(”ce”, ”abcefg”) 38.大小写转换函数:格式:lower(字符串) upper(字符串)功能:lower( )将字符串中的字母一律变小写;upper()将字符串中

    23、的字母一律变大写例:bl=FoxBASE?lower(bl)+space(2)+upper(bl)foxbase FOXBASE9.求字符串长度函数:格式:len(字符串)功能:求指定字符串的长度例:a=中国人?len(a)6 10字符串匹配函数:like(字符表达式1,字符表达式2)功能:比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真,否则返回逻辑假。中可以包含通配符“*”和“?”。“*”可与任何数目的字符相匹配,“?”可与任何单个字符相匹配。例:like(“ab”,”abcde”)(二)数学运算函数:1.取整函数:格式:int(数值)功能:取指定数值的整数部分。例:

    24、取整并显示结果?int(25.69)25格式:ceiling(表达式)功能:返回大于或等于指定表达式的最小整数。、?ceiling(2009.3)2010格式:floor(表达式)功能:返回小于或等于指定表达式的最大整数。?floor(2009.9)20092.四舍五入函数:格式:round(数值表达式,小数位数)功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理例:对下面给出的数四舍五入并显示其结果?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)3.1416 2049 20003.求平方根函数:格式:sqrt

    25、(数值)功能:求指定数值的算术平方根例:?sqrt(100)104.最大值、最小值函数:格式:Max(数值表达式1,数值表达式2)Min(数值表达式1,数值表达式2)功能:返回两个数值表达式中的最大值和最小值例:x1=123.456x2=234.567?max(x1,x2)234.567?min(x1,x2)123.456 ?min(3.1,6,2,6,9) 25.求余数函数:% 15%4格式:mod(表达式1,表达式2)功能:求表达式1对表达式2的余数例:?mod(-10, -3)36.求圆周率函数格式:pi()功能:返回圆周率(数值型)。该函数没有自变量。 7.绝对值函数功能:abs(数值

    26、表达式)功能:返回指定数值表达式的绝对值。例:?abs(-21)21格式:sign(数值表达式)功能:返回指定数值表达式的符号。?sign(211)+1?sign(-213658763)-1(三)转换函数:1.数值转数字字符串函数:格式:str(n,n1,n2) substr(c,n1,n2)功能:将数值n转换为字符串,n1为总长度,n2为小数位例:?str(321.56)322 &隐含四舍五入取整转换为字符型数据?str(321.56,6,2)321.562.字符转数值函数:格式:val(s)功能:将数字字符串s转换为数值例:x=24y=76?val(x)+val(y)1003.字符转日期函

    27、数:格式:ctod(c)功能:将日期字符串c转换为日期例:set date ansi &日期格式设为美国标准化协会格式?ctod(2005.11.14)2005.11.144.日期转字符函数:格式:dtoc(d)功能:将日期d转化为日期字符串例:将日期型数据转化为字符型日期数据并显示汉字日期。set century on &开启世纪前缀,即日期中年份用4位表示set date ansirq=2005.11.14rq=dtoc(rq)=”2005.11.14”?substr(rq,1,4)+年+substr(rq,6,2)+月+substr(rq,9,2)+日2005年11月14日5.时间转字符函数:格式:ttoc(时间)功能:将时间转为时间字符串6.字符转时间函数:格式:ctot(c)功能:将时间字符串转化为时间7.字符串替换函数:格式:stuff(,)功能:从指定位置开始,用的值去替换中指定个数字符。若为零,直接插入;若为空字符串,则删除中指定个数的字符。例:X=祝大家新年好!?stuff(X,7,4,春节)祝大家春节好!?stuff(X,11,0,春节)祝大家新年春节好!?stuff(x,7,4, )祝大家


    注意事项

    本文(第二章VF程序设计的基础.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开