VFP程序设计基础实验.doc

上传人:rrsccc 文档编号:11040048 上传时间:2021-06-20 格式:DOC 页数:57 大小:86KB
返回 下载 相关 举报
VFP程序设计基础实验.doc_第1页
第1页 / 共57页
VFP程序设计基础实验.doc_第2页
第2页 / 共57页
VFP程序设计基础实验.doc_第3页
第3页 / 共57页
VFP程序设计基础实验.doc_第4页
第4页 / 共57页
VFP程序设计基础实验.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《VFP程序设计基础实验.doc》由会员分享,可在线阅读,更多相关《VFP程序设计基础实验.doc(57页珍藏版)》请在三一文库上搜索。

1、VFP程序设计基础实验9 导读:就爱阅读网友为您分享以下“VFP程序设计基础实验9”的资讯,希望对您有所帮助,感谢您对的支持!3、drop table zgda4 &删除自由表zgda4(请用close database把数据库关掉,否则删除不掉) 4、insert into: open database SQLLX &请打开数据库SQLLX create table zgda4.dbf (编号 c(6),姓名 c(6),年龄 n(2,0),出生日期 d,婚否 L) insert into zgda4(编号,姓名,年龄,出生日期,婚否) values (张三insert into zgda4(

2、编号,姓名,年龄,出生日期,婚否) values(李四insert into zgda4(编号,姓名,年龄,出生日期,婚否) values(王五5、delete dele from zgda4 where 年龄=40 &用list命令显示记录,可看到2条记录加上了删除标记。 6、update update zgda4 set 年龄=年龄+1,出生日期=出生日期-1 &没有where条件,则更新全部记录 update zgda4 set 年龄=年龄+1,出生日期=出生日期-1 where 婚否=.t. &更新已婚记录 7、select查询(运行下面的语句,说出其含义) select * from

3、 zgda select all 职称 from zgda &all可省略,查出所有记录的职称字段值 select distinct 职称 from zgda &查出所有记录的职称字段值,去掉重复行。 select 姓名,性别,年龄,职称 from zgda select top 3 * from zgda order by 编号 desc &查编号最大的前3条记录 select top 50 percent * from zgda order by 年龄 desc &查年龄最大的前一半记录 select 姓名,性别,年龄,职称 from zgda where 性别=男号 & 等同于:wher

4、e 性别 like 男select 姓名,性别,年龄,职称 from zgda where 职称=讲师性别 asc,年龄 desc select 姓名,性别,年龄,职称 from zgda where 年龄 between 40 and 50 &包括40和50 select 姓名,性别,年龄,职称 from zgda where 年龄 = 40 and 年龄 select 姓名,性别,年龄,职称 from zgda where 年龄 not between 40 and 50 &年龄不在40和50范围内 select * from zgda where 姓名 like 刘% &查询所有姓刘的记

5、录 select * from zgda where 姓名 like 王_ &查询所有姓王且姓名只有两个字符的记录 select 姓名,性别,年龄,职称 from zgda where 姓名 not like 王% &查询所有不姓王的记录 where后面的特殊运算符(in ;between and ;like) select 姓名,性别,年龄,职称 from zgda where 姓名 in ( 刘王 &查姓刘和姓王的记录,与下一语句等价。 select 姓名,性别,年龄,工资,职称 from zgda where 姓名 =刘姓名 =王 select 姓名,性别,年龄,职称 from zgda

6、 where 职称 in (讲师副教授select 姓名,性别,年龄,职称 from zgda where 职称=讲师职称=副教授注:in 运算符:判断表达式的值是否等于指定列表中几个值中的一个 select 职称,avg(年龄) from zgda group by 职称 &查每种职称的职工平均年龄 select 职称,avg(年龄) 平均年龄from zgda group by 职称 &同时给表达式avg(年龄) 命名为 平均年龄 *将上面的两条语句中的avg换成sum后,再运行,看功能是什么? select 职称,avg(年龄) from zgda group by 职称 having

7、avg(年龄)40 &平均年龄40的分组会显示 select max(年龄) from zgda &查表中最大年龄值,最小用min select职称,max(年龄) from zgda group by 职称 &查每种职称的职工最大年龄,最小用min select count(*) 职工人数 from zgda &查表中人数,职工人数为自定义别名 select count(性别) from zgda &查性别字段值的行数(计重复值) 结果为:8 select count(distinct 性别) from zgda &查性别字段值的行数(不计重复值)结果为:2 select 性别,count(

8、*) 职工人数 from zgda group by 性别 &查男女职工人数,职工人数为自定义别名 查询去向: select * from zgda where 性别=女 into table dagirl &查女生记录,存于表dagirl中(use dagirl/list看结果) select * from zgda where 性别=男 into cursor temp &查男生记录,存于临时表temp中(list看结果) select * from zgda where 性别=男 into array AA &查男生记录,存于数组AA 中(display memory 看结果) sele

9、ct * from zgda where 性别=男 to file da additive &以追加方式存于文本文件da.txt 中(无additive,覆盖方式) 将上一条语句改为:to screen &结果送到主屏幕;to printer &结果送到打印机 连接查询: ? 查询出给职工E3发订购单的供应商的信息.(下面的几条语句功能相同) select g.供应商号,供应商名,地址 from 供应商 g,订购单 d where d.供应商号=g.供应商号 and 职工号= select g.供应商号,供应商名,地址 from 供应商 g inner join 订购单 d on d.供应商号

10、=g.供应商号 where 职工号=select 供应商号,供应商名,地址 from 供应商 where 供应商号 in (select 供应商号 from 订购单 where 职工号=) select * from 供应商 g where exist (select * from 订购单 d where d.职工号=“E3” and d.供应商号=g.供应商号) ? 查询出没有给职工E3发订购单的供应商的信息. select * from 供应商 g where not exist (select * from 订购单 d where d.职工号=“E3” and d.供应商号=g.供应商号

11、) ? 上机调试教材中的下列例子:(所用的源文件在教材中光盘中的vpf1文件夹,拷贝后要去掉”只读”属性) 13.9-13.10-13.11-13.12-13.13-13.14-13.24-13.25-13.26-13.27-13.29-13.30-13.35 VFP程序设计基础实验指导书 (服务教材:Visual FoxPro 6.0程序设计 第2版 李淑华 高等教育出版社) 版权所有:沈阳工程学院 计算中心 前 言 学习数据库程序设计,上机实训是十分重要的环节。为了方便读者上机练习,本实训指导书设计了12个实训。这些实训和课堂教学紧密配合,通过有针对性的上机实训,可以更好地熟悉 Visua

12、l FoxPro的功能,掌握 Visual FoxPro程序设计的方法,并培养一定的应用开发能力。建议每个实训安排2机时左右,也可以根据实际情况从每个实训中选择部分内容上机练习。 为了达到理想的实训效果,请务必做到以下几点: 1、实训前认真准备,要根据实训目的和实训内容,复习好实训中可能要用到的命令,想好编程的思路,做到胸有成竹,提高上机效率。 2、实训过程中积极思考,要深入分析命令、程序的执行结果以及各种屏幕信息的含义、出现的原因并提出解决办法。 3、实训后认真总结,要总结本次实训有哪些收获,还存在哪些问题,并完成实训指导书要求填写的内容。 程序设计和应用开发能力的提高需要不断的上机实践和长

13、期的经验积累,在上机过程中会碰到各种各样的问题,分析问题和解决问题的过程就是经验积累的过程。只要按照上面3点要求去做,在学完本课程后就一定会有很大的收获,计算机应用能力就会有很大提高。 【实训1】熟悉VFP环境 实训目的: 1熟悉VFP系统的操作环境。 2掌握VFP系统的启动和退出方法。 3掌握MSDN帮助文件的使用方法。 实训内容: 1.VFP系统的启动 (1)点击“开始”菜单中的“程序”选项。 (2)找到Visual FoxPro 6.0的快捷方式来启动VFP。 注:Visual FoxPro 6.0的可执行文件为vfp6.exe,其所在目录随安装的位置的不同而不同,一般为:“C:Prog

14、ram FilesMicrosoft Visual StudioVfp98VFP6.EXE。 2.在桌面上建立vfp6.exe的快捷方式 (1) 首先找到VFP的可执行文件vfp6.exe,依次打开C:Program FilesMicrosoft Visual StudioVfp98文件夹,找到VFP的可执行文件为vfp6.exe。(根据具体实训环境的不同,该文件的位置可能不同) (2)选中vfp6.exe文件。 (3)右键拖动vfp6.exe文件到桌面空白处,在弹出的快捷菜单中选择“在当前位置创建快捷方式”菜单项,即可在桌面上建立vfp6.exe的快捷方式。双击刚刚建好的快捷方式也可以启动v

15、fp环境。 3.退出VFP(以下方法并列) 方法1:在“命令”窗口中,输入命令“quit”。 方法2:直接按Alt+F4。 方法3:在“文件”菜单中,选择“退出”命令。 方法4:双击主窗口左上角的控制菜单框。 方法5:在主窗口控制菜单中,选择“关闭”。 4.认识VFP界面 (1) 在vfp主窗口中依次找到标题栏、菜单栏、工具栏、状态栏的位置。 (2) “常用”工具栏的关闭。 单击“显示”菜单中的“工具栏”菜单项。 在弹出的窗口中,找到“工具栏”列表框中的“常用”项,鼠标单击去掉“常用”工具栏前面的选中标记。 单击“确定”按钮,即可关闭“常用”工具栏。 (3) “常用”工具栏的显示。 单击“显示

16、”菜单中的“工具栏”菜单项。 在弹出的窗口中,找到“工具栏”列表框中的“常用”项,鼠标单击选中“常用”工具栏前面的选中标记。 单击“确定”按钮,即可显示“常用”工具栏。 注:其他工具栏的显示与关闭与上面的方法相同,请读者自己练习。 (3)命令窗口显示与关闭。 方法1:单击“窗口”菜单中的”命令窗口” 菜单项来显示命令窗口,再次单击“窗口”菜单中的”命令窗口”菜单项可关闭命令窗口。 方法2:CTRL+F2(显示命令窗口)/ CTRL+F4(关闭命令窗口) 5.利用MSDN帮助文件查找要解决的问题 (1)进入帮助系统有三种方法。 方法1:在命令窗口中,输入“help”命令后,回车。 方法2:调用“

17、帮助”菜单。 方法3:在VFP窗口中的任一位置选中需要获得帮助的内容,按“F1”功能键。 (2)选择“活动子集”为“Visual Foxpro文档”,保证用户查看到的是关于vfp的帮助内容。 (3)选中“搜索”标签,输入要搜索的关键字。例如输入“系统容量”四个字,单击“列出主题”按钮列出符合条件的主题。 (4)用鼠标双击找到的主题,在右边的窗口部分即可看到要查找主题的相关内容。(当然用户也可以在“目录”选项卡下以目录的形式来浏览vfp的帮助内容。) 注:帮助文件的位置:通常情况下,VFP6的MSDN帮助文件位置在c:program filesMicrosoft Visual studiomsd

18、n9898vs2502,文件名为foxhelp.chm。 (5)请读者找到所在的实训环境下,VFP6的MSDN帮助文件foxhelp.chm的存放位置。 【实训2】项目管理器的基本操作 实训目的: 1.掌握工作目录的设置方法。 2.掌握项目管理器的基本操作。 3.掌握如何建立表文件及备注和通用字段内容的输入方法。 实训内容: 1.设置D:VFPLX文件夹为工作目录(两种方法) 首先在D盘新建立一个名为VFPLX的文件夹。 方法1:菜单方法 (1)依次单击“工具”菜单中的“选项”菜单项。 (2)单击选中”文件位置”选项卡中的“默认目录”项。 (3) 单击“修改”按钮,在弹出的“更改文件位置”对话

19、框中,选中“使用默认目录”选项。 (4)在“定位默认目录”下面的文本框输入新的工作目录文件夹路径,单击“确定”按钮。例如输入:D:VFPLX。 方法2: 命令操作的格式为:set default to 目录名 (1)在命令窗口中输入:set default to D:VFPLX (2)回车执行上面的命令即可。 注意:要设置为工作目录的文件夹必须已经存在,否则,不能设置成功。在vfp环境下,一旦设置了工作目录后,用户使用VFP工作过程中所产生的文件默认都会存到已经设置好的工作目录下,不会与vfp系统文件混在一起,方便管理与查找。 2.项目管理器的基本操作 (1)建立项目文件 单击“文件”菜单中的

20、“新建”菜单项,在弹出的窗口中选择文件类别为“项目”。 单击“新建文件”按钮。 在弹出的创建窗口中输入项目文件名。例如输入:XM1(注意项目文件的扩展名为.PJX)。 单击“保存”按钮,便建立了名为XM1的项目文件,同时打开了项目管理器窗口。 (2)建立数据库文件 在项目管理器中,单击选中“数据”选项卡下面的“数据库”类别。 单击“新建”按钮,单击“新建数据库”按钮。 输入文件名:如“教工”(注意数据库文件的扩展名为.dbc)。 单击“保存”按钮,便建立了名为“教工”的数据库,同时打开了数据库设计器窗口。 单击数据库设计器窗口右上角的“x”形图标按钮来关闭设计器。 (3)关闭项目文件 单击项目

21、管理器右上角的“x”(关闭按钮)。 (4)打开项目文件。 单击“文件”菜单中的“打开”菜单项。 选择文件类型为“项目”,选中要打开的项目文件XM1.PJX,单击“确定”。 (5)建立表文件 单击“数据库”左边的“+”,就会列出刚刚建好的“教工”数据库。 单击“教工”左边的“+”,选中“表”。(选自由表,可建立自由表) 单击“新建”/单击“新建表”按钮(此时建立的是数据库表)。 输入文件名:如“zgda”(注意表文件的扩展名为.dbf)。 单击“保存”按钮,便打开了表设计器窗口。 输入表的结构(如下表所示)后,单击“确定”按钮。 字段 字段名 类型 1 2 3 4 5 6 7 8 9 编号 姓名

22、 性别 年龄 职称 工作时间 婚否 简历 照片 字符型 字符型 字符型 数值型 字符型 日期型 逻辑型 备注型 通用型 宽度 4 6 2 2 6 8 1 4 4 系统提示是否现在“输入记录”,选择“是”,并在全屏幕编辑窗口中输入下列记录。 编号 姓名 性别 年龄 职称 工作时间 婚否 简历 照片 1 2 3 4 5 6 7 张黎黎 李艳 刘强 王秋燕 姜丽萍 陈丽丽 刘刚 女 女 男 女 女 女 男 26 30 38 45 45 38 50 助教 助教 讲师 讲师 讲师 讲师 05/24/99 09/24/99 12/24/95 10/09/93 10/09/93 09/27/95 .T. .

23、T. .T. .T. .T. .T. .T. memo memo memo memo memo memo memo Gen Gen Gen Gen Gen Gen Gen 副教授 06/28/88 8 王良 男 39 讲师 08/09/95 .T. memo Gen 注意: 1.备注字段的输入方法:双击相应记录的备注字段(简历),打开备注字段的输入窗口,既可输入文本内容。 2.通用字段的输入方法: (1)双击相应记录的通用字段(照片字段),打开通用字段的输入窗口。 (2)单击“编辑”菜单中的“插入对象”命令。 (3)选择“对象类型”为“Microsoft Word 图片”,即可打开Word程序

24、。 (4)在Word程序依次单击插入/图片/剪贴画/选择一个剪贴画插入。 (5)关闭Word程序,回到vfp,即可看到插入的图片,关闭通用字段的输入窗口。 (6)已经插入内容的备注字段和通用字段的外表分别显示为Memo和Gen,第一个字母大写;没有插入内容的备注字段和通用字段的外表分别显示为memo和gen。 小结:建立表文件的过程分2步。首先建立表结构,即定义表的列数及每一列的数据类型、宽度等;再输入记录信息,即决定表有多少行的数据。 (6)修改表文件的结构 在项目管理器中,选中zgda.dbf表。 单击“修改”按钮,即可打开表设计器,对表的结构进行修改。(可增加、插入、删除字段、改变字段的

25、位置) 在表设计器的字段选项卡上的字段列表中最后一个字段后面单击鼠标来增加一个备注型字段,输入字段名为“备注”,选择字段类型为“备注型”。 删除“工作时间”字段:选中“工作时间”字段,单击“删除”按钮。 改变字段的位置(顺序):拖动字段名前的移动按钮到目标位置松开鼠标即可。 注:可以在命令窗口中输入:modify structure命令,来修改表文件的结构,但必须先打开zgda表。 (7)浏览表的内容(记录) 在项目管理器中,选中zgda.dbf表。 单击“浏览”按钮,即可打开浏览窗口对表的记录进行修改。 (8)移去一个(表)文件 在项目管理器中,选中要移去:如zgda.dbf表。 单击“移去

26、”按钮,单击“移去”按钮,仅仅是将表从项目管理器中移去,不删除该表文件;(单击“删除”按钮,是将表从项目管理器中移去,同时删除该表文件)。 注:如果是数据库表,移去后该表变为自由表。 (9)在项目中添加已有的文件 在项目管理器中,选中要添加的文件类型:如选中“自由表”类别。 单击“添加”按钮,选择要添加的表文件,如:刚刚移去的zgda.dbf 单击“确定”,即可添加到项目中。 (10)项目管理器展开与折叠、选项卡拖离和顶层显示操作 展开与折叠:单击“其他”选项卡右边的“向上箭头”图标,即可折叠项目管理器窗口,同时“向上箭头”图标变成“向下箭头”图标;单击“其他”选项卡右边的“向下箭头”图标,即

27、可展开项目管理器窗口, 选项卡的拖离:在“折叠”状态下,拖动相应的“选项卡”到新的位置松开鼠标即可。 选项卡的顶层显示:单击拖离后的选项卡上的“图钉”图标即可使该选项卡变成“顶层显示”状态,不被其他的“选项卡”所遮盖。 【实训3】数据类型与常用函数的用法 实训目的: 1熟练掌握各种数据类型常量的表示方法。 2熟练掌握常用函数的用法。 相关知识: 1常量的表示方法 数值型(N):直接由数字或+、-、小数点构成,无定界符号。 字符型(C): (1)由字符、汉字组成,需加定界符(单引号、双引号、中括号)。 (2)如沈阳、”沈阳”、沈阳。 (3)同一定界符不能嵌套,如:“AB”CD”,但 AB”CD”

28、是合法的。 日期型(D):用定界。如:?5-08-30或CTOD(“01/08/30”)。 日期时间型(T):用定界。如:?5-08-30 11:15:30 A 逻辑型(L):用.定界。如用.t.或.Y.表示逻辑真, 用.F.或.N.表示逻辑假。 货币型(Y):用$符号开头,后跟数字。如:$90。 2.函数的学习要点 (1)函数名是什么? (2)该函数有几个参数、参数的数据类型是什么? (3)该函数的功能是什么? (4)返回值的数据类型是什么? 对于任何的一个函数,只要注意以上4点,应用起来就不成问题! 实训内容:在窗口中输入下列函数表达式,回车运行后分析运行结果,具体练习过程中请查阅帮助文件

29、以了解下述函数的具体用法。 1.sign( ) 函数功能:当指定数值表达式的值为正、负或 0 时,分别返回 1、-1 或 0 ? sign(0) &0 ? sign(-8) &-1 2.平方根函数sqrt():返回指定数值表达式的平方根 ? sqrt(9) &3 (参数不能为负数) 3.圆周率函数pi():返回圆周率常数 ? pi() &3.14 set decimals to 4 &指定数值型数据显示的小数位数为4位,系统默认为2位 ? pi() & 3.1416 4.取整函数int()、floor()、ceiling() ? int(12.56) &12 ? int(-12.56) & -

30、12 ? int(.56) &0 注:int()函数返回值为参数的整数部分。 ? floor(-4.5) & -5 ? floor(3.5) &3 注:floor()函数返回值为小于或者等于参数值的最大的整数。 ? ceiling(-4.5) &-4 ? ceiling(3.5) &4 注:ceiling()函数返回值为大于或者等于参数值的最小的整数。 5.四舍五入函数Round() ? Round(7556.5678,2) &7556.57 ? Round(7556.5678,0) &7557 ? Round(7556.81,-2) &7600 ? Round(7556.5678,-1) &

31、7560 注:第二个参数为负数时,表示对相应的整数位进行四舍五入 6.最值函数max()、min() ? max(10,20,30,25) &30 ? max(10,20) &20 ? max(? max($10,$20) &$20 ? max(?5-4-16,?4-4-16) &?5-4-16 注:参数至少有二个,参数可以是字符型、数值型、货币型、日期型;将上面的max改写成min后运行并分析运行结果。 7.求字符串长度函数len() ? len(? len(为空格字符 ? len(中国一个汉字占2个宽度 ? len(空字符串长度为0 8.大小写转换函数 ? lower( &abcd12ok

32、 ? upper( &ABCD12OK 注:只转换字符串中的大小写,其他字符不变。 9.空格字符生成函数 ? 为空格字符 ? len(space(3)+space(2) &5 +为字符连接运算符 ? len(space(3)-space(2) &5 -为字符连接运算符 10.删除空格字符函数 ? trim(为空格字符 ? trim(为空格字符 ? ltrim(为空格字符 ? alltrim(为空格字符 11.取子串函数 ? left(? left( & abcdef ? right(? substr(? substr(? substr(中华人民共和国人民 12.occurs()函数 ? occ

33、urs(串ab在串cabkabk中出现了2次 ? occurs(串ab在串ckk中出现了0次 13、at()函数 ? at(串ab在串cabkabk中第1次出现的起始位置是3 ? at(串ab在串cabkabk中第1次出现的起始位置是6 14.子串替换函数 ? stuff(替换串abcdef第2个位置开始的4个字符,用串ok来替换 ? stuff(相当于插入ok ? stuff(相当于删除bcde 15.日期函数 ? date() &返回系统日期 set century on &用4位数字显示年份 ? date() set date to ansi &设置日期的显示格式为ansi ? date

34、() ? time() &以字符串形式返回系统当前时间 ? datetime() &返回系统日期和时间 ? year(?4-04-16) &2004 返回日期中的年份数值 ? month(?4-04-16) &4 返回日期中的月份数值 ? day(?4-04-16) &16 ? hour(datetime() &分别显示当前系统时间的小时数 ? minute(datetime() &分别显示当前系统时间的分钟数 ? sec(datetime() &分别显示当前系统时间的秒数 16.转换函数 ? str(123.5678,8,2) &*123.57 *为空格 ? str(123.5678,6,3

35、) &123.57 ? val(? val(? val(第1个字符不是数字也不是+-号,返回0 set date to usa &设置日期的显示格式为美国日期格式 ? ctod(? ctod(? dtoc(date() &将系统日期转换为字符格式 17.宏替换函数 x=? &x+100 & 223 &相当于? 123+100 ? x+18.iif()函数 x=100 ? iif(x100,x-50,x+50) &150 ? iif(x 19.数据类型测试函数type()、vartype() ? type(? type(? type(? vartype(123) &N ? vartype(“12

36、3”) &C ? vartype($123) &Y ? vartype(Datetime() &T ? vartype(?5-04-19) &D ? vartype(35) &L 思考题:如何用IIF()函数实现SIGN()的功能? (提示:IIF(X0,1,IIF( x=0 ,0,-1)) 20.测试函数bof()、eof()、recno() use zgda ? bof() &.f. ? recno() &1 刚刚打开的表,指针指向首记录 skip 1 & 指针向上移动一条记录 ? bof() &.t. ? recno() &1 表可访问的最小记录号为1 go bottom & 指针指向尾

37、记录 ? eof() &.f. ? recno() &8 假设表中只有8条记录,指针指向首记录 skip &指针向下移动一条记录 ? eof() &.t. ? recno() &9 表可访问的最大记录号为记录总数+1, 假设表中只有8条记录 ? reccount() &8 假设表中只有8条记录 21.信息窗口函数MessageBox() 格式:MESSAGEBOX(信息文本, ,对话框类型数值 ,标题栏文本) 例子:MESSAGEBOX(“您好,VFP!”,64,“提示信息”) 【实训4】运算符与表达式 实训目的: 1.掌握各种类型表达式的书写方法。 2.掌握运算符的优先级别。 实训内容: 依

38、次在命令窗口中输入下列表达式,回车运行来输出表达式的值,并分析运行结果。 1.数值表达式 ? -3*2 &9 负号的运算级别高于乘方 ? (3+4)/2+int(12.5) &13.75 相关知识: &abc*cd* *为空格,-号为字符串不完全连接运算 相关知识: (1)字符表达式是由字符运算符和字符型常数(即用定界符括起来的字符串)、变量、函数组成,运算结果是字符型数据或逻辑值。 (2)二种字符串运算符,优先级别相同。 (3)完全连接是指两个字符串合并,即包括空格在内的字符串中所有字符相加。不完全连接运算是将串1尾部的空格移到串2的尾部后,再连接。 3.关系表达式 set collate

39、to “machine” &设置数据的比较序列为机内码方式 ? 8100 &.f. ? “8”100” &.t. ? ?4-5-19?3-5-19 & .t. ? $80? “abc”=”ab” &.t. 系统默认“=”为非精确比较,右边是左边的左子串,则成立。 Set exact on &设置“=”为精确比较,off为非精确比较 “abc”=”ab” & .f. 精确比较要求两边的字符串必须完全相等才成立。 ? “ok”$”abokd” &.t. 前一个串“ok”包含在后一个串中,返回逻辑真 相关知识: (1)关系表达式描述的同类数据的大小比较关系,其结果是一个逻辑值,关系成立结果取真(.T

40、.),不成立结果取假(F)。 (2)关系运算符两边的数据类型要一致,只有同类型的数据才能进行比较。 (3)数据比较规律 数值和货币类型:数越大,其值越大。如:1000800 $90$10 日期数据:未来历史 如:?7-5-19007-5-18 逻辑常量:逻辑真大于逻辑假,即:.t.f. 字符串比较:依次对应比较两个串的字符,直到比较出结果即停止比较。例如:, 。 字符的比较规律 ASCII字符:比较字符的ASCII码值的大小。总结规律为:空格注意:上述字符的比较规律的前提是必须设置数据的比较序列为机内码方式。设置的命令为:set collate to “machine” 或者依次单击“工具”菜

41、单中的“选项”菜单项,单击“数据”选项卡,设置“排序序列”为“machine”选项即可。 4.逻辑表达式:逻辑运算符的优先级别为:.NOT. .AND. .OR. ? not(10+3)5 and ”ab”$”ab”+”cde” or 3=4 &.f. ? 32 AND NOT 56 & 相关知识: (1)当表达式中出现了多种运算符时,各种运算符的优先顺序由高到低依次为: 算术或字符或日期运算关系运算逻辑运算 (2)相同优先级的运算按从左到右的顺序计算 5.日期和日期时间表达式 ? ?5-3-29-?5-3-21 &8 两日期相差的天数为8天 ? ?5-3-29+?5-3-21 & 两日期表达

42、式相加,属非法表达式 ? ?5-3-25+3 &?5-3-28 ? ?5-3-25-3 &?5-3-22 (用严格日期格式表示) ? datetime()+30 &其值为当前时间的30秒后的日期时间 ? datetime()-30 &其值为当前时间的30秒以前的日期时间 ? ?5-5-5 10:10:20 a-datetime() &2个日期时间相差的秒的数值 相关知识: (1)一个日期与一个数值相加,&日期,表示从当前日期往后数N天。 (2)一个日期与一个数值相减,&日期,表示从当前日期向前数N天。 (3)两个日期相减,&数值,表示两日期之间相差的天数。 【实训5】程序结构 实训目的: (1

43、)理解VFP的2种工作方式:交互方式和程序执行方式。 (2)掌握程序文件的建立、存盘、调用方法和注释语句的使用方法。 (3)熟悉3种程序结构。 (4)会用调试器来分析程序的执行流程。 相关知识: 行首注释语句: NOTE | * 注释内容 功能:在程序文件中指示注释行的开始,注释行不被执行。 行尾注释语句: & 注释内容 功能:在程序文件中代码行的行尾注释,注释内容不被执行。 实训内容:完善下列程序横线处的代码,并调试运行。 1建立并执行程序p1.prg,程序功能是判断用户输入的整数是否是偶数。 (1)在命令窗口中输入:modify command p1,在弹出的文本编辑器窗口中输入程序代码如

44、下: input 一个整数if x/2=int(x/2) ? “您输入的是偶数” else ? “您输入的不是偶数” endif (2)按CTRL+W键,存盘。 (3)在命令窗口中输入命令:DO p1后,回车执行该程序。 2参照上面的例子来建立并执行p2.prg,程序功能:判断用户输入的整数是正数、负数还是零,代码如下: input 一个整数if x0 ? 您输入的是一个正数else if x ? 您输入的是零 endif endif 3.参照上面的例子来建立并执行p3.prg,程序功能:根据学生的分数情况给出成绩等级,代码如下: Input 分数 从键盘接收来个成绩的数值赋值给X变量 Do case Case x=9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1