VF登陆界面登陆按钮的click事件代码
- 格式:docx
- 大小:14.07 KB
- 文档页数:1
一、时钟代码。
1.添加计时器控件time1time1的interva为1000,enabled为T form1的load事件public ss,mm,hh,x,y,x2,y2,x3,y3,x4,y4 store 0 to ss,mm,hhform1的init事件x=thisform.Width/2y=thisform.Height/2thisform.fillcolor=rgb(128,128,255) thisform.Circle(100,x,y)for i=1 to 12x1=x+100*cos(i*3.14159/6)y1=y+100*sin(i*3.14159/6)thisform.fillcolor=rgb(255,188,255)thisform.Circle(5,x1,y1)nexttime1的time事件thisform.forecolor=rgb(128,128,255)x2=x+90*cos((ss-15)*3.14159/30)y2=y+90*sin((ss-15)*3.14159/30) thisform.line(x,y,x2,y2)ss=mod(ss+1,60)x2=x+90*cos((ss-15)*3.14159/30)y2=y+90*sin((ss-15)*3.14159/30) thisform.forecolor=rgb(255,0,0) thisform.line(x,y,x2,y2)if ss=0thisform.forecolor=rgb(128,128,255)y3=y+70*sin((mm-15)*3.14159/30)thisform.line(x,y,x3,y3)mm=mod(mm+1,60)thisform.forecolor=rgb(128,128,255)x4=x+60*cos((hh-3)*3.14159/6)y4=y+60*sin((hh-3)*3.14159/6)thisform.line(x,y,x4,y4)hh=hh+1/60x3=x+70*cos((mm-15)*3.14159/30)if hh>=12hh=0endifendifx3=x+70*cos((mm-15)*3.14159/30)y3=y+70*sin((mm-15)*3.14159/30)thisform.forecolor=rgb(0,255,0)thisform.line(x,y,x3,y3)x4=x+60*cos((hh-3)*3.14159/6)y4=y+60*sin((hh-3)*3.14159/6)thisform.forecolor=rgb(0,0,0)thisform.line(x,y,x4,y4)二、同心圆。
visual foxpro课程设计报告专业:珠宝学院珠宝设计专业班级:142091学号:************名:**题目名称:图书管理系统熊玮版完成日期:2011年1月29日目录一、前言——————————————— 3二、系统概况————————————— 3三、需求分析————————————— 2四、数据库设计———————————— 4五、主程序清单————————————9六、模块界面与代码——————————13七、设计小结—————————————63前言长期以来,图书管理都是依赖人工进行的,面对如此众多的图书信息,其工作量可想而知,不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了图书管理的某些不规范。
在学校,尤其是在大中专院校,图书管理是学校的一项重要的数据资源,图书管理也是学校的一项常规性的重要工作。
随着社会的日益发展,尤其是科技的迅猛发展,计算机广泛地应用在生产生活的各个方面,不仅提高了工作效率,而且也降低了劳动强度,美化了我们的工作环境。
在电子信息化时代,设计一款计算机图书管理系统尤为必要,它不仅能大大减轻图书馆工作人员的工作量,而且全面提高图书馆的管理效率及服务质量。
我以Visual Foxpro 6.0为环境,开发了此应用软件,本系统适用于各类小型图书馆,以及各类大中专院校、中小学校的图书馆和资料室的现代化综合管理。
系统概况一、课题名称:图书管理系统熊玮版二、设计环境:开发工具:Microsoft Visual FoxPro 6.0操作系统:Windows XP需求分析一、系统功能分析图书管理系统的主要任务是对图书馆图书信息、读者个人信息、图书借阅归还信息的查询、统计、更新,并且能按一定要求输出报表。
通过该系统,使图书管理工作系统化、规范化、自动化,从而提高图书管理的效率。
二、系统功能模块设计本系统分为如下的几大模块:1、主界面模块该模块提供管理系统的主界面,是主系统的唯一入口和出口,该界面提供用户选择并调。
常见命令按钮组的代码goto top && 指针跳到第一个记录mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t. && 根据状况设置各按钮的可用状态thisform.refreshskip -1 && 指针后退一个if bof() && 如果已经是第一个记录messagebox("不好意思,已是第一个记录",48,"信息窗口")mand1.enabled=.f.mand2.enabled=.f.skip && 指针前进一个,使之仍然显示第一个记录elsemand1.enabled=.t.mand2.enabled=.t.endifmand3.enabled=.t.mand4.enabled=.t. && 根据状况设置各按钮的可用状态thisform.refreshskipif eof() && 如果已经是最后一条记录messagebox("不好意思,已是最后一条记录",48,"信息窗口")skip -1 && 记录后退一个,使之仍然显示最后一条记录mand3.enabled=.f.mand4.enabled=.f.elsemand3.enabled=.t.mand4.enabled=.t.endifmand1.enabled=.t.mand2.enabled=.t.thisform.refreshgoto bottommand3.enabled=.f. mand1.enabled=.t. mand2.enabled=.t. thisform.refresha=messagebox("你真的要退出吗?",4+16+0,"对话") if a=6release thisformendif********************* ********************* 首记录go topdfirst.enabled=.f. dlast.enabled=.t. dpre.enabled=.f. dnext.enabled=.t. thisform.refresh末记录go bottomthis.enabled=.f.dfirst.enabled=.t. dpre.enabled=.t. dnext.enabled=.f. thisform.refresh前一条skip -1if bof()this.enabled=.f.dfirst.enabled=.f. dlast.enabled=.t. dnext.enabled=.t. elsethis.enabled=.t.dfirst.enabled=.t. dlast.enabled=.t. dnext.enabled=.t. endifthisform.refresh下一条skip 1if eof()this.enabled=.f.dfirst.enabled=.t. dlast.enabled=.f. dnext.enabled=.t. elsethis.enabled=.t.dfirst.enabled=.t.dlast.enabled=.t. dnext.enabled=.t. endifthisform.refresh增加if len(thisform.编号1.value)=0go bottomdelepackwait window "编号不能为空" timeout 1 endifappendthisform.refresh删除if messagebox("确实要删除本记录么?",1+64+256,"提示")=1 deletepackskip -1thisform.refreshendif。
红色字表示经常用到1.记住VF各种文件的后缀名2.了解各种命令的使用(记一些经常用的,在题中常见的)3.SQL语句4.表单常用按钮及一些常用属性如下图所示,用标签、文本、命令按钮构成一个表单。
在标签中显示以下文字“当前时间”,运行表单时,单击“显示”按钮将显示系统时间;单击“清除”按钮,文本框中的内容将被清楚,单击“退出”按钮,将退出表单运行。
为完成上述要求:(1)“清除按钮”的Click事件代码是____________________(2)“退出按钮”的Click事件代码是____________________(3)“显示按钮”的Click事件代码是____________________(4)应该设置表单的_________属性为______________-thisform.text1.value=""thisform.releasethisform.text1.value=time()caption(经常填空) 显示当前系统时间3、程序功能是为数据表SB-1.DBF编制的一个输入程序,要求可以连续添加记录。
USE SB-1DO WHILE .T.CLEAR@2,5 SAY “请添加记录:”__________________@4,5 SAY “编号”GET编号@6,5 SAY “名称”GET名称@8,5 SAY “启用日期”GET启用日期@10,5 SAY “价格”GET 价格@12,5 SAY “部门”GET 部门@14,5 SAY “主要设备” GET 主要设备___________________@18,5 SAY “是否输入商标内容?(Y/N)” GET SHB DAFAULT SPACE(1)READIF UPPER(SHB)=’Y’MODIFY GENERAL 商标ENDIF@20,5 SAY “是否继续添加?(Y/N)” GET JX DEFAULT SPACE(1)READIF LOWER(JX)=’N’___________________________ENDIFENDDORETURNappend blank read exit2、数据表,图书表TS.DBF 和定单表DD.DBF,要求计算订单金额。
2002年9月全国计算机考试VF二级考试笔试试题一、选择题((一)——(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,是有一个选项是正确的。
请将正确选项添涂在答题卡相应的位置上,答在试卷上不得分。
(1)在写列四个选项中,不属于基本关系运算的是A)连接 B)投影 C)选择 D)排序(2)如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于A)一对一联系 B)一对二联系 C)多对多联系 D)一对多联系(3)VF支持的数据模型是A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型(4)VF的命令窗口中键如CREATE DATA命令以后,屏幕会出现一个创建对话框,要想完成同样的工作,还可以采取如下步骤A)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“新建文件”命令按钮B)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“向导”命令按钮C)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“新建文件”命令按钮D)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“向导”命令按钮(5)将内存变量定义为全局变量的VF命令是A)LOCAL B)PRIVATE C)PUBLIC D)GLOBAL 0(6)扩展名为DBC的文件是A)表单文件 B)数据库表文件 C)数据库文件 D)项目文件(7)建设已经生成了名为mymenu的菜单问,执行该菜单文件的命令是A)DO mymenu B)DO mymenu.mpr C)DO mymenu.pjx D)DO mymenu.mnx0(8)下面有关索引的描述正确的是A)简化里索引以后。
原来的数据库表文件中记录的物理顺序将被改变B)索引与数据库表的数据存储在一个文件中C)创建索引是创建一个指向数据库表文件记录的指针构成的文件D)使用索引并不能加快对表的查询操作(9)若建立索引的字段值不允许重复,并且一个表中只能创建一个。
Visual FoxPro 2007年4月笔试试题参考答案与评分标准一、单选题(30分,每小题1分)1.(1)min(工资) (2) "教授"$职称或职称="教授" OR职称="副教授" (3) >=502. (4) date() (5) Endcase (6) coth3. (7) with 数学,语文,zf (8) skip4. (9) avg(成绩) (10) group by 课程号四、程序分析(20分,每小题5分)1. 姓名性别班级总分张萧女1班5202. 1+1+2+1+2+3+1+2+3+4+1+2+3+4+5+= 353. 20 30 40100 200 4020 3 44. 8五、程序设计(20分)(1)8分,评分标准:循环语句4分,累乘3分,输出1分clears=1for n=1 to 5s=s*nendfor?”5的阶乘为:”,sreturn(2)12分,评分标准:更新4分,临时关联4分,汇总和输出4分select 1use rxsreplace all 营业额with 数量*单价select 2use yyyindex on 营业员代码tag dmselect rxsset relation to 营业员代码into yyyaccept “输入营业员代码:” to dm?”代码:”+dmlocate for 营业员代码=dm?“姓名:”+yyy.姓名+“性别:”+ yyy.性别List 品名,营业额for 营业员代码=dm offsum 营业额to x1 for 营业员代码=dm?”营业额:”,x1ReturnVisual FoxPro 2007年4月上机试题参考答案与评分标准1.(共40分)本大题不给参考答案。
评分标准如下:正确建立2个表的数据结构(表结构设计正确)20分数据正确15分永久关联正确5分2.(共30分)每小题10分。
标签控件事件方法
1、Click事件:点击该标签时发生,在里面写上你要执行的代码,
2、DblClick事件:双击该标签时发生
3、MouseMove事件:当鼠标移动到该标签上时发生
文本框控件事件
文本框控件事件,除了与标签相同的事件以外,有自己几个特有事件。
名字解释:焦点----表单中有多个对象时,任一时刻只能有一个对象被激活,当光标进入该对象时,叫该对象获得焦点,光标离开该对象时,叫该对象失出焦点,要使某一对象获得焦点则调用其方法Setfocus(),获得焦点时发生When事件,失去焦点时发生Valid事件
文本框控件事件
1、When事件:当光标进入文本框时发生
2、Valid事件:当光标离开文本框时发生
3、SetFocus事件:使文本框获得焦点。
7套(二)(2)【操作步骤】步骤1:在命令窗口输入:Create form formone,按下回车键建立一个表单,通过表单控件工具栏按题目要求为表单添加控件。
在"属性"对话框中,设置表单的Name属性为formone,设置其Caption属性为"简单应用";设置标签的Caption属性为"项目号";设置命令按钮的属性为"确定"。
步骤2:双击命令按钮,编写其Click事件代码如下:x=thisform.text1.valuea = "SELECT 零件信息.零件号, 零件信息.零件名称, 零件信息.单价, 使用零件.数量 ;FROM 零件信息,使用零件 ;WHERE 零件信息.零件号=使用零件.零件号 and 使用零件.项目号=x ;ORDER BY 零件信息.零件号 INTO TABLE "+x&a20套(三)步骤1:在命令窗口中输入"Create form form_three",按下回车键建立一个表单,通过表单控件工具栏按题目要求为表单添加一个文本框控件、一个标签控件和一个命令按钮控件。
在表单属性窗口中修改标签的Name属性为"Ln",Caption属性为"输入职员号",文本框的Name属性为"Textn",命令按钮的Name属性为"Commands",Caption属性为"开始查询"。
步骤2:双击命令按钮,输入其Click事件代码:*****"开始查询"按钮的click事件代码*****x=ThisForm.textn.Valuea = "SELECT Order.订单号, Order.客户号, Order.签订日期, Order.金额 FROM order WHERE Order.职员号 = x ORDER BY Order.签订日期 INTO TABLE t" + x&a*************************************步骤3:单击工具栏中的"新建"按钮,新建一个菜单,菜单项为"查询"和"退出",对应的命令分别为"DO FORM form_three"和"set sysmenu to default"。
[转] VF上机答案转载自爱若琴弦转载于2010年01月21日11:28 阅读(7) 评论(0) 分类:个人日记举报第一套一,基本操作2.做之前一定要关闭数据库close database4.update 课程set 任课教师="T2222" where 课程名="数据库"二.简单应用1.其他属性设置按提示进行.必须加上计时器控件属性设置interval 属性设置为200然后在timer事件中输入如下代码:只有下面一条语句可以满分:bel1.left=bel1.left-10而完整的语句是下面的if bel1.left+bel1.width>0bel1.left=bel1.left-10elsebel1.left=thisform.widthendif2.视图创建法create view sview as;SELECT 课程.课程编号, 课程.课程名, count(*) as 选课人数;FROM 学生管理!课程INNER JOIN 学生管理!考试成绩;ON 课程.课程编号= 考试成绩.课程编号;GROUP BY 课程.课程编号三.综合应用题此题表单已经存在:如何设置顶层表单表单三步:1.showwindow 设置为2 2.load事件设置do mymenu.mpr with this 3.设置destroy事件为release menu菜单一步:选择"显示"->"常规选项"-->右下角"顶层表单"打钩菜单项程序代码1.浏览课程myform.grid1.recordsource="课程"2.浏览选课统计open database 学生管理(一定要换行,两条命令) myform.grid1.recordsource="sview"3.预览报表report form creport preview4.退出myform.release第二套一.基本操作题2.注意是表单向导3.程序代码do form student二.简单应用题1.此题的正确改法******ERROR FOUND******DO WHILE .NOT. eof()******ERROR FOUND******loop******ERROR FOUND******continue2.程序文件sprog中的代码是update student set 年龄=year(date())-year(出生日期)select 政治面目,count(*) as 人数,avg(年龄) as 平均年龄from student group by 政治面目into table sqlresults三.程序代码编写select count(distinct dhdw) from gnht into array aaupdate jieguo set num=aa where name="订货单位数"select count(distinct ghdw) from gnht into array bbupdate jieguo set num=bb where name="供货单位数"select sum(jhsl) from gnht into array ccupdate jieguo set num=cc where name="订货总数"第3套一.基本操作2.设置fontsize 为18bel1.visible=.f.二.简单应用1.程序改错正确改法OPEN DATABASE ordersmanageCREATE view viewes AS SELECT 职工号,SUM(金额) AS 总金额FROM orders GROUP BY 职工号SELECT * FROM viewes WHERE 总金额>=30000 ORDER BY 总金额DESC into table newtable2.如何设置顶层表单表单三步:1.showwindow 设置为2 2.load事件设置do mymenu.mpr with this 3.设置destroy事件为release menu菜单一步:选择"显示"->"常规选项"-->右下角"顶层表单"打钩退出过程:myform.releaseset sysmenu to default三.综合应用列表框的click 的事件编程是kc=thisform.list1.valueselect count(*) as 人数from 课程,考试成绩where 课程.课程编号=考试成绩.课程编号and 课程名=thisform.list1.value into table &kc第四套一.基本操作3.计时器的name属性改为timerfor4.选中计时器interval 为200二.简单应用1.注意此题无年龄select top 5 姓名,出生日期from employee order by 出生日期into table emage2.正确修改结果**********found***********PARAMETERS a,b**********found***********return c三.综合应用此题只写下面的语句就可以满分do casecase thisform.optiongroup1.value=1endcase"完整的计算"命令按钮的click事件的代码do casecase thisform.optiongroup1.value=1thisform.text3.value=thisform.text1.value+thisform.text2.value case thisform.optiongroup1.value=2thisform.text3.value=thisform.text1.value-thisform.text2.value case thisform.optiongroup1.value=3thisform.text3.value=thisform.text1.value*thisform.text2.value case thisform.optiongroup1.value=4thisform.text3.value=thisform.text1.value/thisform.text2.value endcase第五套一.基本操作属性2.inputmask 输入10个##########3.readonly 为 .t.4.bottoncount 设置为4二.简单应用1.程序改错题carea=cya(r,h)PARAMETERS a,bRETURN c2.SELECT TOP 3 Employee.职工号,姓名, count(*) as 订单数; FROM employee,orders ;where Employee.职工号= Orders.职工号;GROUP BY Employee.职工号;ORDER BY 3 DESC;INTO TABLE newcoun三.综合应用1.注意将菜单添加到表单上的方法表单三大步菜单一大步方法见第一套的综合应用2.此题仍然为菜单控制表单3.此题光操做部分就可拿到25分退出的过程:myform.reelaseset sysmenu to default在各自的过程中分别写下面的语句就可以满分myform.grid1.recordsource=""myform.grid1.recordsource=""myform.grid1.recordsource=""下面是完整的sql代码"小家电"过程代码myform.grid1.recordsource="select * from products where 分类编码='4001' into cursor aa " "饮料"过程代码myform.grid1.recordsource="select * from products where 分类编码='1001' into cursor aa " "酒类"过程代码myform.grid1.recordsource="select * from products where 分类编码='3001' into cursor aa "第六套一.基本操作3.注意主索引和普通索引的设置方法4.要编辑两个联系参照完整性,所以不要用选项卡做二.简单应用1.书写的sql语句是SELECT 姓名,年龄,电话FROM customer WHERE LEFT(电话,1)="6" AND 性别="女" ORDER BY 年龄INTO TABLE temp_cus2.视图命令是(注意保存的是程序)creat view sb_view as SELECT Customer.会员号,姓名,商品名, Orderitem.单价,Orderitem.数量, Orderitem.单价* Orderitem.数量as 金额;FROM customer,orderitem,article ;where Orderitem.商品号=Article.商品号and Customer.会员号=Orderitem.会员号ORDER BY Customer.会员号三.综合应用略第七套一.基本操作注意索引文件名和索引表达式的对应,千万不要连接错了二.简单应用1.略2.正确结果是OPEN DATABASE sdbSELECT student.学号,姓名,AVG(成绩) 平均成绩,COUNT(*) 选课门数;FROM student JOIN sc on student.学号= sc.学号;WHERE 性别= "女" ;GROUP BY student.学号having AVG(成绩) >= 75 ;ORDER BY 4 desc ;INTO TABLE three三.综合应用此题22.5分即为满分"查询" 命令按钮的click 事件代码是SELECT Student.学号,姓名, avg(成绩) as 平均成绩,min(成绩) as 最低分;FROM student,sc ;where Student.学号= Sc.学号and 成绩>= 60;GROUP BY Student.学号;ORDER BY Student.学号;INTO TABLE four第八套一.基本操作略二.简单应用略三.综合应用SELECT Student.学号, Student.姓名, avg(成绩) as 平均成绩,count(*) as 选课门数; FROM student,sc,course ;where Sc.课程号= Course.课程号and Student.学号=Sc.学号;GROUP BY Student.学号HAVING count(*)>=4 and avg(成绩)>=75;ORDER BY 3 DESC INTO TABLE two第九套一.基本操作1.设置谁必须先选中谁规则:数量>=1 规则: 单价>=12.再长的表达式照抄即可二.简单应用1.注意2003年这个筛选条件即year(日期)=20032.注意改错题中的性别字段是在cus表中SELECT 会员号,会员名,单位,电话;FROM cus;WHERE 性别= "女" and 会员号=any ;( SELECT 会员号;FROM cbc;WHERE 数量>= 10 ;GROUP BY 会员号HAVING sum(数量*单价)>=5000);INTO TABLE THREE三.综合应用"统计"命令按钮click事件代码update cus set 会员类型="金卡会员" where 会员号in (select 会员号from cbc group by 会员号having sum(数量*单价)>=15000)update cus set 会员类型="银卡会员" where 会员号in (select 会员号from cbc group by 会员号having sum(数量*单价)>=10000 and sum(数量*单价)<15000)update cus set 会员类型="铜卡会员" where 会员号in (select 会员号from cbc group by 会员号having sum(数量*单价)>=5000 and sum(数量*单价)<10000)update cus set 会员类型="普通会员" where 会员号in (select 会员号from cbc group by 会员号having sum(数量*单价)<5000)第十套一.基本操作2.不要写错误信息提示二.简单应用1.注意是表单向导题2.正确结果是SELECT AVG(成绩);FROM kscjb;INTO array temSELECT 考生号,姓名;FROM ksb;WHERE not EXISTS ;( SELECT *;FROM kscjb;WHERE 成绩< tem(1) and 考生号= ksb.考生号);INTO TABLE three三.综合应用"录取"命令按钮的click事件代码select 考生号,成绩as 政治成绩from kscjb where 考试科目="101" into table zzselect 考生号,成绩as 外语成绩from kscjb where 考试科目="102" into table wyselect 考生号,成绩as 高数成绩from kscjb where 考试科目="103" into table gsselect 考生号,成绩as 专业课成绩from kscjb where 考试科目="104" into table zyselect ksb.考生号,姓名,性别,单位,政治成绩,外语成绩,高数成绩,专业课成绩,(政治成绩+外语成绩+高数成绩+专业课成绩) as 总成绩;from ksb,zz,wy,gs,zy;where ksb.考生号=zz.考生号and zz.考生号=wy.考生号and wy.考生号=gs.考生号and gs.考生号=zy.考生号and 政治成绩+外语成绩+高数成绩+专业课成绩>=330 ;order by 总成绩desc into table fouralter table four alter 总成绩n(5,1)注意:要将总成绩字段的类型改为n(5,1) 方法是打开four表修改表设计器第11套一:基本操作3:注意是教师号和班主任号建立永久联系,把班主任号拖动到教师号上。