1、1,第三章 FoxPro语言基础上机实验,本章上机时间:60分钟 1 实验目的任务 (1)掌握Visual FoxPro的数据类型及运算规则 (2)掌握Visual FoxPro的数据运算及显示命令 (3)掌握Visual FoxPro的常用函数用法 2 实验要求 (1)在示例基础上练习23次 (2)区别FoxPro中的变量、表达式与数学上的相同与不同。 (3)对每个常用函数使用5次以上。,2,Visual FoxPro常量、变量,1、在命令窗口操作(输出值)?3.8 ?”WIN-abc”? 1989-10-23 ? .Y. 2、定义变量,输出变量的值LIST MEMORY LIKE * cl
2、ear memory,store “XYZ“ to s,t STORE 18 TO XY,A=56 b=1.2 ? a,b,将今天日期常量赋给变量DD,将逻辑假值赋给变量LL,3,Visual FoxPro常量、变量,LIST MEMORY LIKE * STORE 10 TO AR,WW,store “EE” to AR WW(1,4)=67 R=1,STORE 65*2.1 TO AB,N,WT DIMESION AR(12), WW(3,5), R(8),注意数组元素的排列顺序 区别数组元素(下标变量)与数组名,4,Visual FoxPro系统函数(1),STORE 18 TO XY
3、? Sqrt(3*xy) ? int(3.6+xy) ? mod(53,7) ? mod(53,-7) ? MOD(-53,7) ? ROUND(2.789+XY,2) ? ROUND(3.45,1) ? ROUND(321.7654,-1) ? MAX(4,2,9,-78,23,15) ? MIN(4,2,9,-78,23,15) ? MAX(5,8,16,XY),数值函数SQRT INT MOD ROUND MAX MIN,5,Visual FoxPro系统函数(2),store 6.7 to m,n,ss,tt store “uvw“+“abc“ to st ? “ss“+space(8
4、)+“kk“ ? len(st+space(3)+“xy”) ? AT(“a“,st) ? at(st, “a“) ? left(st+st,4) ? RIGHT(ST,4) ? subs(st+“defghi“,5,4) CC=“江西财经大学“ ? subs(CC,5,4) ? subs(CC,5) ?subs(“abcdefghijklm“,4,5),字符函数 SPACE LEN AT LEFT RIGHT SUBSTR ISALPHA CHR ASC LTRIM RTRIM,? isalpha(st) ? isalpha(cc) ? CHR(65) ? CHR(76) ? ASC(“L“
5、) k=space(5)+“kk“ ? “jj“+ltrim(k) ? “jj“+k i=“x“+“ “ ? rtrim(i)+“j“ ? i+“j“ ? str(m,6,2),? “k“+ltrim(str(m,6,2)+“k“,6,Visual FoxPro系统函数(3),store date() to rq ? rq ? rq+10 ? year(1998-05-16) ? year(date() ? month(1998-05-16) ? month(date() ? DAY(1998-05-16) ? DAY(date() ? day(1998-05-16+10) ? month(d
6、ate()-25) ? 2008-8-8-date() ? year(date()+10000),日期与时间函数 DATE YEAR MONTH DAY,7,Visual FoxPro系统函数(4),clear memory ? str(234.5678,8,2) ? str(-0.567123,8,4) store 456.7 to ss,tt store “456.78901“ to cc ? “k“+str(ss,5,2)+“k“ ? “kkkkkkkkkk“ ? val(cc) store “09-16-2007“ to qq ? ctod(qq) ? year(ctod(qq) ?
7、“k“+dtoc(date()+“k“ dd=2007-06-18 ? subs(dtoc(dd),1,2) ? subs(dtoc(dd),1,4),数据类型 转换函数 STR VAL CTOD DTOC,8,Visual FoxPro系统函数(5),在第四章中讲述表及表记录后将用到!暂时无法理解 并操作!,数据表处理函数7个 DBF BOF EOF FOUND RECNO SELECT RECCOUNT,9,Visual FoxPro的表达式 (数值),等号右边对应的算术表达式为:(-b+sqrt(b2 - 4*a*c)/(2*a) 给变量赋值: a=-4 b=5 c=1 ? (-b+sq
8、rt(b2 - 4*a*c)/(2*a) x = (-b+sqrt(b2 - 4*a*c)/(2*a) ? x,按课件中的例进行操作和理解!,注意变通!,10,Visual FoxPro的表达式(字符),? “江西 “南昌“ ? “江西 “ - “南昌“ ? len(“江西 “ - “南昌“) CC=“江西财经大学“ dd=subs(dtoc(date(),7,2)+cc store chr(87)+str(345.6789,9,3)-“Y“+“A“ to CS ? CS, DD,CC ? subs(cc+“de“,5,4)+space(6)-“报道“+“股票“注意:现阶段为了表示表达式可计算
9、其值,需要用语句 或称 命令来将某表达式参与到赋值或其它可出现表达式的地方。,11,Visual FoxPro的表达式(日期),? 2007-09-10 - 2006-07-01 ? 2007-06-01 31 ? date()+50 ? date()- 2005-09-10 ? date()-CTOD(“08/16/2008“),12,Visual FoxPro的(关系)表达式,? 2006-09-11 = “ABCDE 学号= “ 0556789“ ? 5江西 set exact on ? “江西财经大学“ 江西 set exact off,13,Visual FoxPro的(逻辑)表达式
10、,构造相应的逻辑表达式(输出其值): 将下列问题构成命题,用VFP表达式描述,判断其真假? 将自己的学号存到ID中,姓名放在name中.学号中连续2位有今天日期的数字或者name中含有”平”字. 今天日期的数字(2个)在ID中也有。 age是你的年龄,年龄是3的倍数或是7的倍数,但不是的6倍数。 (操作者)姓名拼写中包含字母a或n,但没有h。,14,Visual FoxPro第3章实验报告,实验内容:ftp:/210.35.205.52 lq /lq123一周后打印稿交任课教师,并将电子稿传至:ftp:/210.35.205.52 ( lq1 /123456) 班级目录中。 电子稿文档名: 学号+姓名+章序 1234567苏纪酷03章.doc 学号: 7位 ;姓名:中文名,