




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFoxpro6.0,程序设计基础,数学与信息工程系计算机基础教研室,第二讲程序设计初步(2),要点:掌握表达式、函数的基本用法,编写程序的基本元素,命令常量变量表达式函数,对象,表单,标签,文本框,命令按钮,表达式,运算符及表达式,运算符是在VFP中用来进行运算的符号。表达式是由数据、数据存储容器和运算符组成的运算式。,在VFP系统中根据不同的运算符及表达式结果的不同,表达式可以分为以下五种:1、算术表达式2、字符表达式3、日期表达式和日期时间表达式4、关系表达式5、逻辑表达式,1.常见的表达式(1)算术表达式算术表达式的运算结果是数值型常数。,算术运算符:()分组括号*或乘方%取模(除法的余数)*乘、/除、+加、-减,特别注意符号的变化,仔细体会教科书P25【例2-3】,(2)字符表达式字符表达式运算的结果是字符型常数或逻辑型常数。,字符运算符:$包含运算+连接运算-连接运算,字符型常数,逻辑型常数,串1$串2“$”运算实质上是比较两个串的包含关系,其作用是比较、判断串1是否为串2的子串,如果串1是串2的子串,运算结果为“真”,否则为“假”。所谓子串,如果串1中所有字符均包含在串2中、且与串1中排列方式与顺序完全一致,则称串1为串2的子串。,【修改例2-4】设计并运行如图所示的表单,体会运算结果。表单分别有1个标签、3个文本框、1个命令按钮,其caption属性如图所示。,建议:最好不讲组合框,只涉及文本框、标签和命令按钮,“计算”命令按钮的“Click”事件代码:A=alltrim(thisform.text1.value)B=thisform.text2.valuethisform.text3.value=A$B,文本框默认的值为字符型,alltrim()是一个函数,功能是去掉文本框中前后空格,不删除串中间的空格,“+”与“-”都是字符连接运算符,都将两边的字符串顺序连接,但“+”是直接连接,“-”则将串1尾部所有空格移到串2尾部后再连接。,表示空格,【例2-5】设计并运行如图2-12所示的表单,体会运算结果。表单分别有4个标签、2个命令按钮,其caption属性如图2-12所示;2个文本框,其value属性的初值均为空串。,“连接(+)”命令按钮的“Click”事件代码:c1=ALLTRIM(Thisform.Text1.Value)c2=ALLTRIM(Thisform.Text2.Value)thisform.label3.caption=c1+c2+c1“连接(-)”命令按钮的“Click”事件代码:c1=ALLTRIM(Thisform.Text1.Value)c2=ALLTRIM(Thisform.Text2.Value)thisform.label4.caption=c1+-c2+c1,(3)日期表达式或日期时间表达式日期和日期时间运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少天数,在日期时间数据上增加或减少秒数。,注意:日期型不能和日期型数据相加,【修改例2-6】设计并运行如图所示的表单,体会运算结果。3个文本框,text1、text2可以接收日期型的值。表单form1的load事件代码如下:setcenturyon&将日期的年份值设置成4位显示setdatetoymd&日期的显示为年月日setmarkto-&日期分隔符为“-”,双击“计算”命令按钮,编写该按钮的“Click”事件代码。其对应的事件代码为:thisform.text3.value=abs(thisform.text1.value-thisform.text2.value),abs函数的格式为:ABS()。其功能是求数值型表达式的绝对值。,(4)关系表达式关系表达式的运算结果为逻辑型常量。关系成立结果为(.T.);反之,结果为(.F.)。,关系运算符:大于=等于=大于或等于、!=、#不等于=完全等于,(注:只适用于字符型),各种类型数据的比较规则如下:,数值型和货币型数据根据其代数值的大小进行比较。,日期型和日期时间型数据进行比较时,越新的日期或时间越大。,逻辑型数据比较时,.T.比.F.大。,字符型数据(字符串)比较,P32的温馨提示,当字符串比较时,可用命令SETEXACTON/OFF来设置“=”是否为精确比较。在非精确比较(setexactoff默认状态)时,在关系表达式的格式中,只要后一个表达式是前一个表达式的前缀,其结果便为真。,例:”ABCDE”=“A”“ABCDE”=“AB”“ABCDE”=“ABC”“ABCDE”=“ABCD”“ABCDE”=“ABCDE”,例:”A”=“ABCDE”“AB”=“ABCDE”“ABC”=“ABCDE”“ABCD”=“ABCDE”,【例2-7】设计并运行如图2-16所示的表单,体会运算结果。,(5)逻辑表达式逻辑表达式的运算结果仍是逻辑型常量。,逻辑运算符:!、NOT、.NOT.逻辑非OR、.OR.逻辑或AND、.AND.逻辑与,该运算符只有一个操作对象,逻辑运算真值表,【例2-8】设计并运行如图2-18所示的表单,体会运算结果。,“计算”命令按钮的“Click”事件代码为:ifthisform.text1.value=60andthisform.text2.value=60thisform.label3.caption=该同学的计算机等级考试成绩为:通过elsethisform.label3.caption=该同学的计算机等级考试成绩为:不通过endif,表达式值为真表示通过,表达式值为假表示不通过,函数,函数具有特定的功能,分为系统函数和自定义函数两类。,函数具有函数名、参数和函数值三个要素,有的函数缺省参数。,函数调用的一般形式为:函数名(参数表),一、数值处理函数,1)取整函数,INT(),格式:,无条件去掉小数部分,不进行四舍五入,2)求余数函数,格式:,MOD(,),例如:MOD(38,5),MOD(38,-5),MOD(-38,5),MOD(-38,-5)?38%5,38%-5,-38%5,-38%-5,函数值与同号,3-22-3,3-22-3,【例】将一个3位整数X的百位数字和个位数字取出来。X的百位数字:X1=INT(X/100)X的个位数字:X2=MOD(X,10),仔细体会教科书P35【例2-10】,【例2-10】设计一表单,要求能输入一个3位数,并逆序显示(如输入756,则显示657)。表单设计界面如图2-22所示,运行结果如图2-23所示。,设计如图2-22所示表单,文本框text1的value属性的初值为0。命令按钮“逆序显示”的“click”事件代码如下:x=thisform.text1.valuex1=INT(x/100)x2=INT(MOD(x,100)/10)x3=x%10y=x1+10*x2+100*x3thisform.label2.caption=结果为:+STR(y,3),3)四舍五入函数,格式:,ROUND(,),【例】ROUND()函数的使用。x=486.735ROUND(x,4-2),ROUND(x,1),ROUND(x,0),ROUND(x,-1),ROUND(X,-2),486.735位置:-2-10123对+1位四舍五入,486.74486.7487490500,5)随机函数,格式:,RAND(),6)函数,格式:,PI(),4)求平方根函数,格式:,SQRT(),产生01之间的随机数,圆面积S=PI()*R*R,例如:INT(RAND()*100),(0,100)的整数,二、字符串处理函数,1)求字符串长度函数,LEN(),格式:,2)生成空格函数,SPACE(),格式:,【例】LEN(SPACE(8)-SPACE(3),11,3)删除字符串前后空格函数,RTRIM()LTRIM()ALLTRIM(),格式:,删除后面的空格,删除前面的空格,删除前后空格,4)求子串位置函数,格式:,AT(,),5)取子串函数,格式:,LEFT(,)RIGHT(,)SUBSTR(,),【例2-11】设计并运行如图2-24所示表单,体会表单运行结果。表单分别有4个标签、1个命令按钮,其caption属性如图2-24所示;3个文本框。其功能是能在文本框text1中输入一字符串,根据文本框text2和text3中输入的数值,取出子串,运行结果如图2-25所示。,“取子串”命令按钮的“Click”事件代码为:C=alltrim(thisform.text1.value)N1=thisform.text2.valueN2=thisform.text3.valuethisform.label4.caption=substr(c,n1,n2),6)宏替换函数,格式:,&.,分界符,【修改例2-12】表单界面如图2-26所示,体会运算结果。,命令按钮“计算”的“click”事件代码如下:x1=thisform.text1.valuex2=thisform.text3.valuefh=alltrim(thisform.text2.value)y=x1&fh.x2thisform.text4.value=y,三、日期时间函数,1)系统日期和系统时间函数,格式:,DATE()TIME()DATETIME(),字符型,2)求年份、月份和天数函数,格式:,YEAR(|)MONTH(|)DAY(|),返回值4位,四、数据类型转换函数,1)字符串转换为数值函数,格式:,VAL(),【例】VAL()函数的使用。VAL(X12.8),VAL(-35.875),VAL(3A.79),VAL(”32”+”18”),0.00-35.883.00,3218.00,VAL(”32+18”),32.00,2)数值转换成字符串函数,格式:,STR(,),【例】STR()函数的使用。P=-348.387STR(P,9,2)STR(P,6,2)STR(P,3)STR(P,6)STR(P)STR(P,10,4),-348.39,表示空格,-348.4,*,-348,-348,-348.3870,【例】修改【例1-1】设计如图表单,圆面积用标签输出。,【例】命令按钮“计算圆面积”的“click”事件代码如下:R=thisform.text1.valueS=pi()*r*rthisform.label3.caption=alltrim(str(s,8,1),只接收字符类型,3)字符与ASCII之间的转换函数,格式:,ASC()CHR(),【例2-15】如图2-32所示为表单的设计界面,运行该表单,在文本框Text1中输入一字符R,单击“转换”命令按钮后,标签label2的位置将显示什么?“转换”命令按钮的CLICK事件代码:x=thisform.text1.valuey=CHR(ASC(x)+1)thisform.label2.caption=y,4)日期或日期时间与字符串转换函数,格式:,CTOD()DTOC()CTOT()TTOC(),五、测试函数,1)条件测试函数,格式:,IIF(,),2)数据类型测试函数,格式:,VARTYPE(),六、系统对话框函数,格式:,MESSAGEBOX(,),函数名不能省略,对话框类型及含义,函数的返回值,【例2-16】修改【例2-10】中命令按钮“逆序显示”的“click”事件代码,要求能输入一个数,并逆序显示(如输入756,则显示657),如果输入的不是一个3位自然数,将弹出提示框,如图2-34所示。,命令按钮“逆序显示”的“click”事件代码如下:x=thisform.text1.valueifx=100andx1000andx=int(x)x1=INT(x/100)x2=INT(MOD(x,100)/10)x3=MOD(x,10)y=x1+10*x2+100*x3thisform.label2.caption=结果为:+STR(y,3)elsemessagebox(输入的不是一个3位自然数,请重新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册会计师招聘面试要点及模拟题解析
- 2025年采购管理专员求职攻略与模拟题集全解
- 电信网络安全知识培训课件
- 2025年热切割技术面试模拟题及答案
- 2025年医疗技术专家中级面试预测题及备考指南
- 2025年美妆行业:谷雨品牌拆解-解数咨询
- 某中小学二年级新学期家长会-动态
- 停顿和重音课件教学
- 田字演变课件
- 24孝图教学课件
- 化工操作工培训课件
- 血透室设备维护与操作规范
- 2025至2030高校后勤行业发展趋势分析与未来投资战略咨询研究报告
- 2025中国电信安全公司春季校园招聘笔试参考题库附带答案详解(10套)
- 通信技术未来发展趋势
- 整形美容外科进修汇报
- 立达RSBD并条机培训资料讲课文档
- 2025年幼儿园膳食工作计划
- 2025车位包销合同
- 心绞痛健康宣教课件
- 奥尔夫音乐教师培训课件
评论
0/150
提交评论