VF+二级笔记.docx
《VF+二级笔记.docx》由会员分享,可在线阅读,更多相关《VF+二级笔记.docx(38页珍藏版)》请在冰豆网上搜索。
![VF+二级笔记.docx](https://file1.bdocx.com/fileroot1/2023-2/6/aaef7520-ccc5-424b-b597-6057e2d1df50/aaef7520-ccc5-424b-b597-6057e2d1df501.gif)
VF+二级笔记
VF笔记
文件扩展名及备份文件扩展名
文件
扩展名
备份扩展名
文件
扩展名
备份扩展名
项目
.pjx
.pjt
数据库
.dbc
.dct
表
.dbf
.fpt
表单
.scx
.sct
程序
.prg
报表
.frx
单索引
.idx
结构化复合索引
.cdx
菜单格式
.mnx
菜单程序
.mpr
查询
.qpr
视图
.vcx
第一章数据库基础知识
1、数据库管理系统:
DBMS;数据库应用系统:
DBAS;数据库系统:
DBS;数据:
DB
DBS包括DBMS,DBAS,DB
2、实体间的联系:
一对一,一对多,多对多。
3、数据库中的数据模型:
网状模型,层次模型,关系模型。
4、关系:
一个关系就是一个二维表,每一个关系有一个关系名。
5、元组:
二维表中的行称为元组。
6、属性:
二维表中的列称为属性。
7、域:
属性的取值范围。
8、关系→表;关系名→表名;属性→字段;元组→记录;行→记录,元组;列→字段,属性。
9、传统的集合运算:
并,差,交。
10、专门的关系运算:
选择(水平方向)for,while,where
投影(垂直方向)fields,select
联接(一对一,一对多,多对多)
11、定义数组:
dime/declare数组名(3,4)
第二章VF基础知识
1、创建项目:
①通过菜单创建
②命令:
creatproject项目名
2、打开项目管理器:
①通过“文件→打开”菜单项
②命令:
modifyproject项目名
3、各类文件选项卡:
①数据选项卡(数据库,自由表,查询,视图)
②文档选项卡(表单,报表,标签)
③类
④代码
⑤其他
第三章数据与数据运算
1、字段数据类型(11种)
字符型
C
双精度型
B
数值型
N
整型
I(4)
逻辑型
L
(1)
货币型
Y(8)
日期型
D(8)
备注型
M(4)
时间型
T(8)
通用型
G(4)
浮点(动)型
F
*N包括Y,F,B,I
2、变量:
在程序运行过程中,其值可能发生变化的量。
3、变量的分类:
字段变量,内存变量,数组变量,系统变量,对象变量。
4、常用的函数
①、数值型函数
1.绝对值函数
【函数格式】?
abs(<数值表达式>)
【函数功能】返回指定“数值表达式”的绝对值
【返回值类型】数值型
eg:
?
abs(-1)1
2.平方根函数
【函数格式】?
sqrt(<数值表达式>)
【函数功能】返回指定“数值表达式”值的平方根。
“数值表达式”的值必须是大于或等于零
【返回值类型】数值型
eg:
?
sqrt(25)5
?
sqrt(81)9
?
sqrt(7^2-4*2*4)4.12
3.取整函数
【函数格式】?
int(<数值表达式>)
【函数功能】返回指定“数值表达式”整数部分的值
【返回值类型】数值型
eg:
?
int(6489.658)6489
?
int(123.58)123
4.四舍五入函数
【函数格式】?
round(<数值表达式1>,<数值表达式2>)
【函数功能】对指定的<数值表达式1>进行四舍五入运算
【使用说明】<数值表达式2>指定四舍五入运算精确的位数。
如果“数值表达式2”是正整数,它指定保留的小数位数;如果“数值表达式2”是0,它指定精确到个位;如果“数值表达式2”是负整数,它指定精确的整数位数
【返回值类型】数值型
eg:
?
round(678.657,0)679
?
round(678.657,3)678.657
?
round(678.657,-1)680
5.求余函数
【函数格式】?
mod(<数值表达式1>,<数值表达式2>)
【函数功能】求<数值表达式1>除以<数值表达式2>后的模
【使用说明】若两参数的值大于0,则模为余数;若两参数一正一负,则模为余数与“数值表达式2”之和;若两参数均为负,则模为余数取反。
遵循的原则:
一、模的符号与表达式2的相同;二、余数的绝对值小于除数(<表达式2>)的绝对值
【返回值类型】数值型
eg:
?
mod(100,3)1
?
mod(100,-3)-2
?
mod(15,8)7
?
mod(8,15)8
6.e次方函数
【函数格式】?
exp(<数值表达式>)
【函数功能】返回ex的值(x为<数值表达式>)
【返回值类型】数值型
eg:
?
exp
(1)2.72
7.最大值函数
【函数格式】?
max(<表达式1>,<表达式2>…)
【函数功能】返回各个表达式中的最大值。
其中各个表达式的数据类型相同
【返回值类型】字符型、数值型、日期型,由表达式决定
eg:
?
max(12,5,8,36)36
?
max(”a”,”b”,”d”,”e”,”y”)y
8.最小值函数
【函数格式】?
min(<表达式1>,<表达式2>…)
【函数功能】返回各个表达式中的最小值。
其中各个表达式的数据类型相同
【返回值类型】字符型、数值型、日期型,由表达式决定
eg:
?
min(12,5,8,36)5
?
min(”a”,”b”,”d”,”e”,”y”)a
9.对数函数
【函数格式】?
log(<数值表达式>)
【函数功能】返回以e为底的自然对数值
【返回值类型】数值型
eg:
?
log(2.72)1
10.圆周率函数
【函数格式】?
pi(<表达式>)
【函数功能】求表达式的圆周率
【返回值类型】数值型
eg:
?
pi()3.14
②、字符型函数
11.字符串长度测试函数
【函数格式】?
len(<字符表达式>)
【函数功能】返回字符型表达式的长度(字节数)
【返回值类型】数值型
eg:
?
len(”df”)2
?
len(”dfjj”)4
12.小写字母转换大写函数
【函数格式】?
upper(<字符表达式>)
【函数功能】把字符表达式中的小写字母转换为大写字母
【返回值类型】字符型
eg:
?
upper(”good”)GOOD
?
upper(”school”)SCHOOL
13.大写字母转换小写函数
【函数格式】?
lower(<字符表达式>)
【函数功能】把字符表达式中的大写字母转换为小写字母
【返回值类型】字符型
eg:
?
lower(“GOOD”)good
?
lower(”SCHOOL”)school
14.生成空格字符串函数
【函数格式】?
space(<数字>)
【函数功能】返回一个全是空格的字符串,空格数由<数字>决定
【返回值类型】字符型
eg:
?
space(5)+”kk”□□□□□kk
?
space(3)□□□
15.删除尾空格函数
【函数格式】?
rtrim(<字符表达式>)或?
trim(<字符表达式>)
【函数功能】删除指定字符串右边的尾随空格
【返回值类型】字符型
eg:
?
trim(”□ab□a□□□”)□ab□a
16.删除前空格函数
【函数格式】?
ltrim(<字符表达式>)
【函数功能】删除指定字符串左边的空格
【返回值类型】字符型
eg:
?
ltrim(”□□□ab□□ax□x□□□”)ab□□ax□x□□□
17.删除所有空格函数
【函数格式】?
alltrim(<字符表达式>)
【函数功能】删除指定字符串左右两边的空格
【返回值类型】字符型
eg:
?
alltrim(”□□□abc□□□”)+”def”abcdef
18.子字符串函数
【函数格式】?
substr(<字符表达式>,<起始位置>,<字符个数>)
【函数功能】从指定的字符串中截取字符,形成一个新的字符串
【使用说明】<起始位置>是数值型表达式,它指定从第几个字符开始截取,[<字符个数>]也是数值型表达式,它指定连续截取字符的个数。
如果省略“字符个数”,则截取到最后一个字符为止。
【返回值类型】字符型
eg:
?
substr(”abcdef”,2,3)bcd
?
substr(”abcdef”,2)bcdef
19.左子串函数
【函数格式】?
left(<字符表达式>),<字符个数>)
【函数功能】从指定是字符串左边第一个字符开始截取字符,形成一个新的字符串
【使用说明】<字符个数>是数值型表达式,它指定连续截取字符的个数
【返回值类型】字符型
eg:
?
left(”abcde”,2)ab
?
left(”abcdefg”,4)abcd
20.右子串函数
【函数格式】?
?
right(<字符表达式>),<字符个数>)
【函数功能】从指定是字符串右边第一个字符开始截取字符,形成一个新的字符串
【返回值类型】<字符个数>是数值型表达式,它指定连续截取字符的个数
字符型
eg:
?
right(”abcde”,2)de
?
right(”abcdefg”,4)defg
21.字符串1在字符串2出现的次数
【函数格式】?
occurs(<字符表达式1>,<字符表达式2>)
【函数功能】返回字符表达式1在字符表达式2中出现的次数
【返回值类型】数值型
eg:
?
occurs(”A”,”ABCDABCD”)2
?
occurs(”A”,”abcdabcda”)0
22.求位置函数
【函数格式】?
at(<字符表达式1>,<字符表达式1>,<数值表达式>)
或?
atc(<字符表达式1>,<字符表达式1>,<数值表达式>)
【函数功能】返回<字符表达式1>在<字符表达式2>从左边数第<数值表达式>次数出现的位置
【使用说明】at区分大小写,而atc不区分大小写
【返回值类型】数值型
eg:
?
at(”a”,”bacda”)2
?
at(”a”,”bacdaaabdea”,5)11
?
at(”A”,”abcdaaa”)0
?
atc(”A”,”BACDAAABDEa”,5)11
23.求位置函数
【函数格式】?
rat(<字符表达式1>,<字符表达式2>,<数值表达式>)
【函数功能】返回<字符表达式1>在<字符表达式2>从右边数第<数值表达式>次数出现的位置
【返回值类型】数值型
eg:
?
rat(”a”,”bacda”)5
?
rat(”a”,”bacdaaabdea”,5)2
?
rat(”A”,”abcdaaa”)0
24.替换函数
【函数格式】?
stuff(<字符表达式1>,<数值表达式1>,<数值表达式2>,<字符表达式2>)
【函数功能】从指定的字符串中截取字符,形成一个新的字符串
【使用说明】截取<字符表达式1>中,从<数值表达式1>开始,<字符表达式2>替换<数值表达式2>位数,形成新的字符串。
【返回值类型】字符型
eg:
?
stuff(”计算机ABC”,3,4,”你好”)计你好ABC
?
stuff(”数据库”,5,6,”管理系统”)数据管理系统
?
stuff(”计算机ABC”,5,4,”你好”)计算你好C
25.替换函数
【函数格式】?
chrtran(<字符表达式1>,<字符表达式2>,<字符表达式3>)
【函数功能】用<字符表达式3>替换<字符表达式1>中与<字符表达式2>相同的字符串,并形成一个新的字符串
【返回值类型】字符型
eg:
?
chrtran(”计算机ABCD”,”ABCD”,”你好”)计算机你好
26.匹配函数
【函数格式】?
like(<字符表达式1>,<字符表达式2>)
【函数功能】判断<字符表达式1>是否与<字符表达式2>完全相同
【使用说明】若<字符表达式1>与<字符表达式2>完全相同,则显示逻辑值为真,反之为假
【返回值类型】逻辑型
eg:
?
like("abc","abc").T.
?
like("abc","aBC").F.
?
like("abc□","aBC").F.
?
like("abc□","abc").F.
?
like("abc□","abc□").T.
③、日期与时间函数
27.日期函数
【函数格式】?
date()
【函数功能】返回当前系统日期。
返回日期的约定格式为mm/dd/yy
【返回值类型】日期型
28.时间函数
【函数格式】?
time()
【函数功能】返回当前系统时间。
返回时间的约定格式为hh:
mm:
ss。
其中hh表示小时,mm表示分,ss表示秒。
【返回值类型】字符型
29.日期时间函数
【函数格式】?
datetime()
【函数功能】返回当前系统日期与时间。
【返回值类型】字符型
30.年函数
【函数格式】?
year(<日期表达式>)
【函数功能】返回<日期表达式>的年的数值,返回的年用四位数字表示
【返回值类型】数值型
eg:
?
year(date())2007****系统当前日期为2007-07-24
31.月函数
【函数格式】?
month(<日期表达式>)
【函数功能】返回<日期表达式>的月的数值
【返回值类型】数值型
eg:
?
month(date())7****系统当前日期为2007-07-24
32.月函数
【函数格式】?
cmonth(<日期表达式>)
【函数功能】以英文单词形式返回<时间表达式>中的月的数值
【返回值类型】字符型
eg:
?
cmonth(date())July****系统当前日期为2007-07-24
33.日函数
【函数格式】?
day(<日期表达式>)
【函数功能】返回<日期表达式>的日的数值
【返回值类型】数值型
eg:
?
day(date())24****系统当前日期为2007-07-24
34.星期函数
【函数格式】?
dow(<日期表达式>)
或?
cdow(<日期表达式>)
【函数功能】返回<日期表达式>对应的当天星期几
【返回值类型】数值型字符型
eg:
?
dow(date())3****系统当前日期为2007-07-24
?
cdow(date())Tuesday****系统当前日期为2007-07-24
35.时函数
【函数格式】?
hour(<时间日期表达式>)
【函数功能】返回<时间日期表达式>的时的数值
【返回值类型】数值型
eg:
?
hour(datetime())13*****系统当前时间为13:
26:
46
36.分函数
【函数格式】?
minute(<时间日期表达式>)
【函数功能】返回<时间日期表达式>的分的数值
【返回值类型】数值型
eg:
?
minute(datetime())26*****系统当前时间为13:
26:
46
37.秒函数
【函数格式】?
sec(<时间日期表达式>)
【函数功能】返回<时间日期表达式>的秒的数值
【返回值类型】数值型
eg:
?
sec(datetime())46*****系统当前时间为13:
26:
46
④、转换函数
38.数值转换为字符函数
【函数格式】?
str(<数值表达式>,[,<长度>[,<小数位数>]])
【函数功能】把<数值表达式>的值转换为字符串
【使用说明】①.<数值表达式>指定被转换的数据。
<长度>指定转换后字符串的总长度,长度的缺省值为10。
<小数位数>指定转换后允许保留的小数位数
②.如果“长度”大于<数值表达式>的字符个数,在字符前面用空格补齐;如果“长度”小于整数部分的数字长度且不指定<小数位数>,输出一串星号(*)。
③.如果不指定<小数位数>,那么只返回<数值表达式>的整数部分,若<数值表达式>有小数部分则进行四舍五入。
若指定<小数位数>,则返回指定的小数位数,并按该有效位数进行四舍五入。
长度的缺省值为10
【返回值类型】字符型
eg:
?
str(5664)5664
?
str(5664.25)5664
?
str(1357.246,6,2)1357.2
?
str(1357.246,8,2)1357.25
?
str(1357.246)1357
?
str(1357.246,3)***
39.字符转换为数值函数
【函数格式】?
val(<字符表达式>)
【函数功能】<字符表达式>指定被转换的字符型文字。
val()函数从左到右依次转换,遇到非数字字符就停止转换
【返回值类型】数值型
eg:
?
val(”125.587”)125.59
?
val(”246xs35”)246.00
?
val(”xs135”)0.00
40.字符转换为日期函数
【函数格式】?
ctod(<字符表达式>)
【函数功能】把字符型日期转换为日期型数据
【使用说明】<字符表达式>指定被转换的字符型数据
【返回值类型】日期型
eg:
?
ctod(”06/10/2007”)06/10/07
41.日期转换为字符函数
【函数格式】?
dtoc(<日期表达式>[,1]
【函数功能】把日期型数据转换为字符型数据
【使用说明】①<日期表达式>指定被转换的日期型数据
②选择1,按yyyymmdd的格式返回结果。
缺省该选项,按mm/dd/yy的格式返回结果
【返回值类型】字符型
eg:
?
dtoc({^2007-02-10})02/10/07
42.字符转换为ASCⅡ码函数
【函数格式】?
asc(<字符表达式>)
【函数功能】返回<字符表达式>值的第一个字符的ASCⅡ码
【返回值类型】数值型
eg:
?
asc(”a”)97
?
asc(”A”)65
43.ASCⅡ码转换为字符函数
【函数格式】?
chr(<数值表达式>)
【函数功能】返回<数值表达式>值表示的ASCⅡ码转换为字符
【返回值类型】字符型
eg:
?
chr(97)a
?
chr(65)A
⑤、其他函数
44.测试首字符是否为字符函数
【函数格式】?
isalpha(<字符表达式>)
【函数功能】测试<字符表达式>首字符是否为字符
【返回值类型】逻辑型
eg:
?
isalpha(”aaabbbccc”).T.
?
isalpha(”123aaa”).F.
45.测试首字符是否为0—9数字函数
【函数格式】?
isdigit(<字符表达式>)
【函数功能】测试<字符表达式>首字符是否为0—9数字
【返回值类型】逻辑型
eg:
?
isdigit(”aaabbbccc”).F.
?
isdigit(”123aaa”).T.
46.测试首字符是否为小写函数
【函数格式】?
islower(eg:
?
<字符表达式>)
【函数功能】测试首字符是否为小写函数
【返回值类型】逻辑型
eg:
?
isalpha(”aaabbbccc”).T.
47.测试首字符是大写函数
【函数格式】?
isupper(<字符表达式>)
【函数功能】测试首字符是否为大写函数
【返回值类型】逻辑型
eg:
?
isdigit(”aaabbbccc”).F.
48.宏代换函数
【函数格式】&<字符型内存变量>
【函数功能】返回字符型内存变量的值
【返回值类型】字符型
eg:
①a=”y”
y=”123”
?
&y123
②a=”b”
b=”123”
?
ab
?
&a123
?
&a=123.T.
49.测试数据范围函数
【函数格式】?
between(<表达式1>,<表达式2>,<表达式3>)
【函数功能】如果<表达式1>的值在<表达式2>和<表达式3>之间,则返回逻辑真值,反之为假
【返回值类型】逻辑型
eg:
?
between(12,13,20).F.
?
between(18,13,20).T.
?
between(“c”,”a”,”y”).T.
50.测试数据是否为空函数
【函数格式】?
empty(<表达式>)
【函数功能】测试指定表达式是否为空,如果表达式为空,返回逻辑真值,反之为假值
【返回值类型】逻辑型
eg:
?
empty(“□□□”).T.
?
empty(“0”).T.
?
empty(“54”).F.
51.测试数据是否为空函数
【函数格式】?
isnull(<表达式>)
【函数功能】测试指定表达式是否为空,如果表达式为null,返回逻辑真值,反之为假值
【返回值类型】逻辑型
eg:
?
isnull(null).T.
?
isnull(“125”).F.
?
isnull(“□□□”).F.
52.测试类型函数
【函数格式】?
vartype(<表达式))
【函数功能】测试指定表达式的数据类型
【返回值类型】字符型
eg:
?
vartype(123.123)N
?
vartype(“addsdfsd”)C
53.去括号函数
【函数格式】?
type(<”表达式”>)
【函数功能】去掉最外一层括号,并判断指定表达式的数据类型
【返回值类型】字符型
●type函数返回值为C,N,D,L,M,S,U(S为屏幕型,U为未定义的数据类型)
eg:
?
type([“123”]C
?
type(‘{06/10/2007}’)U
?
type(“5>2”)L
*************************************************************************************
小结:
1.函数都要加括号,都要有自变量,都必须带参数;
2.函数的类型与返回值必须保持一致;
3.带括号的是函数,不带括号的是命令。
*************************************************************************************
5、表达式(优先级顺序由高到低排列)
①.算术运算符
运算符
说明
eg
结果
()
分组优先
?
2*(4+2)
12
单目-
取数的相反数
?
-100
-100
单目+
取数的原值
?
+3.14
3.14
**或^
乘幂
?
2^3
8.00
%
取模
?
100%33
1
*
乘
?
7*9
63
/
除
?
10/3
3.33
+
加
?
$12+$45
57.0000
-
减
?
$67-21
46.0000
●运算顺序为:
先乘方,再乘除与取模,后加减,同一级别运算由左向右,圆括号可以改变运算的先后次序,若有圆括号嵌套,则按先内后外的次序处理。
②字符运算符
运算符
操作
eg
结果
+
将两个串简单连接在一起,参加连接的串可以是字符串,字符字段,内存变量等
?
”visual□”+”foxpro”
?
”计算机”+[文化]
?
”计算机□”+[文化]
visual□foxpro
计算机文化
计算机□文化