已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 80011.2-2009服装CAD电子数据交换格式 第2部分:排料数据》
- 深度解析(2026)《FZT 54123-2020酸性染料易染氨纶长丝》
- 深度解析(2026)《FZT 14030-2016棉与涤混纺磨毛印染布》
- 《JBT 8440-1996电热器具用电源开关》专题研究报告
- 2026年高考物理复习(习题)第五章核心素养提升(五) 动力学和能量观点的综合应用
- 农林牧渔行业2026年投资策略分析报告:生猪蓄势养牛周期
- 第4课 认识“我的电脑”(1)教学设计小学信息技术(信息科技)第二册黔教版
- 2026年河北省社区工作者招聘考试参考题库及答案解析
- 2026年渝中区南岸区社区工作者招聘考试参考试题及答案解析
- 2026年郑州市金水区社区工作者招聘笔试参考试题及答案解析
- 2026云南省投资控股集团有限公司招聘168人笔试历年参考题库附带答案详解
- 2026年中医骨伤科(正-副高)试题(得分题)附答案详解(完整版)
- (2025年)电工三级安全教育试题及答案
- 2026年设备状态监测的标准与规范
- 2026广东东莞市常平镇编外聘用人员招聘5人备考题库附答案详解(完整版)
- 高中主题班会 高二上学期《学会专注、高效学习》主题班会课件
- 基建科内部控制制度汇编
- 廊道、洞室及有限空间作业安全注意事项
- 老年男性乳房发育症个案护理报告
- 耳鼻喉科门诊服务优化
- 弹性延迟退休协议书
评论
0/150
提交评论