高分求答案(VFP)

作者&投稿:籍慧 (若有异议请与网页底部的电邮联系)
高分求VFP函数详解~

字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.
1.取子串函数:
格式:substr(c,n1,n2)
功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.
例:取姓名字符串中的姓.
store "王小风" to xm
?substr(xm,1,2)
结果为:王
2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型.
trim(字符串):删除字符串的尾部空格
alltrim(字符串):删除字符串的前后空格
ltrim(字符串):删除字符串的前面的空格
例:去掉第一个字符串的尾空格后与第二个字符串连接
store "abcd " to x
store "efg" to y
?trim(x)+y
abcdefg
3.空格函数:
格式:space(n)
说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).
例:定义一个变量dh,其初值为8个空格
store space(8) to dh
4.取左子串函数:
格式:left(c,n)
功能:取字符串C左边n个字符.
5.取右子串函数:
格式:right(c,n)
功能:取字符串c右边的n个字符
例:a="我是中国人"
?right(a,4)
国人
?left(a,2)

6.empty(c):用于测试字符串C是否为空格.
7.求子串位置函数:
格式:At(字符串1,字符串2)
功能:返回字符串1在字符串2的位置
例:?At("教授","副教授")
2
8.大小写转换函数:
格式:
lower(字符串)
upper(字符串)
功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写
例:
bl="FoxBASE"
?lower(bl)+space(2)+upper(bl)
foxbase FOXBASE
9.求字符串长度函数:
格式:len(字符串)
功能:求指定字符串的长度
例:a="中国人"
?len(a)
6
二.数学运算函数:
1.取整函数:
格式:int(数值)
功能:取指定数值的整数部分.
例:取整并显示结果
?int(25.69)
25
2.四舍五入函数:
格式:round(数值表达式,小数位数)
功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理
例:对下面给出的数四舍五入并显示其结果
?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)
3.1416 2049 2000
3.求平方根函数:
格式:sqrt(数值)
功能:求指定数值的算术平方根
例:?sqrt(100)
10
4.最大值、最小值函数:
格式:
Max(数值表达式1,数值表达式2)
Min(数值表达式1,数值表达式2)
功能:返回两个数值表达式中的最大值和最小值
例:
x1=123.456
x2=234.567
?max(x1,x2)
234.567
?min(x1,x2)
123.456
5.求余数函数:
格式:mod(表达式1,表达式2)
功能:求表达式1对表达式2的余数
例:
?mod(10,3)
1
6.求指数、对数函数:
格式:
exp(数值表达式)
log(数值表达式)
功能:
(1).exp()计算自然数e为底,表达式的值为指数的幂
(2).log()计算表达式值的自然对数,返回lnx的值.
例:
x=1
y=exp(x)
?exp(x),log(x)
2.72 1三.转换函数:
1.数值转数字字符串函数:
格式:str(n,n1,n2)
功能:将数值n转换为字符串,n1为总长度,n2为小数位
例:?str(321.56)
322 &&隐含四舍五入取整转换为字符型数据
?str(321.56,6,2)
321.56
2.字符转数值函数:
格式:val(s)
功能:将数字字符串s转换为数值
例:x="23"
y="76"
?val(x)+val(y)
100
3.字符转日期函数:
格式:ctod(c)
功能:将日期字符串c转换为日期
例:set date ansi &&日期格式设为美国标准化协会格式
?ctod("^2005.11.14")
2005.11.14
4.日期转字符函数:
格式:dtoc(d)
功能:将日期d转化为日期字符串
例:将日期型数据转化为字符型日期数据并显示汉字日期.
set century on &&开启世纪前缀,即日期中年份用4位表示
set date ansi
rq={^2005.11.14}
rq=dtoc(rq)
?substr(rq,1,4)+"年"+substr(rq,6,2)+"月"+substr(rq,9,2)+"日"
2005年11月14日
5.时间转字符函数:
格式:ttoc(时间)
功能:将时间转为时间字符串
6.字符转时间函数:
格式:ctot(c)
功能:将时间字符串转化为时间
7.字符串替换函数:
格式:stuff(,,,)
功能:从指定位置开始,用的值去替换中指定个数字符.若为零,直接插入;若为空字符串,则删除中指定个数的字符.
例:X="祝大家新年好!"
?stuff(X,7,4,"春节")
祝大家春节好
?stuff(X,11,0,"春节")
祝大家新年春节好
?stuff(x,7,4," ")
祝大家好
8.字符转ASCⅡ码函数:
格式:Asc()
功能:把左边第一个字符转成相应的ASCⅡ码值
例:x="Foxpro"
?Asc(x),Asc(lower(x))
70 102
9.ASCⅡ码值转字符函数:
格式:chr(数值表达式)
功能:把数值转成相应的ASCⅡ码字符,返回值为字符型
例:?chr(70)+chr(111)+chr(111+9)
Fox
四.日期函数:
1.系统日期函数:
格式:date()
功能:给出系统的当前日期,返回值是日期型数据.
例:显示系统日期
?date()
11/14/05
set date ansi
set century on
?date()
2005.11.14
2.年、月、日函数:
格式:(1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份.
(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.
(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数.
例:测试系统日期
rq=date()
?year(rq),month(rq),day(rq)
2005 11 14
3.系统时间函数:
格式:time()
功能:得到当前时间字符串
例:?time()
20:32:26
4.系统日期时间函数:
格式:datetime()
功能:得到当前日期时间
例:?datetime()
2005.11.14 08:35:12 PM
5.星期函数:
格式:dow(日期表达式)
cdow(日期表达式)
功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期
例:?date()
2005.11.15
?dow(date()),cdow(date())
3 Tuesday
五.测试函数:1.测试文件尾函数:格式:eof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试文件记录指针是否指向文件尾use 职工档案go bottom ?eof().F.skip?eof().T.2.测试文件头函数:格式:bof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试记录指针是否指向文件头use 职工档案go top?bof().f.skip -1?bof().t.3.测试当前记录号函数: 格式:recno()功能:得到当前的记录号例:use 职工档案 ?recno()1skip?recno()2 4.测试表文件记录数函数:格式:reccount()功能:得到表的记录数例:测试"职工档案"表的记录数use 职工档案?reccount()55.测试表字段数函数: 格式:fcount()功能:得到当前的字段数例:测试"职工档案"表共有多少个字段use 职工档案?fcount()96.测试查找记录是否成功函数:格式:found()功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.例:在"职工档案"表中查找"小刚"的文化程度use 职工档案locate for 姓名="小刚"?found().t.display7.文件测试函数:格式:file(字符表达式)功能:测试字符表达式指定的文件是否存在例:?file("e:\myvfp\职工档案.dbf").t.8.数据类型测试函数:格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)例:x=1236y="hello"?type("x")N?type("y")C 9.测试工作区函数:格式:select()功能:返回当前工作区的区号10.测试别名函数:格式:alias()功能:测试当前工作区的别名例:select 1use 职工档案 alias zgdaselect 2use 工资情况?alias()工资情况 &&打开表时,不指定别名,表名即为别名select zgda &&通过别名选择工作区?select()1 11.表文件名函数:格式:dbf()功能:返回当前工作区打开的表名 例:use 工资情况?dbf()e:\myvfp\工资情况六.其它函数:
1.宏替换函数:
格式:&变量名
说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.
例:为"工资情况"表中每个人加100元工资
gz="工资"
use 工资情况
replace all &gz with &gz+100
2.条件函数:
格式:iif(表达式,表达式1,表达式2)
功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致
a=3
b=5
?iif(a>b,"高兴","开心")
开心
3.消息框函数:
格式:messagebox(提示文本[,对话框类型[,对话框标题文本]])
功能:显示提示对话框
说明:
(1)对话框类型:
对话框类型 功能
0 仅"确定"按钮
1 "确定"和"取消"按钮
2 "终止","重试"和"忽略"按钮
3 "是","否"和"取消"按钮
4 "是"和"否"按钮
5 "重试"和"取消"按钮
16 stop图标
32 ?图标
48 !图标
64 i图标
0 默认第1个按钮
256 默认第2个按钮
512 默认第3个按钮 (2).返回值:
返回值 按钮
1 确定
2 取消
3 终止
4 重试
5 忽略
6 是
7 否
例:分析messagebox("您确实要退出系统吗?",4+64,"提示信息")会弹出什么样的窗口.
分析:回头观察此函数的格式,弹出的对话框中的提示文本是"您确实要退出系统吗",对话框标题是"提示信息",
函数中间有"4+64",其中4指定对话框中出现"是"和"否"两个按钮(见表1),64指定对话框中出现i图标(见表2)
ok,我们在命令窗口依次执行下列命令:
tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")
&&变量tui用于接收messagebox函数的返回值,弹出的窗口如图1
?tui
&&变量tui值取决于运行时用户点了哪个按钮,如果点了"是",返回6,如果点了"否",返回7,见表2
说明:实际应用中,我们常在系统菜单或在表单的"退出"按钮中添加如下代码:
tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")
if tui=6 &&如果此条件成立,说明用户点了"是"按钮,执行quit命令,安全退出
quit
endif

参考资料: http://wenku.baidu.com/view/869c273f5727a5e9856a61d5.html

6、 用成批替换命令将ZGDA.DBF表所有职工的基本工资增加15%。
update ZGDA set 基本工资=基本工资+基本工资*0.15
7、将年龄超过50岁的职工做删除标记。
delete for alltrim(年龄)>50
8、快速查找数学分数为95分的记录。(需要索引)。
index on 数学 tag 数学 descending
locate for alltrim(数学)=95
9、查找DA_1.DBF表中的第二个男工程师的记录并显示。
set filter to 性别="男",部门="工程师"
goto 2
list
10、统计学生成绩表中语文、数学、VFP三科的科平均分,结果分别存入yw、sx、VFP变量中。`
n=recno()
calculate sum(语文)/n,sum(数学)/n,sum(VFP)/n to yw,sx,VFP
11、统计学生档案表中少数民族学生占全班的比例。
index on 民族 tag 民族
m=recno()
count for alltrim(民族)汉族 to w
? "学生档案表中少数民族占全班的比例是:",w/m
12、将XSDA表与XSCJ表建立一对一的关联,并显示姓名,性别,语文,数学数据。
use xsda
index on 姓名 tag xm
use xscj
set relation to 姓名 into xsda
list for xsda.姓名,xsda.性别,语文,数学数据

一、判断题(20分)
1、表单中程序的执行是有一定顺序的。 对
2、表单可用于数据库信息的显示、输入和编辑。 错
3、表单的设计是可视化的。 对
4、在表单内可以包含的各种控件中,表格的缺省名称为grid。对
5、让控件获得焦点,使其成为活动对象的方法是gotfocus。错
6、计时器控件用于设置时间间隔的属性名是interval。对
7、在进行表单设计时,可以使用表单控件工具栏向表单上添加控件对象。对
8、在微调按钮设计时,用于设置微调量的属性是interval。错
9、为了在报表中打印当前系统时间,应该插入一个文本框控件。错
10、表单的代码thisform.release,其中的release是表单对象的方法。对
11、选项按钮组的value初值设置为0,表示没有按钮被选中。对
12、下拉列表框可输入数据,下拉组合框不可以输入数据。错
13、如果运行一个表单,首先被触发的事件是load。对
14、vfp中支持两种菜单类型,分别是下拉菜单和快捷菜单。对
15、若要显示表中逻辑字段的值,可以使用选项按钮组。错
16、页框不是表单中的容器类控件。错
17、设置页框对象页数的属性是buttomcount。错
18、在项目管理器中创建一个新的报表文件,应选择管理器的文档选项卡。对
19、可以使用报表向导创建简单规范的报表。对
20、报表中若要打印页码,应该使用系统变量_pageno。对
二、选择题(40分)
1、代码thisform.text1.setfocus表示该表单上的(B )
A、标签text1获得焦点 B、文本框text1获得焦点
C、标签text1失去焦点 D、文本框text1失去焦点
2、在表单内可以包含的各种控件中,选项按钮组的缺省名称为(A )
A、optiongroup B、check C、option D、caption
3、关于报表的数据源,最正确的说法是(D )
A、自由表和其它报表 B、自由表和数据库表
C、自由表、数据库表和视图 D、自由表、数据库表、查询和视图
4、阅读下面程序段:
Thisform.text1.value=””
For i=1 to 30
A=upper(chr(int(rand()*26)+65))
Thisform.text1.value=thisform.text1.value+a
Endfor
(1)该程序段的功能是(C )
A、产生1~30的数字 B、产生30个随机数
C、产生30个大写字母 D、产生30个小写字母
(2)产生的数字或字母显示在(C )
A、表单标题中 B、表单标签中 C、表单文本框中 D、屏幕上
(3)程序中的value是一个(A)
A、属性 B、事件 C、方法 D、变量
问题补充:
11、退出表单运行的代码是<thisform.release >。
12、复选框如果被选中,它的value属性值等于< 1>。
13、设置表格控件的数据源的属性名是<recordsource >。
14、报表的基本带区有页标头、<细节 >、页注脚。
15、预览报表文件“rerport5.frx”的命令是:report < form> report5 《preview》
16、使用菜单设计器定义菜单,最后生成的菜单程序文件扩展名是<mpr>。
17、若将文本框控件与字段进行绑定,应修改文本框的<controlsource>属性。
18、表单文件的扩展名为<scx >。
19、在学生成绩报表中包含一项学生总人数统计,这个部分应放<总结>带区。
20、要求标签控件运行时显示为0.0,则在表单的INIT事件中有如下代码:
Thisform.label1.<caption > =”0.0”


自己电脑里vfp交卷时,经常出现应用程序发生异常,然后程序自己关闭,不知 ...
请不要盗用我的答案!!一号方案【新P】注意【原创】:1.安全模式下,效果更好!2. 以下所要使用的软件,都要安装或升级到最新版本,以保证使用的效果。3. 不杀毒,直接使用以下方法也可以 。若效果不好,就先在安全模式下用优质杀毒软件(如:卡巴斯基)杀一下,360安全卫士最好也用一下,之后,...

关于VFP时间的问题
这个按秒计算的 如果加一秒:+1 如果加一分钟:+60 如果加一小时:+3600(60*60)如果加一天:+86400(60*60*24)比如【2009.07.18 12:56:07】-【2009.07.16 07:43:46】=191541秒 就可以换算成2天5小时12分21秒 同样,比如再过5天10小时26分 【2009.07.18 12:56:07】+【5天*86400+...

谁有06年和往年的专升本计算机VFP的题目啊??急用!!谢谢!!!
2006年山东专升本计算机预测试题(含答案)一。单选题 (每小题1分) 1. 微型计算机中的辅助存储器,可以与下列( )部件直接进行数据传送? ( ) A.运算器 B.内存储器 C.控制器 D.微处理器 2. 微型计算机中使用的人事档案管理系统,属下列计算机应用中的( )。 ( ) A.人工智能 B.专家系统 C.信息管理 D.科学...

FoxPro到底是个什么软件,它有什么用处??
visual foxpro是数据库管理系统,是介于数据库和用户的管理系统,集成开发语言,提供数据库操作前端界面的制作,提供c\/s模式开发,提供api和activitx函数和控件的接口,是开发小型数据库的前端工具。数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、...

VF试题~~急!!
INSERT(这个答案有问题。)16.假如数据表中有"数学"、"语文"、"物理"、"化学"、"英语"、以及"总分"等字段,它们都为数值型数据,如果要求出所有学生的总分并添入总分字段中,应使用的命令是:C)REPLACE ALL 总分 WITH 数学+语文+物理+化学+英 17.如果要恢复用DELETE命令删除的若干条记录,应该...

求vfp高手求助!!跪谢!!!某院校按学生选修的学分收费。学分在12分以下...
do while .t.accep to x inpu to f if alltrim(x)$"nN"exit endif ?x ??iif(f<=12,4000,4000+200*(f-12))enddo

VFP中怎么求时间差 要具体到分钟或秒
nt=SECONDS()?SECONDS()-nt &&输出为秒

关于vf中foxpro的各项命令,希帮忙填写说明和举例
展开全部 搜索:VFP 6.0 中文版语言参考手册 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 ...2.求平方根表达式格式:SQRT(<数值表达式>)例如:SQRT(16)=4,它与开二分之一次方等同。3.圆周率

求解!用vfp写程序!!!已知一个数列第一项,第二项分别是0,1,第三项开始...
已经尽力了,只能输出92个左右,太大了。include<stdio.h> int main(){ int i = 2;unsigned long a = 0;unsigned long b = 1;unsigned long data[100];data[0] = a;data[1] = b;while(i < 99){ unsigned long c = b;b = a + c;a = c;data[i] = a + b;i++;} for...

输入30名同学的成绩,并输出每个分数段得人数,用vfp编程
clear store 0 to x1,x2,x3,x4 for i=1 to 30 input "请输入成绩:" to cj do case case cj>=90 x1=x1+1 case cj>=80 and cj<90 x2=x2+1 case cj>=60 and cj<80 x3=x3+1 case cj<60 x4=x4+1 endcase endfor ?"90分以上有:",x1 ?"80分-90分有:",x2 ?"60分...

鹤城区15275996227: vfp用replace命令求出每个学生的总分、平均分、和优秀生值(每科成绩都要求大于等于80分为优秀)请问求优vfp用replace命令求出每个学生的总分、平均分... -
标仲清眩:[答案] replace命令可以求出每个学生的总分、平均分,但你要统计出优秀生人数,要用到select 命令或count命令,或编写个程序吧. count to s for 语文>=80 and 数学>=80 and 英语>=80 and ...?s变量s里保存的就是优秀生人数.s...

鹤城区15275996227: 高分求解一道VFP编程题
标仲清眩: 这是一个VFP入门的题目,我写下来,没有进行测试: INPUT "ENTER A NUMBER:" TO A INPUT "ENTER A NUMBER:" TO B INPUT "ENTER A NUMBER:" TO C D=B*B-4*A*C IF D>0X1=(-B+SQRT(D))/(2*A)X2=(-B-SQRT(D))/(2*A)?"X1=",X1?"X2=",X2 ELSEIF D=0X=-B/(2*A)?"X1=X2=",XELSE?"NO REAL ROOTS"ENDIF ENDIF

鹤城区15275996227: vfp查询表单代码问题!高分求解释 -
标仲清眩: do casecase Thisform.Optiongroup1.Option1.=1SET FILTER TO alltrim(thisform.text1.value)$姓名 case Thisform.Optiongroup1.Option2.=1SET FILTER TO alltrim(thisform.text1.value)$性别 case Thisform.Optiongroup1.Option3.=1SET FILTER TO alltrim(thisform.text1.value)$政治面貌 endcase Thisform.Refresh

鹤城区15275996227: 大一VFP题 求高手解答 高分悬赏 要求:VFP语言专业解答,5小题会几题就做几题.
标仲清眩: (1)use zgcopy struct to zg1 (2)select * from zg where 性别="男" and year(出生日期)>=70 (3)delete from zg where 性别="男"recall for left(姓名,2)<>"林" (4)use zgindex on 基本工资,出生日期 tag gznl (5)select * from zg where 姓名like "王*"

鹤城区15275996227: 几题关于VFP的索引题,答出来高分赠送
标仲清眩: 1.按姓名索引(默认升序方式)并将其置为当前索引,则执行GO TOP后,当前记录号为2,因为姓名中“李四”最小(注意一级汉字是按拼音排序的) 2.若按学号升序方式索引,则索引后排列顺序是: 1 10 张三 20 3 13 王五 20 2 2 李四 21 4 4 张三 19 因为学号是按ASCII码排序的,那么10最小 3.如果按姓名索引的话,题中有两个张三,那么原来哪个张三排在前,现在仍然排在前.(值相同的情况下,看记录号)

鹤城区15275996227: VFP题目,求答案,有点急哦…… -
标仲清眩: 这么一大堆问题,就〔零〕分?呵呵... 别急!别急!!别急!!! ========================================== 1、Visual FoxPRo的操作方式有( ) (A)命令方式 (B)程序方式 (C)批处理方式 (D)命令方式、程序方式 答...

鹤城区15275996227: 跪求答案:VFP算圆柱体表面积的程序 找错题~~
标仲清眩: DO cya WITH r,h,carea 带有3个参数 PARAMETERS a,b 只有2个参数,不允许的 另pai是有函数的,pi()

鹤城区15275996227: VFP,有关日期或日期时间型的表达式的选择题,求解析 -
标仲清眩: A答案是日期型数据加日期型数据,VFP中不被允许;B答案是日期型数据加数字,结果仍为日期型,此例2012/02/01加上2天等于2012/02/03;C答案是日期时间型数据相减,结果为数值型,等于相差的秒数,此例结果等于31622400(也就是366天的总秒数);D答案是日期型数据相减,结果主数值型,等于两个日期间相差的天数,此例结果等于365;上述答案中,只有A答案不符合VFP的语法(日期型数据不能进行加、减运算),因此A答案是错误的.

鹤城区15275996227: 高分求VFP数据更新命令
标仲清眩: cPath_Server = [\\共享服务器名\004文件夹\] cPath_Local = [X:\本地文件存放路径\] FOR i=1 TO ADIR(aFN, cPath_Server+[*.dbf]) USE (cPath_Server+aFN[i,1]) SHARED COPY TO (cPath_Local+aFN[i,1]) CDX ENDFOR CLOSE DATABASES

鹤城区15275996227: VFP,选择题,急,高分!!!
标仲清眩: use 销售 &amp;&amp; 打开表 replace 单价 with 40 &amp;&amp;把单价[字段]替换为40 store 20 to 单价 &amp;&amp;给数值型[内存变量]"单价"赋值为20 ? 单价,A-&gt;单价,M-&gt;单价 &amp;&amp;显示:当前工作区字段单价,A...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网