已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
表单程序设计专题(一) 表单程序设计的常用内容可分为:与表内容无关和与表内容有关两种。与表内容有关又可分为绑定型和非绑定型两种。要注意绑定与关联的区别:绑定是表单与表之间的关系(对于单表而言);而关联是表与表之间建立联系(相对于多表而言)。在表单程序设计中常用的方法有:additem、setfocus、refresh、release、setall、hide、show等。在表单程序设计中常用的事件有:form1_init、valid、interactivechange、click、timer1_timer、form1_destory、getfocus、lostfocus等。一、基本控件1、 标签:CAPTION、WORDWRAP、FONTNAME、FONTSIZE、FORECOLOR、BACKCOLOR、BACKSTYLE等。2、 文本框:VALUE、FONTNAME、FONTSIZE、FORECOLOR、BACKCOLOR、CONTROLSOURCE、ALIGNMENT、READONLY和VALID事件等3、 列表框(组合框COMBO1):INTERACTIVECHANGE事件、ROWSOURCETYPE、ROWSOURCE等。4、 计时器:INTERVAL、ENABLED5、 命令按钮:CLICK、ENABLED、CAPTION6、 命令按钮组:VALUE7、 单选按钮组:BUTTONCOUNT、CLICK、BUTTONS(I)、CAPTION、VALUE、SETFOCUS8、 复选框:CAPTION和VALUE的属性值设置9、 微调按钮:SPINNERHIGHVALUE和SPINNERLOWVALUE、INCREMENT(步长)事件:INTERACTIVECHANGE、UPCLICK、DOWNCLICK10、表格:RECORDSOURCETYPE、RECORDSOURCE11、页框:PAGECOUNT、PAGES(I)、CATPION、ACTIVEPAGE12、表单:BORDERSTYLE(表单风格)、AUTOSIZE、MOVABLE、ALWAYSONTOP等属性设置和INIT事件。二、表单程序设计主要类型:1、与表无关的程序设计:(1)时钟(数字时钟和中文时钟)、计数器(2)运动的小球(3)口令验证(4)有关文本框的文本、颜色设计等。(5)计数统计、数学运算、文本字数统计和验证等 2、与表有关的程序设计(以学生表、课程表和成绩表为例):(1)学生表的单记录查询、表格查询、记录的插入、添加、修改和删除等操作。(2)学生的多记录查询:可采用关联和SQL语言来设计程序;在修改时要注意表间的参照完整性。(3)统计信息:统计指定学号的学习平均成绩统计指定班级的学生平均成绩、学生数、男生或女生数、奖学金总额等统计指定姓名的学习平均成绩三、与单表内容有关的表单程序设计范例:与单表内容有关的表单设计主要有以下五大类:输入、查询、修改、删除和统计。1、 采用非绑定型的单表程序表单程序设计(1) 打开表:在表单的INIT事件中打开表(USE 表文件名),在表单的ESTROY事件中关闭表(USE)(2) 输入功能: 图1 表单设计布局 图2 表单初始运行后的界面 主要功能:完成对学生表文件中的记录的添加(不采用数据绑定) 主要代码: FORM1_INITthisform.label1.caption=学号thisform.label2.caption=姓名thisform.label3.caption=性别thisform.label4.caption=出生日期thisform.label5.caption=奖学金mand1.caption=保存mand2.caption=退出use 学生thisform.setall(value,textbox)thisform.text1.setfocusCOMMAND1_CLICKappend blankreplace 学号 with thisform.text1.value,姓名 with thisform.text2.valueif thisform.text3.value=T replace 性别 with .t.else replace 性别 with .f.endif replace 出生年月 with ctod(thisform.text4.value),奖学金 with evaluate(thisform.text5.value)thisform.setall(value,textbox)thisform.text1.setfocusCOMMAND2_CLICKUseThisform.release (3)查询功能: 主要功能:在组合框中选择学生姓名后,在右边的文本框中显示学生的相关信息。 主要代码: 图3 表单布局界面貌 图4 表单运行后的界面FORM1_INITthisform.label2.caption=学号thisform.label3.caption=性别thisform.label4.caption=姓名thisform.label5.caption=出生日期thisform.label6.caption=奖学金use 学生scan bo1.additem(姓名)endscan COMBO1_INTERACTIVECHANGElocate for 姓名=alltrim(bo1.value)if !found()messagebox(您所指定的学生并不存在!)else thisform.text2.value=学号thisform.text3.value=姓名thisform.text4.value=性别thisform.text5.value=dtoc(出生年月)thisform.text6.value=str(奖学金,6,2)endiFCOMMAND1_CLICKUseThisform.release(4)修改 图5 表单布局界面 图6 表单运行后的界面主要代码:FORM1_INITthisform.label2.caption=学号thisform.label3.caption=性别thisform.label4.caption=姓名thisform.label5.caption=出生日期thisform.label6.caption=奖学金use 学生mand1.caption=修改mand2.caption=退出TEXT1_VALIDLocate for 学号=alltrim(thisform.text1.value)if !found()messagebox(没有该学号,0)return .f.else thisform.text2.value=学号 thisform.text3.value=姓名 thisform.text4.value=性别 thisform.text5.value=dtoc(出生年月) thisform.text6.value=str(奖学金,6,2) return .t.endifTEXT1_LOSTFOCUSthisform.text2.readonly=.t.thisform.text3.setfocusCOMMAND1_CLICKreplace 姓名 with thisform.text3.valueif thisform.text4.value=.t.replace 性别 with .t.else replace 性别 with .F.endifreplace 出生年月 with ctod(thisform.text5.value)replace 奖学金 with evaluate(thisform.text6.value)thisform.text1.value=thisform.text1.setfocusCOMMAND2_CLICKUSETHISFORM.RELEASE(5)删除在FORM1_INTI的代码中输入USE 学生 EXCLUSIVE。 图7 表单布局界面 图8 表单初始运行后的界面代码:FORM1_INITthisform.label2.caption=学号thisform.label3.caption=性别thisform.label4.caption=姓名thisform.label5.caption=出生日期thisform.label6.caption=奖学金use 学生 mand1.caption=修改mand2.caption=退出mand3.caption=删除set delete onCOMMAND3_CLICKLocate for 学号=alltrim(thisform.text1.value)if found()deleteskipif eof()GO TOPENDIFthisform.text1.value=thisform.text2.value=学号thisform.text3.value=姓名thisform.text4.value=性别thisform.text5.value=dtoc(出生年月)thisform.text6.value=str(奖学金,6,2) elsemessagebox(您所指定的记录并不存在!)endifCOMMAND2_CLICKSET DELETE OFFUSETHISFORM.RELEASE(6)统计统计按学生指定学号的平均成绩 图9 表单布局界面 图10 表单运行后的界面FORM1_INITuse 成绩thisform.text1.value=thisform.text1.setfocusthisform.grid1.recordsource=TEXT1_VALIDLoca for 学号=alltrim(thisform.text1.value)i=1cj=0do while !eof() cj=cj+成绩 i=i+1 continuenddoif i1 pjcj=cj/(i-1) thisform.text2.value=str(pjcj,5,1) select * from 成绩 where 学号=alltrim(thisform.text1.value) into cursor ppp thisform.grid1.recordsourcetype=1 thisform.grid1.recordsource=ppp thisform.refresh return .t.else =messagebox(找不到该学生,0) return .f.endifthisform.refresh2采用绑定方式实现学生的输入、保存、查询、删除和统计功能 代码:FORM1_INITC=输入取消浏览修改删除退出for i=1 to mandgroup1.buttoncount mandgroup1.buttons(i).caption=; substr(c,4*(i-1)+1,4)endforuse 学生 exclusivethis.text1.controlsource=学号this.text2.controlsource=姓名this.check1.controlsource=性别this.text3.controlsource=出生年月this.text4.controlsource=奖学金*this.setall(visible,.f.,label)*this.setall(visible,.f.,textbox)this.check1.visible=.f.this.label1.visible=.t.this.text1.visible=.t.this.text1.setfocusthis.r=0this.label5.visible=.bo1.visible=.f.this.add=.bo1.rowsourcetype=6bo1.rowsource=学号COMMANDGROUP1_CLICKset delete ondo casecase this.value=1thisform.label5.visible=.f. bo1.visible=.f. append blank thisform.add=.t. thisform.r=recno() thisform.text1.selectonentry=.t. thisform.text1.setfocuscase this.value=2 thisform.label5.visible=.f. bo1.visible=.f. if thisform.add and thisform.r=recno() dele skip -1 thisform.refresh thisform.add=.f. thisform.r=0 endif case this.value=3 thisform.label5.visible=.t. bo1.visible=.t. thisform.se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品安全中心食堂租赁合同
- 公路紧急救援服务维护合同
- 赠:部编人教版九年级历史上册-《全册思维导图》(图片版)
- 长沙市住宅转让合同范本
- 建筑公司文化墙施工协议
- 互联网公司技术大牛聘用协议
- 美术创作的材料与技术创新方案计划
- 外贸公司管理制度
- 工业控制系统应用与安全防护技术(微课版)课件 第4章 工业控制系统漏洞分析
- 重识老龄传播:空间、身体与老人的再社会化
- 售前、售中、售后服务流程图
- 湖南省乡镇卫生院街道社区卫生服务中心地址医疗机构名单目录
- 电力工程施工进度计划和保证工期的措施
- 上海市2022年杨浦区初三化学一模试卷(含答案)
- 强联智创辅助诊疗及医患系统平台建设项目
- 火力发电厂施工图设计计守则热机
- 楼栋燃气调压箱零部件、放散压力和切断压力典型设置实例、常见故障、原因及处理方法
- 设计资料保密协议
- 苏教版五年级数学上册第九单元《整理与复习》全部教案(共5课时)
- 开放式基金通过交易所认购、申购、赎回系统接口指南-券商
- GB∕T 309-2021 滚动轴承 滚针
评论
0/150
提交评论