Vf练习1-5

时间:2019-05-15 12:55:11下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Vf练习1-5》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Vf练习1-5》。

第一篇:Vf练习1-5

Vf练习1—51、任意一个数,若能被7或3整除,则输出该

3、从键盘上连续输入10组数,分别输出每数和,对输入进行规定,每组数的结束标志为“0” ENDDO I=I+1 J=1

数,最后释放所有的内存变量 SET TALK OFF

INPUT “输入一个数”TO X?[24]ENDIF

RETURN1、下面程序的功能是计算1——100之间所有整数的平方和并输出结果 S=0

DO WHILE X<100ENDDO ?S RETURN1、编程求1——1000之间被3整除又被5整除的个数及其和。N=0 S=0 K=1

S=S+K ENDIF K=K+1 ENDDO ?N,S RETURN

K=1

?”请输入第”+“组数” S=0 X=1

INPUT “请输入下一个数:”TO X ENDDO

?”第”+[11]+“组数之和”,S K=K+1 ENDDO RETURN4、编写程序,要求从键盘输入9个数,按从小到大的顺序排列并显示出来。CLEAR

I=1

INPUT TO K(I)I=I+1 ENDDO I= 1

T=K(I)K(I)=K(J)K(J)=T ENDIF

ENDDO I=1

DO WHILE I<10I=I+1 ENDDO RETURN3、键盘输入10个数,输入最小数 SET TALK OFF CLEAR K=1

INPUT “请输入第1个数:” TO AINPUT “请输入第2个数:” TO BENDIF

?“最小数”,A SET TALK ON RETURN4、从键盘输入10个数,按从小到大的顺序输出

SET TALK OFF CLEAR

I=1

DO WHILE I<=10 INPUT TO M(I)

I=1

T=M(J)M(J)=M(J+1)M(J+1)=T ENDIF

ENDDO I=I+1 ENDDO I=1

DO WHILE I<=10 I=I+1 ENDDO SET TALK ON RETURN4、计算10!+15!+20!+25!CLEAR I=10 T=0

S=0

ENDDO ?T ENDDO RETURN

子程序功能计算P=N!*子程序PRO1.PRG

PARAMETERS P,N,PL=L+1 ENDDO6、编写一个子程序计算N的阶乘,在主程序中计算3!+5!+7!+9!+11!。*主程序JCS.PRG SET TALK OFF CLEAR STORE 0 TO S,K

DO JC1

NEXT

RETURN *子程序JC1.PRG *计算N!的阶乘

STORE(24)TO L,K FOR L=1 TO N(25)NEXT RETURN3、已知一数列的前三个数:0,0,1以后每个数为前三个数的和,求该数列的前20个数。F1=0 F2=0 F3=1

?F1,F2,F3 I=

4??F4

I=I+1 ENDDO SET TALK ON RETURN3、程序的功能是:从键盘上输入10个正数放在一维数组X中,然后显示最大的数组元素及其下标

(10)MAX=0 C=1

FOR K=1 TO 10 INPUT„输入‟+‟第‟+STR(K)+‟个数据‟NEXT KMAX=X(1)FOR K=2 TO 10

IF(12)(13)C=K

(14)ENXT K ?MAX,C1、下列程序的功能是完成建立索引文件,输入表文件名,索引关键字(字符型)和索引名,运行后生成一个按输入关键字进行索引的索引文件之后显示索引文件和索引扣的数据,最后关闭文件

SET TALK OFF

ACCEPT “输入表文件名:” TO FNAME ACCEPT “输入索引关键字:” TO KEY ACCEPT “输入索引名:” TO INAME

INDEX ON [2]TAG [3]

?“索引名”+[4]USE RETURN2、已知XSCJ.DBF有如下的记录,编程计算每个学生的总分,总分=英语+语文+数学,并根据总分给每个学生填入内容:总分>=240等级为‘优’;180<=总分<240分等级为‘良’;总分<180分等级为‘不及格’ 姓名 英语 语文 数学 总分 等级 张山 90 80 65李四 60 75 70王五 80

SETTALK OFF

CLEAR USE XSCJ

GO TOP

DO WHILE NOT EOF()DO CASE CASE总分>=240

REPLACE 等级别 WITH “优” REPLACE 等级别 WITH “良” CASE总分<180ENDCASE

ENDDO USE RETURN5、在XSCJ.DBF表文件中查找一位学生根据其

平均分判断该生的学生情况 CLEAR

[20]ACCEP“请输入学号:” TO XH LOCATE[21]IF[22][23]CASE平均分>=80 ?“成绩优秀!” CASE平均分>=60 ?“成绩及格!” OTHERWISE

?[24]ENDCASE

?“查无此人!” ENDIF USE RETURN

已知表文件XS.DBF有三个字段:姓名/C/ 8,团员/L,团员/L,出生日期/D

1,编写程序,显示XS.DBF中所有团员同学的名单。CLEARUSEXSGO 1

DO WHILE[1]____________________IF[2]_____________________[3]________________________姓名ENDIF

[4]_________________________ ENDDO

[5]_________________________ RETURN

2._编写程序,在中查找并显示1992年出生的同学。CLEAR

DO WHILE NOT EOF()ENDDO USERETURN1、现在学生表XS.dbf,试用scan循环显示学生表中男生的情况 CLEAR

SCAN

LOOPENDIF

ENDSCAN USE RETURN2、在学生表文件中“年龄”字段为N型,“标志”字段为L型,通过索引查询显示所有年龄为20的学生记录,然后把记录11到末记录的标志字段设置为.T.SET TALK OFF USE 学生

INDEX ON 年龄 TAG NLDO WHILE NOT EOF()DISPLAY

IFEXIT ENDIF ENDDO

USESET TALK ON RETURN2、阅读下列程序并将程序填写完整 STORE “Y” TO YN USE SP1

INDEX ON 品牌 TAG PIN SET ORDER TO PIN

DO WHILE(4)ACCETP“请输入查询的品牌:” TO CHX SEEK(5)IF(6)DISPLAY(7)?“无此品牌商品!”(8)

WAIT“继续查找吗?(Y/N)” TO YN IF(9)EXIT

(8)ENDDO RETURN4、设数据表文件PHONE.DBF中包含了“姓名”、“电话”和“地址”三个字符型字段。以下程序的功能是打开表,按用户输入的任一电话号码进行查找,如查存在该号码,则显示其单位地址,关闭文件并结束程序,请将补充程序。

(15)DO WHILE.T.PHN=SPACE(8)

ACCEPT”请输入电话号码” to PHN LOCATE FOR PHN=电话 IF(16)?“单位地址:”+地址 USE

(17)ENDIF ENDDO5、输入要删除的记录号且记录号不超过XJ表的记录范围 USE

(18)C=RECCOUNT()IF C>=N

DELETE

ENDIF5、从键盘输入一个字符串,然后按组成字符串字符的倒序输入单个字符,在输出过程中如遇到空格字符便停止输出。

ACCEPT“输入一个字符串:” TO ST

IF SUBSTR(ST,N,1)=SPACE(1)ELSE

ENDIF ENDDO

RETURN5、编写打印如下图形。ABBBCCCCC

DDDDDDD

I=1

J=

1ENDDO

ENDDO RETURN

4、打印图形**************** SET TALK OFF CLEAR

S=1

??”*” S=S+1 ENDDO

ENDDO RETURN

第二篇:VF电子教案(表单练习)

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(1)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

一、与表无关的表单设计(与计时器无关)1.要求:(1)编制一个按钮组调色板

(2)当用户按了命令按钮组中的某个按钮后,表单的背景色就会变为按钮指定的对应颜色。

 命令按钮组Commandgroup1的Click事件代码:

do case

case this.value=1 thisform.backcolor=rgb(225,0,0)case this.value=2 thisform.backcolor=rgb(0,255,0)case this.value=3 thisform.backcolor=rgb(0,0,255)case this.value=4 thisform.backcolor=rgb(0,0,0)case this.value=5 thisform.backcolor=rgb(225,255,255)endcase thisform.refresh

2.要求:(1)编制一个按钮组调色板

(2)当用户按了命令按钮组中的某个按钮后,命令按钮组的背景色就会变为按钮指定的对应颜色。(注意与上一题比较,14是设置表单的背景色,本题是设置命令按钮组的背景色。

 命令按钮组Commandgroup1的Click事件代码:

do case

case this.value=1 this.backcolor=rgb(225,0,0)case this.value=2 this.backcolor=rgb(0,255,0)case this.value=3 this.backcolor=rgb(0,0,255)case this.value=4 this.backcolor=rgb(0,0,0)case this.value=5 this.backcolor=rgb(225,255,255)endcase thisform.refresh

3.要求:(1)编制一个选项按钮组调色板

(2)当用户按了某个选项按钮后,表单的背景颜色就会变为按钮指定的对应颜色。

 选项按钮组Optiongroup1的Click事件代码:

do case

case this.value=1

thisform.backcolor=rgb(255,0,0)case this.value=2

thisform.backcolor=rgb(0,255,0)case this.value=3 教学时间约

****年**月**日

总第节

审批签字:

thisform.backcolor=rgb(0,0,255)case this.value=4

thisform.backcolor=rgb(0,0,0)case this.value=5

thisform.backcolor=rgb(255,255,255)endcase  如果是设置选项按钮组的背景色,如下图

则颜色设置语句为:thisform.optiongroup1.backcolor=rgb(255,0,0)4.要求:(1)编制一个“选页调色板”表单

(2)当用户按了某页后,页框的背景色就会变成指定的对应颜色。

 选项按钮组Pageframe1的Click事件代码:

do case case this.activepage=1

this.page1.backcolor=rgb(255,0,0)case this.activepage=2

this.page2.backcolor=rgb(0,255,0)case this.activepage=3

this.page3.backcolor=rgb(0,0,255)case this.activepage=4

this.page4.backcolor=rgb(0,0,0)case this.activepage=5

this.page5.backcolor=rgb(255,255,255)endcase thisform.refresh

5.要求:(1)编制一个表单完成口令判定功能;(2)用户从键盘输入口令时,表单的显示控件以“*”代替具体内容;(3)系统的口令存放在表文件“学生.dbf”的姓名字段中,要求完全匹配;(4)输入口令后,按回车,将自动在表单上显示“正确”或“错误”信息。

***text1的Valid事件代码:

loca for alltrim(this.value)=alltrim(姓名)if found()

thisform.label2.caption=”正确!” else

thisform.label2.caption=”错误!” endif select 学生

6.要求:编制一个人工翻动日历牌,界面窗口中显示当前日期,但是可以通过界面提供的微调按钮任意地向前或向后翻动日期。

 Text1的dateformat属性设为“14-汉语”  微调Spinner1的Downclick事件代码:

thisform.text1.value=thisform.text1.value-1 thisform.refresh  微调Spnnier1的Upclick事件代码:

thisform.text1.value=thisform.text1.value+1 thisform.refresh

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(2)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

7.要求(1)设计一个表单,接受用户输入的数字,生成相应的矩阵

(2)文本框内输入一个小于等于10的数字,生成一个相应的对称矩阵,且这个矩阵的对角线的数字全部为0,其他的数字为1。

 “显示”按钮Command1的click事件的代码:

n=val(thisform.text1.value)s=“" for i=1 to n

for j=1 to n

if j=i or j+i=n+1

s=s+”0“+space(2)

else

s=s+”1“+space(2)

endif

endfor

s=s+chr(13)&&每N个字符加一个回车键,所以在内循环结束时执行该语句 endfor thisform.edit1.value=s thisform.refresh

8、要求:按“开始”按钮,在编辑框中显示九九乘法口诀表。

**表单form1的init事件代码: public c,m store “” to c,m **“开始”按钮的click事件 m=”*”

for a=1 to 9

m=m+str(a,4)endfor for I=1 to 9

c=c+str(I,1)for j=1 to I

c=c+str(I*j,4)endfor c=c+chr(13)endfor thisfom.edit1.value=m+c thisform.refresh

9、要求:在文本框中输入一个起始数,在编辑框中显示20个从起始位置开始并且是3的倍数的整数,且这20个数字的个位数都是3,利用标签输出这20个数的和。教学时间约

****年**月**日

总第节

审批签字:

***文本框text1的valid事件代码: public s j=1 I=val(alltrim(thisform.text1.value))S=0 Do while j<=20

If I%3=0 and mod(I,10)=3 J=j+1 S=s+I Thisform.edit1.value=thisform.edit1.value+str(I,10)

Endif

I=I+1 Enddo Thisform.refresh

***command1的click事件代码:

thisform.label2.caption=”这组数字的和=”+str(s,10)thisform.refresh

10、要求:(1)在文本框text1中输入任意一个100以内的正整数;(2)将所有300以内的能被该整数整除的数显示在编辑框中;(3)将所在这些数的和显示在text2中;(4)按“清除”按钮时,将文本框及编辑框清空。

**表单form1的init事件代码: thisform.text1.value=0 thisform.text1.setfocus thisform.text2.value=0 ***文本框text1的valid事件代码: for I=1 to 300

if mod(I,thisform.text1.value)=0 thisform.edit1.value=thisform.edit1.value+str(I,5)+chr(13)thisform.text2.value=thisform.text2.value+i

endif endfor ***“清除”按钮的click事件代码: thisform.text1.value=0 thisform.text2.value=0 thisform.edit1.value=”” thisform.text1.setfocus

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(3)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

要求:按“开始”按钮,在编辑框中显示九九乘法口诀表。**表单form1的init事件代码: public c,m store “” to c,m **“开始”按钮的click事件 m=”*” for a=1 to 9

m=m+str(a,4)endfor for I=1 to 9

c=c+str(I,1)for j=1 to I

c=c+str(I*j,4)endfor c=c+chr(13)endfor thisfom.edit1.value=m+c thisform.refresh

(二)目标展示:表单的操作与命令

(三)导学达标:

11、要求:按“开始”按钮,在列表框中显示2000-2100年之间所有的闰年。

**“开始”按钮的click事件代码: thisform.list1.clear for n=2000 to 2100

if n%4=0 if n%100<>0 or n%400=0

y=1 else

y=0 endif else y=0

endif if y=1

thisform.list1.additem(alltrim(str(n)))endif endfor

12.要求:(1)编制一个小型文本编辑器,界面见下图;(2)文字信息从键盘输入至edit框;(3)三个单选按钮分别用于设置“宋体”、“黑体”和“隶书”;(4)三个check按钮用设置字体的“倾斜”、“加粗”和“下划线”;(5)字号用微调控件实现 教学时间约

****年**月**日

总第节

审批签字:

***optiongroup1的click事件代码: do case

case this.value=1 thisform.text1.fontname=”宋体”

case this.value=2 thisform.text1.fontname=”楷体”

case this.value=3

thisform.text1.fontname=”隶书” endcase ***check1的click事件代码: if this.value=1

thisform.text1.fontbold=.t.else

thisform.text1.fontbold=.f.endif ***check2,3的代码类似于check1 ***spinner1的upclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize-1 ***spinner1的downclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize+1 13.要求:(1)在表单中的三个文本框中分别输入3个数,判别是否能形成三角形,如果是三角形,求出此三角形的面积。(2)判断是否是三角形,可利用:a+b>c,且c>0;a+c>b,且b>0;b+c>a,且a>0

***判断计算按钮command1的click事件代码: a=val(thisform.text1.value)b=val(thisform.text2.value)c=val(thisform.text3.value)if(a+b>c and c>0)or(a+c>b and b>0)or(b+c>a and a>0)

s=(a+b+c)/2

area=sqrt(s*(s-a)*(s-b)*(s-c))endif thisform.label2.caption=”能构成三角形,面积等于:” +str(atea)14.建立一个如图所示的表单

 选项按钮组Optiongroup1的Click事件代码:

do case

case this.value=1

create

case this.value=2 create form case this.value=3

modify command endcase

(四)小结 【教学后记】 教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(4)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

二、与表无关的表单设计(计时器类表单设计)

15.要求:编制一个信息显示(时钟)的界面,显示当前时间(每秒动态显示跳动一次)(2)并将表单的背景颜色设置为蓝、绿色自动变换(与时间同步切换)

 Timer1的Timer事件代码:

s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)mn=val(m)if int(mn/2)=mn/2

thisform.backcolor=rgb(0,0,255)else

thisform.backcolor=rgb(0,255,0)

endif thisform.text1.value=time()16.要求:(1)编制一个表单完成数字时钟显示功能(2)表单将自动以1秒为间隔动态显示系统时间(3)时、分、秒要求用汉字说明

 文本框Text1的背景色Backcolor为RGB(255,255,255);FONTNAME为“隶书”。 时钟控件Timer1的Timer事件代码:

s=substr(time(),1,2)f=substr(time(),4,2)m=substr(time(),7,2)thisform.text1.value=s+”时“+f+'分'+m+'秒'

thisform.refresh 17.要求:(1)编制一个表单完成计时器计数显示功能(2)表单初始显示状态为全零“00:00:00”

(3)按“计数”按钮,将自动以秒为单位从零开始计数(设:时的计数属性名为S,分的计数属性名为F,秒的计数属性名为M。)并在表单上动态显示。按“停止”按钮将显示最后一刻的计数时间。

 创建1个新建属性,clocknum初值设为0  表单的form1的init事件代码:

thisform.timer1.enabled=.f.thisform.text1.value=”00:00:00“ thisform.refresh  “计数”按钮command1的click事件代码: thisform.timer1.enabled=.t. “停止”按钮command2的click事件代码: thisform.timer1.enabled=.f. 时钟控件timer1的timer事件代码:

js=thisform.clocknum s=int(js/3600)f=int(js/60)m=js%60 s1=iif(s<10,'0'+str(s,1),str(s,2))f1=iif(f<10,'0'+str(f,1),str(f,2))

教学时间约

****年**月**日

总第节

审批签字:

m1=iif(m<10,'0'+str(m,1),str(m,2))thisform.text1.value=s1+”:“+f1+”:“+m1 thisform.clocknum=thisform.clocknum+1 thisform.refresh 18.要求:(1)“日期”“星期”“时钟”标签上的文本能自动换行,自动调整大小,背景透明;(2)时钟每1秒种跳一次

 时钟控件Timer1的Timer事件代码:

y=str(year(date()),4)m=str(month(date()),2)d=str(day(date()),2)thisform.text1.value=y+”年“+m+”月“+d+”日“ c=”日一二三四五六“ n=dow(date())w=”星期“+substr(c,2*n-1,2)+”(“+cdow(date())+”)“ thisform.text2.value=w thisform.text3.value=time()19.要求:(1)编制一个表单完成文字水平动态移动操纵的表单;(2)文字信息(纵向)初始显示位置在表单的左边,表单执行后,每间隔20毫秒,文字会自动以间隔加1的幅度逐步向表单右边移动,直到文字到达表单最右边缘;(3)然后,每间隔20毫秒文字会自动以间隔加1的幅度逐步向表单左边移动,直到文字回复到初始位置;(4)整个过程不间断地来回移动

 新建表单属性:right  表单的Form1的Init事件代码:

thisform.timer1.interval=20  时钟控件Timer1的Timer事件代码:

IF thisform.label1.Left=0

thisform.right=.f.endif if thisform.label1.left+thisform.label1.width=thisform.width

thisform.right=.t.ENDIF IF thisform.right

thisform.label1.Left=thisform.label1.Left-1 ELSE

thisform.label1.Left=thisform.label1.Left+1 ENDIF thisform.refresh 20.编制一个日历时钟表单,界面如图所示.要求:(1)表单中的日历是当前日期,时钟每秒跳动一次;(2)单击微调控件的前翻后翻按钮,日期与星期随之变化。

***表单Form1的init事件代码: thisform.text1.value=date()w=iif(dow(date())>1,dow(date())-1,7)thisform.text2.value=”星期”+substr(“一二三四五六日”,2*w-1,2)+”(“+cdow(date())+”)” thisform.text3.value=time()thisform.spinner1.setfocus ***spinner1的upclick事件代码:

thisform.text1.value=thisform.text1.value+1 w=iif(dow(thisform.text1.value)>1,dow(thisform.text1.value)-1,7)thisform.text2.value=”星期”+substr(“一二三四五日”,2*w-1,2)+”(“+cdow(thisform.text1.value)+”)” ***spinner1的downclick事件代码:

thisform.text1.value=thisform.text1.value-1 w=iif(dow(thisform.text1.value)>1,dow(thisform.text1.value)-1,7)thisform.text2.value=”星期”+substr(“一二三四五日”,2*w-1,2)+”(“+cdow(thisform.text1.value)+”)” ***timer1 的timer事件代码:

thisform.text3.value=time()

(四)小结【教学后记】

六教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(5)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

21.要求:(1)编制一个表单完成文字动态缩放操纵的表单;(2)文字信息初始的位置在表单的正中央,表单执行后,第间隔20毫秒,文字自动以字号加1的幅度逐步向周边延伸变大,直到文字充满整个表单;(3)然后每间隔20毫秒,文字会自动以字号加1的幅度逐步向中lkd回缩变小,直到文字复原为初始的状态;(4)整个过程不间断地缩放(最小字号为4,最大学号为52)

.****新建表单属性change ****表单的Form1的Init事件代码: thisform.change=0 ****时钟控件Timer1的Timer事件代码: if thisform.label1.fontsize=52

thisform.change=1 endif if thisform.label1.fontsize=4

thisform.change=0 endif if thisform.change=0 thisform.label1.fontsize=thisform.label1.fontsize+1 else

thisform.label1.fontsize=thisform.label1.fontsize-1 endif thisform.refresh

三、与表相关的表单设计(单表)

1.要求:(1)编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能;(如图1)(2)表单初始显示内容为表文件“学生.dbf”内容的首记录;

(3)表单内容将以10秒为间隔自动刷新,即自动向后翻记录,当翻至表底时,瘵自动回到首记录循环翻动。

 表单的Form1的Init事件代码:

THIS.SETALL(”READONLY“,.T.,”TEXTBOX“)GO TOP THISFORM.REFRESH  时钟控件Timer1的Timer事件代码: SKIP IF EOF()

GO TOP ENDIF THISFORM.REFRESH

2.要求:(1)编制一个表单完成表文件“学生.dbf“内容的只读浏览显示功能(如图2)(2)表单初始显示内容为表文件“学生.dbf”的首记录(3)当按“前翻”、“后翻”、“首记录”、“末记录”按钮时,表单将自动显示相应记录的内容(4)当翻至表头或表底时,将自动设置相应按钮不可访问。教学时间约

****年**月**日

总第节

审批签字:

 表单的Form1的Init事件代码:

THIS.SETALL(”READONLY“,.T.,”TEXTBOX“)Sele 学生 GO TOP THISFORM.REFRESH  “首记录”按钮Command1的Click事件代码:

go top thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.t.thisform.command1.enabled=.f.thisform.refresh  “前翻”按钮Command2的Click事件代码:

skip-1 if bof()thisform.command1.enabled=.f.this.enabled=.f.endif thisform.command3.enabled=.t.thisform.command4.enabled=.t.thisform.refresh

 “后翻”按钮Command3的Click事件代码:

skip if eof()thisform.command3.enabled=.f.thisform.command4.enabled=.f.endif thisform.command1.enabled=.t.thisform.command2.enabled=.t.thisform.refresh

 “末记录”按钮Command4的Click事件代码: go bottom thisform.command1.enabled=.t.thisform.command2.enabled=.t.thisform.command3.enabled=.t.thisform.command4.enabled=.f.thisform.refresh 3.要求:(1)编制“学生“表信息查询界面

(2)查询与用户指定的学生姓名相匹配的记录,并显示指定学生的所有信息。

  

List1的Rowsourcetype为“6-字段”,Rowsource为“学生.姓名”;文本框Text1~Text5的数据源属性分别为学生表中对应字段 所有文本框Text的ReadOnly属性为“.T.”; 表单的Form1的Init事件代码: use 学生

thisform.setall(”visible“,.f.,”textbox“)thisform.setall(”visible“,.f.,”label“)thisform.label1.visible=.t.thisform.refresh 列表框List1的Interactivechange事件代码: thisform.setall(”visible“,.t.)thisform.refresh

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(6)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

4.要求:(1)编制“学生表”信息查询界面(2)显示指定学生的所有信息。

  

Combo1的Rowsourcetype为“6-字段”,Rowsource为“学生.姓名”;文本框Text1~Text5的数据源属性分别为学生表中对应字段 所有文本框Text的ReadOnly属性为“.T.”; 表单的Form1的Init事件代码: use 学生

thisform.setall(”visible“,.f.,”textbox“)thisform.setall(”visible“,.f.,”label“)thisform.label1.visible=.t.thisform.refresh 组合框Combo1的Interactivechange事件代码: thisform.setall(”visible“,.t.)thisform.refresh

5.要求:编制“学生”表信息查询界面,查询与用户输入的学生学号相匹配的记录,并显示指定学生的所有信息。

 Label3、Label4、Label5、Label6的Caption属性分别设置为“姓名:”、“性别:”、“出生年月:”、“奖学金:”,并设置所有文本框的数据源属性为学生表中的对应字段  标签Label2的Forecolor属性为“255,255,255”

 除学号文本框,所有文本框Text的ReadOnly属性为“.T.”;  表单的Form1的Init事件代码:

use 学生

thisform.setall(”visible“,.f.)thisform.label1.visible=.t.thisform.text1.visible=.t. 文本框Text1的Valid事件代码:

loca for alltrim(学号)=alltrim(this.value)if found()

thisform.label2.caption=”“

thisform.setall(”visible“,.t.)else

thisform.setall(”visible“,.f.)

thisform.label1.visible=.t.thisform.text1.visible=.t.thisform.label2.visible=.t.thisform.label2.caption=”您所指定的学生并不存在!“ endif thisform.refresh

6.要求:(1)编制一个界面程序,实现将用户指定的表文件的字段名列表显示(2)系统自动查询用户指定的表文件是否存在,存在则列表显示指定表文件的所有字段名信息,否则给出信息提示框 教学时间约

****年**月**日

总第节

审批签字:

 Form1的Init事件的代码:

Thisform.label2.visible=.f.Thisform.list1.visible=.f. Text1的Valid事件的代码

fn=alltrim(this.value)+ ”.dbf“ if file(fn)thisform.setall(”visible“,.t.)thisform.list1.clear

use(fn)for i=1 to fcount()

thisform.list1.additem(field(i))endfor else Thisform.label2.visible=.f.Thisform.list1.visible=.f.messagebox(”指定的表文件不存在!“,0+64, ”表文件存在判断“)endif thisform.refresh

7.编制一个表单完成学生成绩信息查询显示功能(界面如图所示)。要求(1)当输入学生 9.要求:(1)编制一个表单完成表文件“学生.dbf”内容的查询显示功能(2)当用户在组合框(下拉列表)选择班级(学号的左三位)后,表单将自动显示对应班级的奖学金总额

(3)按“退出”按钮时,自动关闭表单。

 表单Form1的Init事件代码:

sele 学生

index on left(学号,3)to xh unique scan thisform.combo1.additem(left(学号,3))endscan  组合框Combo1的Valid事件代码:

set talk off Sum 奖学金 to jxj for left(学号,3)=this.value Thisform.twxt1.value=jsj  “退出”按钮Command1的Click事件代码:

thisform.release 10.要求:(1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的查询显示功能(2)当用户在组合框(下拉列表)选择班级(学号的左三位)后,表单将自动显示对应班级的所有学生的总平均成绩

(3)按“退出”按钮时,自动关闭表单。

 表单Form1的Init事件代码:

Set talk off index on left(学号,3)to xh unique scan

thisform.combo1.additem(left(学号,3))endscan set index to  组合框combo1的Valid事件代码:

set talk off average成绩 to cj for left(学号,3)=this.value thisform.text1.value=cj  “退出”按钮Command1的Click事件代码: thisform.release

(四)小结 【教学后记】 教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(7)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

11.编制一个表单完成数据转移操作功能

 命令按钮“添加一项”command1的click事件代码:

thisform.list2.additem(thisform.list1.value)thisform.list1.removeitem(thisform.list1.listindex)&&“添加一项”将list1内容移到list2,即list1的内容减少一项(removeitem),list2的内容增加一项(additem)。thisform.refresh  命令按钮“全部添加”command2的click事件代码:

thisform.list1.clear thisform.list2.clear scan thisform.list2.additem(姓名)endscan &&“全部添加”将list1内容全部移到list2,即list1全部清空(clear),list2内容为学生表的“姓名”。thisform.refresh  命令按钮“移去一项”command3的click事件: thisform.list1.additem(thisform.list2.value)thisform.list2.removeitem(thisform.list2.listindex)&&“移去一项”将list2的内容移到list1,list2减少一项(removetiem),list1增加一项(additem)。thisform.refresh  命令按钮“全部移去”command4 的click事件: thisform.list2.clear thisform.list1.clear scan thisform.list1.additem(姓名)endscan &&“全部移去”将list2内容全部移到list1,即list2全部清空(clear),list1内容为学生表的“姓名”。

thisform.refresh

12.要求:(1)编制一个列表框数据转移操作表单;(2)当在左边显示学生姓名的窗口选择某个学生后,单击“选择一项”按钮,左边的列表中的所选中的单项信息将自动转移到右边的列表框中;(3)当在右边显示学生姓名的窗口选择某个学生后,单击“退还一项”按钮,右边的列表中选中的单项信息将自动转移到左边的列表框中。

*****表单Form1的init事件代码: 教学时间约

****年**月**日

总第节

审批签字:

this.list2.rowsourcetype=0 this.list2.rowsource=” this.list12.sorted=.t.this.list1.rowsourcetype=0 this.list1.rowsource=”” use 学生 scan

this.list1.additem(姓名)endscan *****命令按钮”选择一项”command1的click事件代码: thisform.list2.additem(thisform.list1.value)thisform.list1.removeitem(thisform.list1.listindex)thisform.refresh *****命令按钮”退还一项”command2的click事件代码: thisform.list1.additem(thisform.list2.value)thisform.list2.removeitem(thisform.list2.listindex)thisform.refresh

13.要求:在文本框中输入一个工资金额数,从数据表文件gzb.dbf(工资表)中查找高于此工资数男女人数,利用标签输出统计结果。

*****统计按钮command1的click事件代码: select gzb count to x for 工资>val(thisfom.text1.value)and 性别=.t.count to y for 工资>val(thisform.text1.value)and 性别=.f.thisform.label2.caption=”工资超过”+thisform.text1.value+”的男职工人数为:”+str(x,4)thisform.label3.caption=”工资超过”+thisform.text1.value+”的女职工人数为:”+str(y,4)14.四、与表相关的表单设计(多表)

15.要求:(1)编制一个表单完成表文件“课程.dbf”“成绩.dbf”内容的查询显示功能

(2)当用户在组合框选择课程名后,表单将自动显示对应课程的所有学生的总平均成绩

(3)按“退出”按钮时,自动关闭表单。

 组合框Combo1的RowSouceType属性为“6-字段”,RowSouce属性为“课程.课程名”。 组合框Combo1的Valid事件代码:

set talk off select 课程 kch=课程号 select 成绩

average 成绩 to cj for 课程号=kch thisform.text1.value=cj  “退出”按钮Command1的Click事件代码:

thisform.release

(四)小结 【教学后记】

教学时间约

****年**月**日

总第节

审批签字:

【课题】表单练习(8)

本课(章、节)共 2 课时,本课时为第1、2 课时,课的类型:实习课 【教学目标】熟悉表单的操作与命令 【教学重点】表单的操作与命令 【教学难点】表单的操作与命令 【教学方法】讲授法、实验法 【教学过程及板书设计】

(一)前提测评:

(二)目标展示:表单的操作与命令

(三)导学达标:

16.要求:(1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”内容的查询显示功能(2)当用户在组合框(下拉列表)选择姓名后,表单将自动显示对应学生的平均成绩(3)按“退出”按钮时,自动关闭表单。

 组合框Combo1的RowSouceType属性为“6-字段”,RowSouce属性为“学生.姓名”。 组合框Combo1的Interactivepage事件代码:

set talk off select 学生 xh=学号 select 成绩

average 成绩 to cj for 学号=xh thisform.text1.value=cj  “退出”按钮Command1的Click事件代码:

thisform.release

17.要求:(1)编制一个表单完成表文件“学生.dbf”、“成绩.dbf”、“课程.dbf”内容的编辑浏览显示功能

(2)三个表文件分别显示在三个不同的页面上(3)未被激活的页面自动设为不可访问

 Timer1的Interval属性设置为10000  Timer1的Timer事件的代码:

P=Thisform.PageFrame1.ActivePage P=P+1 IF P>3

P=1 ENDIF

Thisform.PageFrame1.SetAll(”Enabled“,.F.,”Page")Thisform.PageFrame1.Pages(P).Enabled=.T.Thisform.PageFrame1.ActivePage=P

18.要求:(1)编制一个学生成绩查询表单,表单中的显示学生信息的窗口的指针移动时,在另一个窗口可以自动显示出对应那个学生所所有成绩信息。

*****Form1的init事件代码: sele 成绩 教学时间约

****年**月**日

总第节

审批签字:

inde on 学号 to xh sele 学生

set rela to 学号into 成绩

19.要求:(1)编制一个表单完成表文件“学生.dbf”“成绩.dbf”“课程.dbf”内容的编辑浏览显示功能;(2)三个表文件分别显示在三个不同的页面上;(3)当在选项按钮组选择某个表文件时,页框中的页会自动翻页,即自动翻动为与选择的表文件对应的页;(4)未被激活的页面自动设为不可访问

*****Form1的init事件代码: thisform.pageframe1.setall(“enabled”..f.,”page”)thisform.pageframe1.page1.enabled=.t.*****Optiongroup1的click事件代码: thisform.pageframe1.setall(“enabled”,.f.,”page”)do case

case this.value=1

thisform.pageframe1.page1.enabled=.t.thisform.pageframe1.activepage1=1 case this.value=2

thisform.pageframe1.page2.enabled=.t.thisform.pageframe1.activepage=2 case this.value=3 thisform.pageframe1.page3.enabled=.t.thisform.pageframe1.activepage=3 endcase 20.要求:(1)编制一个小型文本编辑器,界面见下图;(2)文字信息从键盘输入至edit框;(3)三个单选按钮分别用于设置“宋体”、“黑体”和“隶书”;(4)三个check按钮用设置字体的“倾斜”、“加粗”和“下划线”;(5)字号用微调控件实现

***optiongroup1的click事件代码: do case case this.value=1 thisform.text1.fontname=”宋体” case this.value=2 thisform.text1.fontname=”楷体” case this.value=3 thisform.text1.fontname=”隶书” endcase ***check1的click事件代码: if this.value=1 thisform.text1.fontbold=.t.else thisform.text1.fontbold=.f.endif ***check2,3的代码类似于check1 ***spinner1的upclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize-1 ***spinner1的downclick事件代码

thisform.text1.fontsize=thisform.text1.fontsize+1

(四)小结 【教学后记】

第三篇:vf简答题

一、问答题

1、什么是关系运算?常见的关系运算有哪几种?(第一章)

参考答案:关系运算是指以关系为对象的关系运算,在关系运算中,变量是关系,运算的结果仍然是关系。

常见的关系运算有选择运算、投影运算和连接运算三种。

2,什么是数据模型?常用的数据模型有哪几种?各种数据模型有什么特点?(第一章)

参考答案:数据模型是指具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。

常用的数据模型有:层次模型、网状模型、关系模型。

层次模型以树形结构表示数据间的关系;网状模型以网络结构表示结点间的关系;关系模型以二维表表示数据间的关系。

3、什么是数据库?什么是数据库系统?(第一章)

参考答案:数据库(Data Base)是数据库系统的核心和管理对象。所谓数据库,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。

数据库系统是以数据库为核心的信息处理系统,它能集中地进行数据管理,也能够开发、维护应用系统程序。

4、在VFP中,表达式的输出命令“?” 和“??”有什么区别?数据输入命令input 和accept的区别是什么?(第三章)

参考答案:使用?命令,显示结果在下一行输出,即在输出之前先换行一次;使用??命令,显示结果在当前行输出;假如使用?命令,后面没有任何表达式,此时输出一个空行。

Input可以输入各种数据类型的数据;accept只能输入字符型数据。

5、在Visual FoxPro 6.0有哪几种数据类型并说明它们分别对应的关键字(请列举出五个以上)?有哪些类型的表达式?(第三章)

参考答案:有七类数据类型:字符型(C型)、逻辑型(L型)、数值型(N型)、备注型(M型)、日期型(D型)、通用型(G型)、日期时间型(T型)

算术表达式、字符表达式、日期时间表达式、关系表达式、逻辑表达式。

6、在VFP中,对表记录的操作命令中,逻辑删除记录和物理删除记录的命令分别是什么?它们有什么区别?(第四章)

参考答案:逻辑删除记录的命令是Delete,物理删除记录的命令是Pack。区别:逻辑删除记录只是在记录上做一个删除标记,并不真正删除记录,需要时还可恢复。而物理删除记录是把做了删除标记的记录从表中彻底删除,不可再恢复。

7、简述VF中用菜单方式建立一个STUDENT表,通过编辑窗口追加方式向表中添加学生记录与浏览显示结果的操作步骤。(第四章)

参考答案:建表:文件—新建—新建文件-输入表名STUDENT-在表设计器窗体定义字段、类型-确定。追加方式输入学生记录:

打开STUDENT表—显示—浏览―编辑―显示-追加-输入学生记录—关闭。浏览结果:

文件-打开表—显示—浏览。

8、索引的类型有哪几种?各自有何特征?(第五章)

参考答案:索引有四种:主索引、候选索引、普通索引、唯一索引

主索引要求每一个记录的索引表达式的值是唯一的,在一个数据库表中只能有一个主索引。候选索引与主索引一样要求每一个记录的索引表达式的值是唯一的,在一个数据表中可以有多个候选索引。

普通索引允许索引表达式的值出现重复值,而唯一索引如果表中记录的索引表达式的值相同,则只存储第一个索引表达式的值。1 简述什么是参照完整性

回答:参照完整性是指关系的值受限于外关键字。

2在关系运算中,查找满足一定条件的元组的运算称为什么运算?

回答:选择运算。(关系数据库的基本运算:选择:元组的选择称为选择,属性的选择称为投影,连接运算是通过两个关系共有的属性连接成一个新的关系。)

3.表达式at(“sd”,”dsdhihsd”,2)=len(“dsfg”)最后返回结果的数据类型是什么? 回答:数据库表有什么特点?

回答:1.可以支持使用长表名、长字段名,字段名最长为128个字符。2.可以使用指定字段默认值和输入掩码。3.可以规定字段级有效性规则和记录级有效性规则。4.支持主关键字、表间永久关系和设置表间的参照完整性。5.支持insert,update,delete触发器。

***关系数据库有什么特点?

回答:关系的最基本要求是属性不可分割;关系中不能有相同的属性名;同一字段数据类型相同;元组和字段次序无关紧要。

5.SQL语句中修改表结构的命令是什么?(写出主要命令动词)回答:alter table1、什么是数据库管理系统?其基本功能是什么? 答:数据库管理系统(DBMS)是处于用户与操作系统之间的一种软件,其作用是实现对数据库中的数据的有效组织与管理。其基本功能是:(1)数据定义功能。(2)数据操作功能。(3)控制和管理功能。(4)数据通信功能。

2、VFP的特点是什么?

答:VFP是一种功能强大的可视化编程语言,其特点主要是:(1)功能强大的自含型命令式开发语言。(2)支持面向对象的程序设计。(3)通过COM组件实现应用集成。(4)支持网络应用。(5)大量使用可视化的辅助工具。

3、分析说明VFP的工作界面的主要组成要素?

答:VFP是采用一种图形用户界面的窗口操作软件,形成WIMP的界面,其主要构成要素包括:

(1)程序窗口。(2)命令窗口。(3)工具窗口。

4、什么是关系模型?VFP建立表结构时基本的字段属性是什么? 答:所谓关系模型,是指在数据的组织中所构建的行、列交叉的原子类二维表格。

VFP建立表结构时基本的字段属性包括字段名、字段类型、字段宽度、小数点。

5、什么是常量?什么是变量?并举例说明常量的表示?

答:常量是指固定不变的数据;变量是指在命令操作和运行中其值允许变化的量。

数据型常量:-300 字符型常量:“ABCD”

日期型常量:ctod(“06/25/09”)逻辑型常量:.t.、.f.6、写出内存变量的命名基本规则?

答:内存变量的主要命名规则是:(1)以字母或下划线开头。(2)由字母、下划线或数字等组成。(3)至多128个字符。(4)不可与系统保留字同名。

7、写出VFP中常用子句的范围的表示及意义?

答:在VFP中常用子句的范围的表示及意义:(1)all:表示整个数据表。(2)next N:表示从当前开始,到下N条。(3)rest:表示从当前到末尾。(4)record N:表示具体操作第N条。

8、写出VFP中命令的书写规则是什么?

答:在VFP中命令的基本书写规则是:(1)命令动词、子句与子句、子句内各部分用空格分开,子句位置可任意。(2)命令动词置于命令开头,可为前4个字母,大小写随意。(3)一条命令长度可达8192个字符,若一行写不下,以“;”结束。

9、什么是过滤器?并写出过滤器的应用格式?

答:过滤器是指在VFP命令应用时,将不满足条件的记录“隐蔽”起来,即让记录从逻辑上消失,基本格式是: Set filter to <过滤>条件

10、什么是记录定位?并说明绝对定位与相对定位的主要区别? 答:记录定位是将记录指针指向待操作的记录。

绝对定位:是直接将记录指针指向待操作的记录的物理位置。

相对定位:是在当前记录的基础上改变一个数值,从而使记录指针指向待操作的记录位置。

11、简述索引的概念和种类。

答题要点:索引不改变记录的物理顺序,而是按某个索引关键字来建立记录的逻辑顺序。在索引文件中,所有关键字值按升序或降序排列,每个值对应一个记录号,这样就确定了记录的逻辑顺序。索引可分为复合索引和单索引。

12、什么是查询?VFP有哪几种查询方法?

答题要点:查询就是按指定条件在表中查找所需的记录。VFP提供了三种查询方法:顺序查询、索引查询和SELECT-SQL查询。

13、什么是工作区?VFP用什么来表示和区别工作区?

答题要点:工作区是内存的一个区域,VFP提供了32767个工作区,每个工作区只允许打开一个表。VFP可以用编号和别名来表示和区别工作区。

14、简述关联的概念和建立关联的方法。

答题要点:关联就是使不同工作区的记录指针临时建立起一种联动关系,使一个表的指针移动时另一个表的指针能随之移动。可在“数据工作期”窗口中建立关联,也可使用SET RELATION命令建立关联,此外还可在“数据库设计器”中建立关联。

15、什么是SELECT-SQL查询?如何定制和执行查询?

答题要点:SELECT-SQL查询是从SQL移植过来的查询命令,具有强大的单表和多表查询功能。可通过“查询设计器”或“数据库设计器”定制和执行查询。

16、什么是数据完整性?在VFP中允许设置哪几种有效性验证?

答题要点:数据完整性主要是指数据的正确性和相容性。当用户在对数据进行的各种操作中发生差错时,数据库系统应有一定的检验及约束机制,以保证数据的有效性。在VFP中允许设置三级验证:字段级验证、记录级验证和参照完整性。

17、VFP能提供哪几种基本的程序控制结构?

答题要点:顺序结构、分支结构和循环结构。顺序结构按命令的书写顺序依次执行;分支结构能根据指定条件的当前值在两条或多条程序路径中选择一条执行;而循环结构则由指定条件的当前值来控制循环体中的语句序列是否要重复执行。

18、试比较子程序、自定义函数和过程三者的异同。

答题要点:子程序、自定义函数和过程都是可以命名的一个程序段,是功能相关而又相对独立的模块。三者定义的格式各有不同,子程序和过程均通过DO命令调用,而自定义函数则主要在表达式中调用。

19、程序调试的目的是什么?程序中常见的错误有哪几种?

答题要点:程序调试的目的是检查并纠正程序中的错误,以保证程序的可靠运行。程序中常见的错误有:语法错误、超出系统允许范围的错误和逻辑错误。

20、什么是目标程序?试写出几种VFP目标程序的扩展名。

答题要点:对VFP程序进行编译就得到目标程序,目标程序是紧凑的非文本文件,运行速度快,并可起到对源程序加密的作用。扩展名为:.FXP、.QPX、.MP等的文件均为目标程序。

第四篇:VF程序设计教学大纲

《VF程序设计》教学大纲

一、课程名称:《VF程序设计》

课程负责人:袁明兰

二、学时与学分:48

三、适应专业:外语、建筑设计技术、工程监理、艺术、旅游等专业

四、课程教材:张彦芳等编著《Visual FoxPro程序设计》,中国地质大学出版社,2011年

五、参考教材:苏忠等.Visual Foxpro 6.0中文版应用与开发.电子工业出版社,2003 杨国才编著《Visual FoxPro程序设计》,重庆大学出版社,2002年

谢膺白.Visual Foxpro 6.0中文版教程.人民邮电出版社,2002 肖金秀.新编Visual Foxpro 6.0应用基础教程.中国石化出版社,2011

六、课程的性质、目的和任务:

本课程是非计算机专业的主要公共基础课。

通过本课程的学习,使非计算机专业的学生掌握数据库的基本概念和VFP的基础知识,熟练掌握数据库的基本操作,并能进行初步的程序设计,能应用VFP进行数据库管理。

七、课程的基本要求:

通过理论教学和实验教学,达到如下基本要求。

1.了解计算机数据管理的发展、掌握数据系统、关系数据库的基本概念,掌握面向对象程序设计的概念,理解数据的一致性和完整性。

2.了解Visual FoxPro的发展、特点及安装,掌握Visual FoxPro 6.0的启动与关闭。熟悉Visual FoxPro 6.0系统界面,理解其几种工作方式。了解项目管理器、常用项目元素与文件类型、创建项目文件,及项目管理器的使用。

3.掌握常量与变量、数据类型,了解常用的文件类型,掌握几种常用函数的应用、运算符与表达式的应用,掌握内存变量的几种操作,掌握数组的应用。理解Visual FoxPro 6.0命令及命令和子句的使用规则。

4.掌握数据表的基本操作(表结构及字段的基本要素、表的创建和修改[使用表设计器]、表的打开与关闭、数据记录的输入、显示和编辑、录指针与定位、逻辑与物理删除表的记录、记录的复制与添加、表的索引、表的查询、表的运算等),掌握多表工作区及其应用。

5.理解数据库的概念与基本组成、掌握数据库的基本操作、理解数据库表的数据完整性、熟练掌握数据库表之间的关联、了解参照完整性。

6.理解程序与结构化程序设计的基本概念,掌握程序文件的建立、执行与编辑,掌握程序设计的基本命令,掌握程序的基本控制结构,掌握变量的作用域

与生存期,理解模块化程序设计方法与模块化程序设计,掌握子程序和过程与自定义函数及其调用,学会程序的调试,熟练掌握结构化程序设计简单应用。

7.掌握面向对象的基本概念、掌握对象及其属性、事件、方法,了解类的创建与使用。

8.熟练掌握表单的创建与管理,掌握猜数游戏设计、计算器设计、学生成绩查询与修改界面设计、软件登录界面与权限设计。

9.理解查询的概念、掌握用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。了解用视图设计器创建本地视图、了解用视图向导创建本地视图、视图的使用、利用视图更新源表数据。

10.了解SQL语言概述、熟练掌握SQL语句对数据表的操作(创建数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)。

11.了解菜单设计器、标准菜单及快捷菜单的设计。了解报表基本概念、报表的数据来源、报表设计器,了解报表的创建(用报表向导创建、用报表设计器创建),了解设置报表(给报表添加带区、改变报表的列标签、修改报表表达式、增加表格线、页面设置、字体设置、布局设置、在报表中使用数据分组、汇总区),了解使用报表(报表命令、报表预览和打印机设置),了解标签设计。

12.了解应用需求分析、数据库与表设计、系统功能模块设计、菜单设计、用户界面设计、查询设计、.报表设计、系统维护设计、系统模块调试、用项目管理器连编成应用程序、应用程序管理、发布树、应用程序发布和安装。

八、课程的主要内容:

㈠ 理论教学 1.数据库基础知识 数据库、数据库管理系统和数据库系统的基本概念、数据管理技术的产生和发展;数据库系统的组成及体系结构;数据库管理系统(DBMS)的功能;关系模式的基本术语、主要操作和数据完整性约束;面向对象程序设计的基本概念(包括类、对象、事件、方法和属性等)。

2.Visual FoxPro 系统简介

Visual FoxPro的发展、特点及安装、启动与关闭。Visual FoxPro 6.0系统界面、几种工作方式,项目管理器、及项目管理器的使用。3.Visual Foxpro应用基础

常量与变量、数据类型,文件类型、几种常用函数、运算符与表达式的应用,内存变量的几种操作,数组的应用,Visual FoxPro 6.0命令及命令和子句的使用规则。

4.数据表的基本操作 数据表的基本操作(表结构及字段的基本要素、表的创建和修改[使用表设计器]、表的打开与关闭、数据记录的输入、显示和编辑、录指针与定位、逻辑与物理删除表的记录、记录的复制与添加、表的索引、表的查询、表的运算等),多表工作区及其应用。

5.结构化程序设计

程序与结构化程序设计的基本概念,程序文件的建立、执行与编辑,程序设计的基本命令,程序的基本控制结构,变量的作用域与生存期,模块化程序设计方法与模块化程序设计,子程序和过程与自定义函数及其调用,程序的调试。6.数据库设计

数据库的概念与基本组成、数据库设计器的使用、数据库的建立、打开与关闭(命令)、数据库表的数据完整性、数据库表之间的关联、参照完整性。7.面向对象程序设计初步

面向对象的基本概念、对象及其属性、事件、方法,类的创建与使用。8.表单与控件

表单的创建与管理,猜数游戏设计、计算器设计、学生成绩查询与修改界面设计、软件登录界面与权限设计。9.菜单设计

菜单设计器、标准菜单及快捷菜单的设计。10.查询与视图

查询的概念、用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。用视图设计器创建本地视图、用视图向导创建本地视图、视图的使用、利用视图更新源表数据。SQL语言概述,对数据表的操作(创建(数据库和)数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)11.报表与标签设计

查询的概念、用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。用视图设计器创建本地视图、用视图向导创建本地视图、视图的使用、利用视图更新源表数据。SQL语言概述,对数据表的操作(创建(数据库和)数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)。12.应用程序的开发与发布过程

应用需求分析、数据库与表设计、系统功能模块设计、菜单设计、用户界面设计、查询设计、.报表设计、系统维护设计、系统模块调试、用项目管理器连编成应用程序、应用程序管理、发布树、应用程序发布和安装。

九、先修课程:

本课程是非计算机专业的基础课,其先修课程是计算机文化基础。

十、考核方式:

理论教学部分占70%,实验教学部分占30%,理论教学部分集中笔试,实验教学部分以完成16个实验和上机考试进行考核。

十一、学时分配:

讲授: 48 学时

1.数据库基础知识

2学时 2.Visual FoxPro 系统简介

2学时 3.Visual Foxpro应用基

4学时

4.数据表的基本操作

10学时 5.程序设计

14学时 6.数据库设计

1学时 7.面向对象程序设计初步

2学时 8.表单与控件

6学时 9.菜单设计

1学时 10.查询与视图

2学时 11.报表与标签设计 1学时 12.应用程序的开发与发布过程 1

学时

第五篇:VF基础教案

第2章Visual FoxPro 6.0概述

2.1 Visual FoxPro的安装、启动与关闭 2.1.1 Visual FoxPro 6.0 的安装

中文Visual FoxPro 可以从CD-ROM或网络上安装。以下介绍三种从CD-ROM上安装Visual FoxPro 的方法。

1.直接启动CD-ROM

2.直接运行安装程序

3.使用Windows 安装 2.1.2 Visual FoxPro 6.0的启动与关闭

一、Visual FoxPro 6.0的启动

启动Visual FoxPro有多种方法,可采用以下三种方式之一。

1.从“开始”菜单启动

2.从“运行”对话框中启动

3.从资源管理器中启动

4.双击Visual Foxpro6.0快捷图标

二、Visual FoxPro 6.0的退出

(1)在Microsoft Visual FoxPro主菜单中,打开“文件”菜单,选择“退出”选项;

(2)按Alt+F4组合键;

(3)按Ctrl+Alt+Del组合键,进入“关闭程序”窗口,按“结束任务”按钮;

(4)在Microsoft Visual FoxPro的系统环境窗口,单击其右上角的“退出”按钮;

(5)在“命令”窗口,输入命令Quit。2.2 Visual FoxPro 6.0系统运行环境的配置

Visual FoxPro系统环境的配置,决定了Visual FoxPro系统的操作环境和工作方式。

单击“工具”-> “选项”可以打开选项选窗口,在“选项”窗口中,有12种不同类别的环境选项卡,用户可以根据操作的需要通过“选项”窗口中的各种选项卡,确定或修改设置每一个参数,从而确定Visual FoxPro的系统环境.2.2.1 设置默认工作目录

VF有其默认的工作目录,就是系统文件所在的VF6.0目录,但是,为了管理,用户最好还是设置自己的工作目录以保存所建的文件 设置默认路径的方法: “工具”->“选项”->文件位置 使用命令设置:

SET DEFA TO <默认路径> 功能:设置默认路径 例:

SET DEFA TO D:WMQ SET DEFA TO E:200723 2.2.2 设置日期的表示格式 设置日期时间格式: “工具”->“选项”->“区域”

2.3 Visual FoxPro 6.0的系统窗口

Visual FoxPro的界面

Visual FoxPro界面,是由标题栏、菜单栏、工具栏、工作区、状态栏和命令窗口组成的。

一、标题栏

标题栏位于屏幕界面的第一行,它包含系统程序图标、主屏幕标题、最小化按钮、最大化按钮和关闭按钮5个对象。

二、菜单栏

菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。

当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。

三、工具栏

Visual FoxPro系统提供了11种常用的工具栏:

(1)常用工具栏(2)布局工具栏

(3)表单控件工具栏(4)表单设计器工具栏

(5)查询设计器工具栏(6)视图设计器工具栏

(7)数据库设计器工具栏(8)报表控件工具栏

(9)报表设计器工具栏(10)调色板工具栏

(11)打印预览工具栏

四、命令窗口

命令窗口位于菜单栏和状态栏之间,是Visual FoxPro系统命令执行、编辑的窗口。在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。

在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。

五、工作区与状态行

状态行位于屏幕的最底部,用于显示某一时刻的管理数据的工作状态。(1)Set Status off/ on,可控制屏幕上的状态行是否出现。

(2)如果当前工作区中没有表文件打开,状态行的内容是空白;如果当前工作区中有表文件打开,状态行显示表名、表所在的数据库名、表中当前记录的记录号、表中的记录总数、表中的当前记录的共享状态等内容。

2.4 可视化管理工具

1、设计器

通过设计器可以方便地对表、表单、数据库、查询和报表等进行管理。

2、向导

通过用户对问题的回答或对选项的选择,向导将创建相应的文件或执行某一项任务。

3、生成器 是一种可视化的辅助工具,用来帮助拥护按要求设计各种控件的表现形式。2.5 Visual Foxpro 6.0的工作方式 Visual FoxPro 6.0提供了两种工作方式:

  交互方式(可执行方式和可视化操作方式)程序方式

2.5.1 交互方式

包括命令执行方式和可视化操作方式。

1、命令执行方式

Visual FoxPro 6.0提供命令方式主要有两种目的,一是对数据库的操作使用命令比使用菜单或工具栏要快捷而灵活;另一方面,熟悉命令操作是程序开发的基础。

Visual FoxPro 6.0提供了命令窗口用于输入执行命令。

Visual FoxPro 6.0中的命令采用近似于自然语言的结构。

Visual FoxPro 6.0中的命令不区分大小写,即命令可以用大写字母也可以用小写字母书写。另外,对于较长的命令可以只输入命令的前四个字母。

Foxpro提供了多条命令,命令中常出现的一些符号有:(P19)

<....> 必选项

[....]

可选项

...|... 择一选项 这些符号在实际使用时不必输入. 命令的一般格式为:

命令动词 [<范围>][fields<字段名表>][for <条件>] 其中:

命令动词:决定此命令的功能,一般为英文动词. 范围:表示记录的操作范围,有]四种形式:

ALL 表示对数据库中的所有记录进行操作。•

RECORD N

表示仅对第N条记录进行操作 •

NEXT N 表示从当前记录开始共N个记录

REST

表示从当前记录开始到文件结束的所有记录

Fileds:说明数据库的字段名称,不选此项,则表示选择所有字段 命令书写规则      任何命令必须以命令动词开头, 大小写不限,其后的各项顺序不限。各子句之间用空格分隔。

命令可缩写成前4个字母,但不提倡

一行写不下时,在行末用续行符“;”,并在下行继续书写 一行只能写一条命令语句

例如,显示xsda数据表中所有不住校的女生的姓名、年龄

use xsda

list all fields 姓名,年龄

for 住校否=.F.and 性别=’女’

2、可视化操作方式

可视化操作方式包括:菜单方式、设计器方式、向导方式。

在VisualFoxpro系统中,通过菜单、窗口、对话框、工具栏等图形界面,可以直接操作数据表、视图、查询、表单、报表等,并以窗口的方式把结果显示给用户。

2.5.2 程序执行方式

Visual FoxPro 6.0提供了一个程序编辑器,可以使用MODIFY COMMAND 命令打开程序编辑器,或者从“文件”菜单中选择“新建”命令,在弹出的“新建”对话框中选择“程序”单选项,最后单击“新建文件”按钮即可打开程序编辑器。

2.6 Visual Foxpro 6.0的主要性能指标 主要性能指标有:

1、每个数据库最多记录数为10亿个

2、每条记录可包含的字段个数最多为225个

3、每条记录最多字符数为655000个字节

4、字段型字段最大宽度(即最多可容纳的字符数)为254个字节。

5、数值型字段最大宽度为20位,精度为16位

6、有32767个工作区,可同时打开的数据库文件最多32767个。

7、可使用的内存变量默认总数位256个,最多为65000个。最大数组个数为65000个,每个数组的最多的元素数为65000个。

下载Vf练习1-5word格式文档
下载Vf练习1-5.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    VF心得体会[最终版]

    这次的课程设计是我进入大学接触的第一个课程设计,好多东西都不会。经过一个多月的时间,终于把课设完成了。不过大家在确定了选题之后,就开始积极的准备当中,我也开始了图书借阅......

    VF教案31-40

    第31课时 使用向导创建视图 一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。 二、教学重难点 使用向导创建视图和查询的区别 三、教学方法 举例 讲授 演示......

    《VF程序设计》教学大纲

    《VF程序设计》教学大纲 课程编号: 一、课程性质、目的及开课对象 ㈠课程性质:公共选修课 ㈡目的:通过本课程的学习,使学生掌握项目管理器、库、表、菜单、报表、标签、查询、视......

    VF实验报告格式

    实验名称:SQL应用 实验目的: 1、掌握SQL的定义、查询等功能 。 2、掌握SELECT-SQL语句的使用。 3、掌握ALTER TABLE-SQL、UPDATE-SQL、DELETE-SQL语句的使用。 4、了解CREATE......

    VF总结20081118

    数据库题 已知:数据表如下,包含以下字段:工号(C)、姓名(C)、性别(C)、部门(C)、婚否(L)、工作日期(D)、工资(N)、补贴(N)、公积金(N),应发工资(N)。(填写命令时,均不考虑表的打开......

    VF常用语句

    0001(24)6 一、基本操作题 在考生文件夹下完成如下操作: 1. 用SQL INSERT语句插入元组("p7","PN7",1020)到"零件信息"表(注意不要重 复执行插入操作),并将相应的SQL语句存储在文......

    vf教案13-20

    第13课时 创建查询 一、教学目的1、使学生掌握使用查询向导创建查询的方法。 2、理解查询和查找的区别 二、教学重难点 使用查询向导,查询和查找的区别 三、教学方法 举例......

    VF数据库程序设计教案

    Visual Foxpro数据库程序设计教案 姓名:李运娣 系别: 计算机 第1章 Visual FoxPro 数据库基础 本章重点与学习目标:  了解数据库系统的相关概念  数据、数据库、数据库管理系统......