VF实验报告-表达式,函数,表
实验课程名称 Visual Foxpro 实验项目名称 表达式、函数和表 专 业 班 级
学 生 姓 名 学 号 指 导 教 师
第2章 表达式、函数和表
实验2-1 表达式与函数
1、实验目的:
(1)、掌握常量和变量的使用方法,了解内存变量和数组的特点。 (2)、了解Visual Foxpro 常用函数的功能和使用方法。 (3)、理解Visual Foxpro的各种表达式。
2、实验要求:
(1)、练习常量的写法,内存变量赋值、数组定义及赋值。 (2)、练习常用函数的用法。 (3)、练习表达式计算,识别运算符的优先级别。 (4)、对于本实验安排的错误表达式,请写出出错时的提示信息,并分析出错
原因。
3、实验准备:
阅读主教材2.1.1节中的“命令窗口操作”部分和2.2节。
4、实验步骤:
(1)、判断下面表达式的正误,写出表达式的值并上机验证。
①123+456 ②123+”456” ③”123”+”456” ④5>3>1 ⑤”abc “+”456” ⑥”abc “-”456” ⑦{^2006/06/20}+{2006/06/12} ⑧{^2006/06/20}-{2006/06/12}
其中输入第②、③、⑦、⑧条命令时显示
:
(2)、写出下列命令显示的结果或提示信息,然后上机验证。 ① x=123
?TYPE (”X ”) 显示值或者信息为:X=”123”
?TYPE (”X ”) 显示值或者信息为: X=.T.
?TYPE (”X ”) 显示值或者信息为:X=”.T. ”
?TYPE (”X ”) 显示值或者信息为: X ={^2006/06/10}
?TYPE (”X ”) 显示值或者信息为:X={“^2006/06/10”}
?TYPE (”X ”) 显示值或者信息为 :X=”^2006/06/10”
?TYPE (”X ”) 显示值或者信息为: Store 123* *2-10 TO x,y,z
?"x=",x,"y=",y,"z=",z显示值为:
实验过程如下图所示:
当输入命令 x={"^2006/06/10"}时,出现如下提示:
② DIMENSION a(3) a(1)=123
STORE[I’m a student.] TO a(2)
?a(0)
?a(1) 显示值或者信息为:?a(2) 显示值或者信息为:?a(3) 显示值或者信息为:
实验具体过程如下所示:
说明:VFP 的内存变量和数组具有下述特点。
*内存变量可多次赋予不同类型的值,赋值后其类型与所赋的值的类型相同。 *数组下界的下标为1;数组中不同元素可赋予不同类型的值;在定义数组时,
系统将各数组元素的初值设置为.F. 。
(3)、写出下列函数的返回值,然后上机验证。 ①数值型函数
? INT(123.456)
? INT(-123.456)
? ROUND(123.456,1) ROUND(-1234.567,-1) ? MOD (8.7,3),SQRT(144) 实验显示结果如下:
②字符处理函数
? SUBSTR(“Visual foxpro”,3,5), SUBSTR(“Visual foxpro”,3) ?AT("O","Foxpro",1),AT("O","Foxpro",2),AT("O","Foxpro") ?VAL(“3.14”),VAL(“3.14E2”), VAL(“3.14E ”) ,VAL(“E3.14”)
? STR(3.1415,5,1),STR(3.1415,5) ,STR(3.1415),STR(3.1415,5,5)
? LEN(“ ABCD ”) ,LEN(ALLTRIM(“ ABCD ”)) 实验结果显示如下:
③日期处理函数 ? CTOD(“10/1/99”) ? CTOD(10/1/99) X=DATE()
?DTOC(X),DTOS(X),TYPE(“DTOS(X)”) ? YEAR(X),TYPE(“YEAR(X)”) 实验具体过程如下:
(4)、计算下列表达式的值,指出表达式的类型,然后上机验证。
①?DTOS(DATE())+SPACE(3)+DTOC(DATE()) ②?YEAR({2006/06/10})>2006
③?SUBSTR(“Viosual Foxpro”,8)=”fox ”
④?(1.1+2)^3>66 OR (1.1+2)^3”自由表”) 实验具体过程如下:
注意:VFP 中文版允许在表达式中使用以汉字命名的变量,但若命令中含有汉
字标点符号则属语法错误,初学者很难查出。为避免此类错误,一种有效的方法是:只在需要输入汉字时才打开汉字输入法,汉字输入结束立即转换到英文输入法。
5、思考与操作
1)单个的常量、变量或函数是否是表达式?
单个的常量、变量或函数不是表达式;表达式一般是常量、变量、函数和运算符的组合。
2)VFP 在命令窗口中保留了已使用过的命令,可以将
光标移到命令的任意位置,回车键重新执行;或用常用剪切
(Ctrl+X)、复制(Ctrl+C)、粘贴(Ctrl+V)剪切编辑法,快速生成新命令,以节省时间,减少输入错误。
实验2-2 表的建立与维护
1、实验目的:
(1)、掌握使用表设计器和命令格式创建和修改表结构的方法。 (2)、掌握表记录输入和维护的方法。 (3)、学会使用菜单和命令两种方式对表进行操作。
2、实验要求:
(1)、使用表设计器建立“订单”表,用命令方式建立“员工”表。
(2)、用插入对象和剪贴板两种方式,在员工表中郑大地记录的通用字段输入该员工的照片。 (3)、用复制表结构的方法,建立一个“员工A ”表,用于练习和记录的维护。
3、实验步骤:
(1)使用表设计器建立“订单”表(结构见表2.2.1,记录见图2.2.1),用命令方式建立“员
工”表(结构见表2.2.2,记录见图2.2.2)。
选择:文件——新建——表,打开表设计器即可创建“订单”表。
(2)、创建“员工”表①在命令窗口逐条执行下列命令:
②交互方式输入备注型字段数据:将李芳记录的备注改为“李芳进公司前是销售
员,后提升为销售代表。”备注的首字母变为大写M。
(3)输入通用型数据。
①“插入对象”②剪贴板方法
(4)表和记录的维护。
①在命令窗口执行如下命令,通过复制来生成一个空表“员工A.dbf ”,然后为该表添加一个“工资”字段: USE 员工
LIST STRUCTURE
COPY STRUCTURE TO 员工A
ALTER TABLE 员工A ADD 工资 n(9,2) SELECT 员工A LIST STRUCTURE
②选定菜单命令“显示|表设计器”来打开表设计器,然后将“工资”字段改名为“基本工资字段”,字段宽度为7。
③在命令窗口执行如下命令,将“员工”表中工作号大于0001的记录添加到“员工A ”表中。
append FROM 员工 FOR 工号
>"0001"
④在命令窗口执行如下命令,给“员工A ”表的“基本工资”字段赋值。 REPLACE ALL 基本工资
WITH 800
⑤打开浏览窗口,选定菜单命令“显示|追加方式”,向“员工A ”表添加新纪录。使用 DELETE,RECALL,PACK 命令练习记录的逻辑删除、恢复及物理删除操作。 添加新纪录:
DELETE:添加删除标记
RECALL:取消删除标记
PACK:在带删除标记的前提下,彻底删除。
5、思考与操作
(1)比较试验步骤(2)操作①中最后一天insert 命令与前三条insert 命令异同,
学会用insert 命令输入备注型数据的方法。
答:前三条没有而最后一条 insert 命令输入了备注型字段。
(2)在“员工A ”表中选取一个员工的“照片”字段,使用剪贴板输入图片。 (3)使用表设计器或命令的方式创建“订单明细”、“客户”和“货物”表。 ①创建“订单明细”表:按表2.2.3定义表结构并输入记录。
②创建“客户”表:按表2.2.4定义表结构并输入记录。
明德至善 博学笃行
③创建“货物”表:按表2.2.5定义表结构并输入记录。