VFP全国计算机等级二级考试课件.docx
- 文档编号:23657901
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:52
- 大小:408.33KB
VFP全国计算机等级二级考试课件.docx
《VFP全国计算机等级二级考试课件.docx》由会员分享,可在线阅读,更多相关《VFP全国计算机等级二级考试课件.docx(52页珍藏版)》请在冰豆网上搜索。
VFP全国计算机等级二级考试课件
国家等级考试计算机二级VFP课程
第一讲:
vfp操作基础以及表的基本操作主讲:
黄建忠
常用的扩展名:
.txt文本文件
图片:
.jpg.jpeg.gif.png
压缩文件:
.rar.zip
Worde文档:
.doc
Excel文件:
.xls
幻灯片文稿:
.ppt
可执行文件.exe
文件扩展名:
打开我的电脑工具—》文件夹选项—》查看将“隐藏已知文件的扩展名”取消勾选
一VISUALFOXPRO安装与启动
1)安装(演示)
2)启动方法开始—程序—MicrosoftVISUALFOXPRO6.0(建立快捷方式简称vfp)
计算器的使用:
开始-->程序-->附件-->计算器
中英文切换ctrl+空格
二VFP用户界面认识
主要组成:
标题栏,菜单栏,工具栏,工作区,状态栏,命令窗口
1标题栏:
系统图标,屏幕标题,最小化,最大化,关闭按钮(演示)
注意:
使用命令可以对标题重定义:
_screen.caption="中国的窗口"
2菜单栏
菜单激活:
alt+字母
新建,打开,关闭,保存,另存为,打印,页面设置,退出在文件菜单下
复制,剪切,粘贴,撤销,全选在编辑菜单下
3工具栏:
1)“常用”工具栏的激活与取消
显示-->工具栏
4状态栏:
用于显示当前工作状态
三VFP工作方式
1交互式工作方式
2程序执行方式
四表的基本操作
1基本表的分析
2VFP专业术语:
1)关系:
表就是关系
2)元组:
行,记录
3)属性:
列,也称字段
4)域:
属性的取值范围
五表的建立与显示
建表原则:
先结构后内容
5.1VFP常用数据都是存储在表中的也称之为二维表即关系
5.2表结构的分析:
字段名,字段类型,字段宽度和小数位数
5.3数据类型的分析
5.4默认目录的设定
任务目的:
在d盘建立文件夹名为myvfp将日后所建立的表自动保存到该目录
工具-->选项-->文件位置-->默认目录点修改
在命令窗口输入:
Cd?
为表增加一个联系电话字段数值型宽度11删除个人照片字段将出生日期改成日期时间型将字段性别放在年龄的后面
5.5完整表的建立:
文件—新建—表(保存类型:
表)
命令格式create表名
5.6记录的插入:
表---追加新记录ctrl+y注意:
编辑和浏览
5.8表的打开文件—打开(注意:
文件类型表)
命令:
use表名
5.7记录的浏览显示---浏览显示—编辑(修改记录)
浏览命令:
browse
5.9表结构的修改:
打开表后选择显示—表设计器
命令modifystructure
Modistru
国家等级考试计算机二级VFP课程
第二讲:
深入分析自由表及简单数据库操作
主讲:
黄建忠
2.1自由表的概念:
不属于任何数据库的表。
2.2建立自由表常用命令小结:
Create表名例如:
create学生
Use表名例如use学生
Browse例如browse(必须确认表是打开的)
小提示:
确认一张表是否打开可参照状态栏
List显示表的内容
Display:
显示当前指针指向的记录
Clear:
清除屏幕的结果
Clearall关闭所有的表
Closeall关闭所有打开的数据库和表以及其他相关窗口
Quit退出VFP软件
Modifystructure修改表的结构(打开表设计器)
2.3记录的删除
第一步:
给记录加上删除标记(逻辑删除)
表---删除记录
命令:
delete
第二步:
将记录从磁盘删除(物理删除)
表---彻底删除
命令pack
Zap删除表所有内容
Vfp命令窗口中关于不同类型的输出
?
3
?
”你好”
?
.t.
?
{^2012/10/29}
2.4VISUALFOXPRO数据库及其操作
数据库作用:
组织和管理表
提示:
.dbf文件称之为数据库表文件或表而数据库扩展名是.dbc
.dct数据库备注文件扩展名.dcx索引文件扩展名
2.5数据库的建立:
文件—新建—数据库
命令格式createdatabase数据库名|?
打开数据库
Opendatabase数据库名|?
修改数据库
命令格式:
modifydatabase数据库名|?
删除数据库
Deletedatabase数据库名|?
2.6、建立数据库表
方法2种:
1打开数据库后新建表
2打开数据库后添加表
关于vfp中数据类型的知识:
注意:
vfp中字段名:
以字母或汉字开头,长度不能超过10个字符(5个汉字)可以用字母数字下划线汉字
字段类型:
字符型:
不具备计算能力的文字数据类型字母C
数值型:
整数和小数字母N
货币型:
货币单位,小数位固定为4位。
字段宽8用字母Y表示
浮动型:
与数值型基本相同。
字母F表示
整形:
整数字母I表示
日期型:
用来存放日期格式:
月/日/年字母D
逻辑型:
值为t或f宽度为1表示字母L
备注型:
如个人简历用到字母M表示
通用型:
如照片等地方用到字母G表示
任务1建立人员表编号N(4)姓名C(10)性别C
(2)出生日期D部门C(6)职务C(10)工资n(6,2)
任务2
建立人员管理数据库
任务3
建立个人情况表编号N(4)姓名C(10)性别C
(2)出生日期D家庭地址M联系电话n(11)
重点任务:
通过其他表结构建立结构,通过其他表追加记录
任务4
建立部门表部门C(6)负责人C(10)
国家等级考试计算机二级VFP课程
第一讲:
vfp操作基础以及表的基本操作主讲:
黄建忠
3.1.分析各表之间的关系:
一对多
一对一
多对多
3.2表与表之间关系的建立:
索引
索引的分类:
1主索引:
不允许出现重复的值,一个表只能建立一个主索引,相当于主关键字
2候选索引:
不允许出现重复的值,但一个表可以建立多个候选索引
3唯一索引:
项目的唯一性而并非值的唯一性保留以前版本的索引.
4普通索引:
允许出现重复值,一个表中允许多个出现.
3.3表之间关系的建立(演示操作)
3.4数据库表与自由表比较
1空值null用法
2显示:
字段掩码(P104)
实例:
(1)金钱$999.99格式
(2)编号以wj开头形式
(3)0001—9999格式
3字段有效性:
规则,信息,默认值
4字段注释
3.5设置参照完整性:
关于父表和子表的概念.
三个规则:
1更新规则
前提条件:
当父表中关键字被更新时
级联:
用新的关键字值更新子表中的所有相关纪录
限制:
若子表中有相关纪录则禁止更新
忽略:
允许更新,不管子表中的相关纪录
2删除规则
前提条件:
当父表中的纪录被删除时:
级联:
删除子表中的相关纪录
限制:
若子表中有相关纪录,禁止删除
忽略:
允许删除,不管子表中有没有纪录
3插入规则
前提条件:
当子表中插入一条新纪录或更新一条已经存在的纪录时
限制:
若父表中不存在匹配的关键字值,则禁止插入
忽略:
允许插入
表基本操作命令的补充:
Browse命令
Browsefields<字段1,字段2,…>for<条件>
例如:
browsefields编号,姓名(显示所有人的姓名和编号)
Browsefields编号,姓名for性别=”男”
Appendblank:
在表的尾部加一条新的空纪录然后用edit,changebrowse命令交互修改值即可.
删除纪录
Deletefor<条件>
删除当前纪录delete
删除张三纪录deletefor姓名=”张三”
注意:
以上只是逻辑删除,如果物理删除可用pack
恢复纪录
语法:
Recallfor<条件>
恢复所有纪录recallall
恢复张三的纪录recallfor姓名=”张三”
纪录修改
Replace字段1with值1,字段2with值2…for<条件>
1把张三的年龄改成29
Replace年龄with26for姓名=”张三”
2将所有的年龄加1
Replaceall年龄with年龄+1
显示纪录:
list/displayfor<条件>
List:
显示所有纪录
Display显示当前纪录
Listall/displayall区别
例题:
显示男生的纪录
Listfor性别=”男”
光标定位:
Go:
跳转到…
Go1跳转到第一条纪录
Gobottom跳转到底端
Gotop:
跳转到顶端
Skip命令移动到….
Skip1移动到下一条纪录
Skip-1移动到上一条纪录
Recno():
返回当前纪录号
Eof():
纪录的结尾
Bof():
纪录的开头.
定位locatefor<条件>
项目管理器的使用
1项目文件的新建
文件—新建—类型”项目”
2项目文件包含选项:
全部,数据,文挡,类,代码,其他
数据:
数据库,自由表,查询.
文档:
表单,报表,标签
代码:
程序,API库,应用程序
其他:
菜单,文本文件,其他文件.
项目文件的使用:
1通过项目管理器新建添加修改删除数据库
2通过项目管理器查看数据库结构以及建立结构
Visualfoxpro程序设计基础
一常量与变量
1.1常量:
在运算过程中不发生变化的量
变量:
在运算过程中可以发生变化的量
二常量分类:
数值型常量:
0—9,3.45,5.12E2,5.12e-2,3^2
货币型常量:
$3,$1200,一般保留4位有效数字,采用四舍五入的原则.$3.123456===$3.1235
字符型常量:
用双引号,单引号或[].
日期型常量:
1必须用{}2空白日期{}或{/}
普通格式{mm/dd/yyyy}
严格日期格式:
{^2010/10/26}
注意:
执行命令时默认使用严格日期格式如果要使用普通日期格式必须执行:
setstrictdateto0否则引起错误同样设置严格日期格式命令为:
setstrictdateto1
日期时间型常量:
格式:
{^2010-10-26,11:
30p}
逻辑型常量:
只有真和假2种值
真:
.T.,.t.,Y,y
假:
.f.,.F.,.n.,.N.
三变量
程序中的基本算法:
1=赋值
2原则从上到下从右到左
3变量命名规则:
1以字母,汉字,下划线开头,2只能由字母数字下划线汉字
如判断以下变量:
a1,1a,a$,abc_1,中国_1.a_3a,3a_1
4变量的赋值:
格式1:
变量名=值
格式2store值to变量名
注意:
1)等号一次只能给一个内存变量赋值
2)变量不仅可以通过重新赋值来改变值,而且能改变类型.
5关于内存变量和字段变量
如果内存变量和字段变量相同则可以使用M.姓名或M->姓名访问内存变量
6VFP中显示命令?
/?
?
?
分行显示
?
?
:
在同一行显示
数组:
内存中连续的一片存储区域.
1一维数组的定义:
dimension数组名(下标)
Declare数组名(下标)
如:
dimensiona(5)
a
(1)=10
a
(2)=20
….
二维数组:
dimension数组名(行下标,列下标)
例如:
dimensiona(2,2)
注意问题:
1a(n)数组的下标从1开始到N也就是a(n)代表n个变量
2数组只是变量的扩展,所以命名必须符合变量的命名规则
3在赋值和输入语句中使用数组名,表示将同一个值同时赋给所有的数组元素.例如dimensiona(5)
a=10
?
a
(1),a
(2)….都是10
4在同一个运行环境下数组名和变量名不能重复.
5可以用一维数组访问二维数组
6如没有给数组元素赋值默认为.f.
内存变量的显示和隐藏
显示所有变量:
listmemory
显示以a开头的内存变量listmemorylikea*/a?
提示:
*/?
是通配符*所有的?
:
任意一个
将变量保存到.txt文件中:
listmemorytoa
以上list可以用display代替
清除内存变量:
清除所有内存变量:
clearmemory
清除指定内存变量:
release<内存变量名表>
Releasea,b,c&&清除a,b,c内存变量
注意:
&&vfp中的注释语句与程序无关
Releasealllike<通配符>:
包含…之内
Releaseallexcept<通配符>:
除去…之外
VFP中的运算符
1算术运算符
+-*/^()%
%:
取余数当被除数与除数异号,运算结果为两数相除的余数加上除数的值.结果符号与除数一致.
举例:
1常见数值表达式
2常见字符表达式+连接
-去尾部空格连接
3日期时间的计算规则:
<日期>+天数:
若干天后的日期反之结果一样
<日期>-天数:
若干天前的日期
<日期>-<日期>相差的天数
<日期时间>+秒数若干秒后的时间反之结果相同
<日期时间>-秒数若干秒前的时间
<日期时间>-<日期时间>:
指定时间相差秒数
关系表达式:
><>=<=
!
=或<>,#:
不等于
$:
字符串包含测试,包含于
提醒:
关系表达式一般返回逻辑值如:
3>5返回.f.
实例分析:
普通数值型货币型比较:
0>1$150>$105
逻辑型数据比较:
.t.大于.f.
子串包含测试:
<字符表达式1>$<字符表达式2>如果左字符表达式1是右字符表达式2的一个子串,则结果返回.t.否则返回.f.
S1=”计算机”
S2=”计算机测试中心”
?
s1$s2
关于=和==(绝对等于)比较
==:
只有当左右数据绝对相同时候才为真
=:
结果与setexactON/OFF有关
ON:
在较短字符串尾部加上若干空格,使得长度相等然后精确比较
OFF:
只要右边字符串与左边字符串前面部分内容想匹配,结果为真.即字符串的比较因右边的字符串结束而中止.默认值
逻辑运算符:
.and.:
逻辑与
.or.逻辑或
.not.逻辑非
运算符优先级:
算术>关系>逻辑
?
12>2and‘人’>’人民’or.t.<.f.
?
(10%3=1)and(15%2=0)or‘电脑’!
=’计算机’
常用函数:
数值函数:
n
Abs(数值表达式):
返回指定数值的绝对值
Sign(数值表达式)返回表达式的符号正数返回1负数返回-10返回0
Sqrt(数值表达式)求数值表达式的平方根
Pi():
圆周率
Int(数值表达式)返回数值表达式整数部分
Ceilin(数值表达式)返回大于或等于数值表达式的整数
Floor(数值表达式)返回小于或等于数值表达式的整数
Round(数值表达式1,数值表达式2)返回指定表达式位置四舍五入值
Round(345.123,-1)
Mod(数值表达式1,数值表达式2):
求余数
Min():
求最小值
Max():
求最大值
字符函数:
Len(字符表达式):
求字符串长度
大小写转换函数
Lower(str):
大-->小
Upper(str):
小—大
Space(<数值表达式>):
生成指定的空格数
去空格函数:
Trim(str):
去后空格
Ltrim(str):
去左空格
alltrim(str):
去前后空格
取子串函数:
Left(str,<长度>):
从str左边取指定长度的子串
Right(str,<长度>):
从str右边取指定长度子串
Substr(str,<起始位置>,[<长度>]):
从str的某个位置开始取指定长度的子串,如不写长度,则表示取到最后.
计算子串出现次数函数:
Occurs(str1,str2):
计算str1在str2中出现的次数
求子串位置函数
At(str1,str2,[<数值表达式>]):
求str1首字母在str2第一次出现的位置数,如果str1中不包含str2则返回0
<数值表达式>可以指定第几次出现
ATC()与AT()功能相同,不过at()区分大小写
子串替换函数
STUFF(str1,<起始位置>,<长度>,str2):
用str2替换str1中起始位置开始的指定长度子串
字符替换函数:
Chrtran(str1,str2,str3):
将str1中的str2用str3替换
字符匹配函数
Like(str1,str2):
比较str2和str1是否完全相同如果相同则返回.t.str1允许使用通配符*和?
日期和时间函数
系统日期和时间
Date()
Time()
Datetime()
年份,月份,天数函数
Year(
Month(
Day(
时分秒函数
Hour(
Minute(
Sec(
数据类型转换
1数值--->字符
Str(<数值表达式>,<长度>,<小数位数>)
字符串转换成数值
Val(str)
字符串转换成日期和日期时间
Ctod(str)
Ctot(str)
日期和日期时间转换成字符串
Dtoc(日期表达式)
Ttoc(日期时间表达式)
测试函数
1值域测试函数:
between(表达式1,表达式2,表达式3)
相当于表达式3>=表达式1>=表达式2
2null测试函数
Isnull(表达式)
3”空”测试函数
Empty(表达式)
4数据类型测试函数
Vartype(表达式)
结果:
C字符或备注N数值
Y货币L逻辑O对象G通用D日期
T日期时间Xnullu未定义
5条件测试函数
IIF(条件表达式,结果1,结果2)
Iif(cj<60,”不及格”,iif(cj>90,”优秀”,”通过”))
判断条件表达式结果是否为T如果为T返回结果1否则返回结果2
简单的输入输出命令:
1)接收屏幕输入值函数:
Input[str]to<变量>
例如 :
Input“请输入一个数值”toa
Accept[str]to<变量>如上功能一样,只不过接受的数据类型皆是字符型
2)输出屏幕结果提示函数:
Wait
程序的基本结构:
顺序,选择,循环
1程序文件的建立保存打开修改
文件---新建选择程序
命令:
modifycommand程序名
注意:
扩展名.prg
程序文件的执行:
do程序名
选择结构
简单形式:
If<条件>
执行语句
Endif
形式2:
If<条件>
执行语句1
Else
执行语句2
Endif
注意:
if和endif必须成对出现,if是程序入口endif程序出口可以嵌套但不能交叉.
多分支语句
Docase
Case<条件1>
执行语句1
Case<条件2>
执行语句2
….
Otherwise
执行语句n
Endcase
注意:
不管有多少个case条件成立,只有最先成立的case条件命令被执行。
循环语句
1理解什么是循环
For<循环变量>=<初值>to<终到值>step步长
循环体
endfor
Fori=1to3step
?
”你好”
Endfor
1求1+2+3+..100
Sum=0
Fori=1to100
Sum=sum+i
Endfor
?
sum
dowhile<条件>
循环体
Enddo
求1+2+3+..100
Settalkoff&&关闭程序运算的显示过程
I=1
Sum=0
Dowhilei<=100
Sum=sum+i
I=i+1
enddo
settalkon
?
sum
试着比较FOR…ENDFOR和dowhile..enddo区别
1用for和while循环求10!
2求1!
+2!
+3!
+..10!
循环嵌套
内层循环与外层循环的原理
Fori=1to3
?
”good”
Forj=1to2
?
?
”你好”
Endfor
endfor
九九乘法表
clear
fori=1to9
forj=1toi
?
?
alltrim(str(j))+"*"+alltrim(str(i))+"="+alltrim(str(i*j))+""
endfor
?
""
Endfor
补充
问题1:
关于VFP中不同类型语句输出问题
?
”a+b”,c
问题2:
vfp中多个表的同时使用
工作区:
vfp中一个工作区只能打开一张表,vfp中最多同时可以拥有32767个工作区,最小的区号是1最大的是32767
语法:
select工作区号
例如:
select1
Use学生
Select2
Use部门
代表在工作区1打开学生表工作区2打开部门表。
也可以如下表示use学生in1
use部门in2
调用时可以直接select1或select学生或selectA
注明:
A代表表的别名前10个工作区指定默认别名为A---Z工作区11到32767指定别名为W11---w32767
如:
以下访问效果一样
use人员in1
select人员
list
selectA
list
表之间临时关系的建立:
前提:
表之间索引必须建立
语法:
setrelationto关联字段into表名(需要建立联系的表名而非当前表名)
opendatabase人员管理
use部门in1order部门
use人员in2order部门
setrelation部门into人员
这样就建立了部门表和人员表之间的临时联系,如要取消执行如下命令:
Setrelationto
Setrelationoffinto人员
排序:
将当前表根据某些字段重排记录,然后放入一张新表中
语法:
Sortto<新文件名>on<字段名>[/a|/d|/c][for条件1][where条件2][fields<字段名表>]|[fieldslike<通配符>]|[fieldsexcept[通配符]]
如
Use人员
sorttoryon编号/dfields编号,姓名,年龄
VFP中常用统计命令的用法
1记录数统计命令:
count
语法:
count[<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 全国计算机 等级 二级 考试 课件
![提示](https://static.bdocx.com/images/bang_tan.gif)