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:注意是教师号和班主任号建立永久联系,把班主任号拖动到教师号上。
使用VF制作系统登录表单0有很多应用程序需要一个登陆窗口,本例将制作一个简单的登录表单,系统运行时首先启动此登录表单,运行界面如下图:输入正确的用户名及密码才会启动主表单,如下图;若连续3次输入错误的用户名及密码则会自动退出。
制作步骤如下:1、新建表单,将表单的caption属性值设置为“系统登录”,ShowWindow属性值设置为“2-作为顶层表单”,width属性值设置为295,height属性值设置为100,AutoCenter属性值设置为,并将表单保存为“系统登录.scx”。
2、继续设置该表单的属性:将表单的MaxButton及MinButton属性值均设置为.f.,这样就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。
3、向表单添加两个label控件,将它们的caption属性值分别设置为“用户名”和“密码”。
4、向表单添加两个文本框控件,并将其中的Text2的PasswordChar属性值设置为“*”。
5、向表单添加两个ming令按钮command1和command2,将它们的caption属性值分别设置为“确定”和“退出”。
6、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图:7、右击表单空白处,选“数据环境”ming令,将“管理”表添加到表单的数据环境中。
8、添加事件代码:(1)表单的init事件代码:public cn &&声明全局变量,用于计算登录次数cn=0(2) 表单的unload事件:close allclear eventsquit(3)接收用户名的文本框Text1的KeyPress事件代码:LPARAMETERS nKeyCode, nShiftAltCtrlif nKeyCode=13.and.!empty(this.value) &&输入用户名后按回车即进入输密码thisform.Text2.enabled=.t.thisform.Text2.setfocusendif(4)“确定”按钮command1的click事件代码:cname=alltrim(thisform.text1.value)ppassword=alltrim(thisform.text2.value)cn=cn+1if cn=3thisform.releaseendifset exact ongo toplocate for 操作员姓名=cname.and.密码=ppasswordif eof()messagebox('用户名或密码错误,请重新输入!','系统提示')returnelsethisform.visible=.f.do form 主表单&&调入主界面表单endifset exact off &&设置字符非精确比较(5)“退出”按钮command2的click事件代码:thisform.release9、运行“系统登录.scx”即可,“管理.dbf”的结构,其中预置的两个操作员的用户名及密码分别是:用户名密码张三12345678李四本文来源于翔宇亭IT乐园(/), 原文地址:/article/prog/VF/2010/2360.html。
全国计算机二级(VF)控件-属性事件方法基本属性Name、BackCorlor、ForeColor、FontName、FontSize、Enabled、Visible、Left、Top、Height、Width表单表单常用属性:AotuCenter、BorderStyle、Caption 表单常用方法:Hide、Show、Move、Refresh、Release 常用事件:Load、Init、Click 表单的数据环境:右键快捷菜单、“显示→数据环境”常用控件1.标签控件常用属性:Caption(字符型)、AutoSize、BackStyle、BorderStyle 2.文本框控件、编辑框控件常用属性:ControlSource(绑定字段或内存变量)、Value(字符型)、Maxlength、ReadOnly、PasswordChar、SelLength、SelStart、SelText 常用方法:SetFocus 常用事件:GotFocus、LostFocus、KeyPress(nKeyCode) 3.命令按钮控件、命令按钮组控件常用属性:Caption(字母前加\\4.选项(单选)按钮组控件(OptionGroup)常用属性:ButtonCount、ControlSource、Style单个按钮Value:0-未选中,1-选中;按钮组Value:返回被选中按钮在组中的序号 5.复选框控件常用属性:Caption、ControlSource、Value(0,1,2)、Style 6.列表框控件、组合框控件常用属性:RowSourceType(列表来源类型)、RowSource(列表内容来源)、ListIndex、ListCount、List、Value、Selected、Style(组合框类型)常用方法:Additem(项目)、Removeitem(序号)、Clear 7.计时器控件常用属性:InterVal 事件:Timer 8.表格控件常用属性:RecordSourceType、RecordSource、ColumnCount 9.图象控件常用属性:Stretch10.超级键接控件(Hyperlink)常用方法:NavigateTo(域名、目标文件)1.对VF表单的描述正确的是()。
VFP填空题1.数据的不一致性是指_________。
答案:相同的数据在不同的应用程序中出现不同的值2. VFP系统中,终止事件循环的命令是______。
答案:CLEAR EVENTS3. 目前较为流行的一种信息模型设计方法称为E-R方法,E-R方法的中文含义为____ __。
答案:实体联系方法4. 如果要把一个文本框对象的初值设置为当前日期,则在该文本框的Init事件中设置代码为______。
答案:THIS.VALUE=DATE()5. 与Thisform.Release功能等价的命令为_______。
答案:Release Thisform6.______型数据只能用于表而不能用于内存变量。
答案:备注和通用7.已知教师表(JS.DBF)中含有一条姓名(XM)为"王一平"的记录,执行下列程序段后,输出结果为______。
SELE JSLOCAT FOR XM="王一平"XM=3?XM答案:王一平8.与XB="男" .OR. XB="女"等价的表达式为______。
答案:XB$"男女"9.表达式STR(YEAR(DATE()+10)) 的数据类型为_______ 。
答案:C10.已知教师表(JS.DBF)已经按姓名(XM)建立索引,答案:SEEK("王一平") 阅读下列程序:SELE JSSET ORDER TO xmSEEK '王一平'IF FOUND()DISPLAYELSEWAIT WIND '查无此人'如果要用SEEK函数完成上述相同的功能,应将程序改成:SELE JSSET ORDER TO xmIF ________DISPLAYELSEWAIT WIND '查无此人'ENDIF11.打开项目的命令是_______。
答案:MODIFY PROJECT12.Grid、Text、CommandGroup、Column是VFP系统中的对象,它们当中不能直接加到表单中的对象是________。
【转载】vf常用代码集锦(上)2010-07-20 16:04◆文字滚动的效果在表单添加一个计时器,把计时器INTERVAL设为30如要走动的文字在标签1也就是LABLE1,在计时器的timer里写下如果代码:if bel1.left+bel1.width=0bel1.left=thisform.widthelsebel1.left=bel1.left-1endif此时,LABLE1的文字将从右到左不停的走动,这时,如果要加一些效果,比如说是文字让它变颜色,一直闪烁的话。
可以再加“文字闪烁的效果”里的代码,两者结合,效果很好。
◆文字闪烁的效果假设要闪烁的标签文字在Label1上。
在表单添加一个计时器设Interval的值为30。
在表单的Alwaysontop也就是表单属性的第一个值里声明变量,代码为:Public II=0在计时器Timer1的Timer写下代码i=i+10if i>=255*2thisform.timer1.enabled=.t.i=0endifif i>=255bel1.forecolor=RGB(255*2-i,50,110)elsebel1.forecolor=RGB(i,80,170)endif打开表单,就会出现文字闪烁了,如果你有兴趣,试试看◆密码的设置在表单中添加两个文本框,text1为用户名;text2为密码,添加两个命令按钮,设为确定和取消,数据表的结构两个字段:(name *用于存放用户名)和(mm *用于存放密码)在确定按钮的click事件写入if thisform.text1.value="".or.thisform.text2.value=""=messagebox ("用户名或密码不能为空!",0+48,"警告!")elsesele 1use shujubiao\yonfu.dbfif name=allt(thisform.text1.value).and.mm=all(thisform.text2.value)usethisform.text1.value=" "thisform.text2.value=" "wait"登陆成功,正在加载数据,等稍等" time 2 windowsthisform.visible=.f.thisform.releaseclose alldo form zym.scx *写入您要执行的表单elseusemessagebox("用户名或密码错误,请重新输入!",0+48,"警告!")thisform.text1.value=" "thisform.text2.value=" "endifendif在取消按钮的click写入close allthisform.release确记啊,不能把“确定”按钮设为Enter的模式,如果设定后,启动表单时,可是不用输入密码直接按确定就可以进入了。
在考生文件夹下有学生管理数据库BOOKS,数据库中有score表(含有学号、物理、高数、英语和学分5个字段,具体类型请查询表结构),其中前4项已有数据。
请编写符合下列要求的程序并运行程序:设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为CMDYES和CMDNO,标题分别为"计算"和"关闭"。
程序运行时,单击"计算"按钮应完成下列操作:(1)计算每一个学生的总学分并存入对应的学分字段。
学分的计算方法是:物理60分以上(包括60分)2学分,否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分。
(2)根据上面的计算结果,生成一个新的表xf,(要求表结构的字段类型与score表对应字段的类型一致),并且按学分升序排序,如果学分相等,则按学号降序排序。
单击"关闭"按钮,程序终止运行。
计算按钮的代码如下:OPEN DATA BOOKSUSE SCORE EXCLUSIVEDO WHILE NOT EOF()学分=0IF 物理>=60REPL 学分WITH 学分+2ENDIFIF 高数>=60REPL 学分WITH 学分+3ENDIFIF 英语>=60REPL 学分WITH 学分+4ENDIFSKIPENDDO2、建立表单my_form,表单中有两个命令按钮,按钮的名称分别为cmdYes和cmdNo,标题分别为"登录"和"退出"。
打开表单设计器后,在表单控件工具栏上单击"命令按钮",在表单上放置两个按钮。
分别修改其属性Name 为cmdyes和cmdno,Caption属性为"登录"和"退出"。
在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是学号C(10)、物理I、高数I、英语I和平均分 N(6.2)。
目录一、系统需求分析 (1)二、系统主要功能模块 (2)三、数据库设计 (4)四、各功能模块的具体设计 (5)五、课设总结................................ 错误!未定义书签。
六、参考文献 (25)一、系统需求分析本系统是用于开发一套专门用于班级管理工作的数据库系统,经过仔细研究分析,我们决定将系统分为三大部分,分别为学生人事档案管理,学生成绩查询,后台操作管理三部分。
为了便于使用者对班级情况的管理,其中主要侧重点在学生人事档案管理方面。
在学生人事档案管理又分为学生人事维护打印和查询打印两个分支。
学生成绩菜单具有查询打印功能。
系统管理分为操作员管理,密码管理,数据备份等部分。
1.学生信息维护:管理学生学号、姓名、班级等,一些主要功能:数据录入、修改、删除、查询、浏览、保存、打印等。
2.学生人事信息的查询:提供学号,姓名,全体查询。
分别利用不同的命令代码方式实现查询打印功能,功能是便于指导员和老师,学生用户的检索查询3.学生成绩查询的管理:提供学号,姓名,全体查询,与学生人事信息查询相似。
几大部分紧密结合联系,共分为两个数据库,第一个数据库包括学生管理维护表和成绩查询表,第二个数据库包括系统管理表。
二、系统主要功能模块学生管理系统基于Visual FoxPro 6.0中文版开发,VFP在数据库开发方面具有方面,实用,简单,直接等优点,同时其也具有一定的局限性。
本系统主要面向班级指导员和班级学生开发使用,因此主要侧重于系统的使用性和方便性,同时在安全性方面,我们也十分重视。
特别是操作员级别的划分等密码管理,我们都做了仔细的分析研究。
1. “学生信息管理系统”的模块结构图(如图1)图1 系统模块划分2、本系统的主要内容(如图2)图 2 项目管理器三、数据库设计数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。
一.面向过程的程序设计举例理解掌握类似下列程序的算法,代码仅供参考,按其他算法编写的,只要运行正确,都是正确的程序。
1. 输入三个数,按从大到小的顺序排列输出。
clearinput "请输入第一个数:" to xinput "请输入第二个数:" to yinput "请输入第三个数:" to za=max(x,y,z)c=min(x,y,z)b=x+y+z-a-c?'由大到小的顺序为:',a,b,c2. 输入一个字符串,分别统计其中字母字符、数字字符和其他字符的个数。
ClearACCEPT "请输入字符串:" to crk=len(cr) &&求出字符串cr的长度(即字符个数)赋给变量kSTORE 0 to a,b,c &&a,b,c分别放三种字符的个数,赋初值0FOR i=1 to kz=substr(cr,i,1) &&取出第i个字符DO caseCASE upper(z)>="A" and upper(z)<="Z"a=a+1CASE z>='0'and z<='9'b=b+1OTHERWISEc=c+1ENDCASEENDFOR?'字母字符的个数是:',a?'数字字符的个数是:',b?'其他字符的个数是:',c3. 输入一个百分制成绩,将其转换成“优秀”、“良好”、“中等”、“及格”和“不及格”五级计分制评定,如果输入的百分制成绩不在0-100之间,则提示输入错误并结束程序。
clearinput "输入百分制成绩:" to cjif cj<0 or cj>100messagebox("输入错误!只能输入0-100之间的数。