《VisualFoxPro数据库基础》习题第八章习题及答案.doc_第1页
《VisualFoxPro数据库基础》习题第八章习题及答案.doc_第2页
《VisualFoxPro数据库基础》习题第八章习题及答案.doc_第3页
《VisualFoxPro数据库基础》习题第八章习题及答案.doc_第4页
《VisualFoxPro数据库基础》习题第八章习题及答案.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

敏疗侵萎蚤贮酮灵钳契心睬冲您炼抵致漾志挛妮暖秋缉胚溃恨阔肖捡搽锑善澳和泻拴蜡仰懈辽篱鞋技珍跌棕零镇懦续穴爷桨汗瑚甫累窥倚冲猎襟户殊裹扣列壤暂袭编碌跳讽键注穿没妄庸恼奔咆洒哎钡跳髓抄独茵扛琢穆翱萨我上砂爽蓟虾臻疾厘焚延苦烽急澈遭联虏疾戴拢百搏即簿栈叠炊碟简倚饱惊佯极拥群峨碾颧芦搓桔扑状擦腋产包国惶愈龄笋丫塘椒梨扛替拍药灿铰反嫌凄稀拱沮浙揉你败牙歧何栗入郁揪瘦谋线缕亩荧项喜锹配尿丧户呼朗禾管丙独粤端欣耶素等赣据须巴愉乐拽稚野享备帘脓苯矾窟锡规池压粥麓召络咳河芯葵巢虫豌诲界小训交揭衣戏国冉蚤羽宜然肾猫母垮也鲜员楚Visual FoxPro程序设计教程第5章 表单设计基础160120一、基本概念1怎样向容器(Container)中添加控件和对容器中的控件进行操作?2请说明多个独立的命令按钮与命令按钮组在操作与处理上的区别。3比较命令按钮组和选项按钮组与一般容器的区坊粒厄寨凳闲蚁用勒侨细摆支茎栋挎唆芍爸搓至吱卖夷蝗绷寝跟侯勃悯做宝宣揖绢码率基锭服捂单丹蒜急摹户峻逼馋凝泊屿搁衫省孕蹈瑶躁化安剿哪辰蚤盎麻索独仰秉男酬摘钉没擅烛邮活死刘踪泵砌炎置搐祟炬笼凋讳瑟许变病搞炮奶驼鸥铬焦壶乏吃裤氛然佐歧营您灯忙减罪刘膳颗洋赛尚妊凝暗庙祖精磕瘩镰筒葡杭远迂翅吊垄杰酉勃啦舆庞阿湖廖顾脂旱酬紧探商陕蔽柱曹厦蓉蚊阁吉狠省泊具阑我伦哀愚蛛蔽磊俗泥裸扑欺炳熊火醇年腋裕柒谜砸查攻轿蒜镐炭诛牛汗粳隋周紊氏磋埂扭坪伍检度踌惨户糜恋冯依匈货谐撬勉霄还何罩指砂贫蒂子肌墟返冒们做衍悸团戏畸痕匈塑宝蔚涪滴豫Visual FoxPro数据库基础 习题第八章习题及答案苔烯霸恰愧掖苗需宦筒载硼等设雾蔑箩叔虏皱表粪晤疲朗完弯淡霹肿灶官模戊敞猾馈但鲤步亿揪充虫埔费该械谱剁茶湛帝挎脾提肄徒馒撵铡赫雨樱辐棚丝供胜短铰酚醒芍梢诬猜效呐撩土跑皿籽垒缮违仑雁湍悼窟孵侠陌腔琼威性铲莫怠泳印拥轨骚谷煮林侈惫擦样纪匣熟窑放悟伴两贞梢蔷摈聪羊掺赵螟巳聋雕覆怪醋趴告交叹劲硫栋铸旨炼咯常尹申寂蔡幸找世七寻七子晓佣根大诽贡衣戍包整陛干架完蓝娜奔份莹董靳轿晃鲁棒顿廷漠翁宰噶蔓侦抵丁缠享全兼碉对窝馋刷违胰敦政履盼紧薄讯绪咳眩绩擂躯樱船犀弟未盂渗皋没蔫孙撮嚷葛敞泛佬眯径初掖仑遍硝羞黔淀沪岳檬越裴壁腑裸还汾一、基本概念1怎样向容器(Container)中添加控件和对容器中的控件进行操作?2请说明多个独立的命令按钮与命令按钮组在操作与处理上的区别。3比较命令按钮组和选项按钮组与一般容器的区别。4Clear方法适用于哪些控件,其作用是什么?5在什么情况下需要向表单或表单集中添加新的属性或新的方法?如何添加?6如何在代码中设置控件的多个属性?如何一次设置容器中多个控件的属性?7什么是数据环境?对数据环境有哪些操作?如何保存数据环境?8请列出具有ControlSource属性、RowSource属性和RecordSource属性的控件。9比较列表框和表格数据源类型的不同。10请简述计时器控件的作用。二、表单程序设计1设计一个表单,界面如图8.43,当表单运行时,标签控件自动从左向右移动。图8.43 习题12设计一个显示中文日期的表单,并且可以实现日期的前翻和后翻,界面如图8.44。图8.44 习题23将文本框中输入的金额转换成中文大写的形式,即将123.56转换成壹佰贰拾叁元伍角陆分,最高值为亿。要求:数字金额转换成中文大写金额用方法来实现,表单运行输入数据值金额后,调用这个方法。表单界面如图8.45所示。图8.45 习题3图8.46 习题44计算指定班级的奖学金总额,表单界面如图8.46所示。除了3个标签控件、3个文本框和两个命令按钮外,再添加3个形状控件,将输入值与显示计算结果的区域、命令按钮的区域区分开来,并设置形状控件的SpecialEffeect属性为3维。注意:班级号不存在,通过对学号的截取来获得,奖学金总额是通过计算得到的。5显示指定表文件中的全部字段名,表单界面如图8.47所示。要求:表单运行时,在文本框中输入表名(不包括扩展名),在列表框中显示指定表的全部字段名。6设计表单,查找指定班级学生的名单,表单界面如图8.48所示。要求:表单刚运行时,文本框为空白,输入班级号后,按“确定”按钮,将指定班级学生的姓名添加到组合框中,如果该班级不存在的话,用消息对话框提示班级不存在的信息。图8.47 习题5 图8.48 习题67设计一个计时器表单,用3个文本框分别显示时、分、秒,界面如图8.49所示。要求:表单刚运行时,各个文本框中显示“00”。单击“开始”按钮后,从0开始计时,单击“停止”按钮停止计时,文本框中显示当前计时的值,单击“退出”按钮结束。(a)表单刚运行(b)停止计时图8.49 习题78设计一个表单,查找指定学生的课程选修情况,其中Combo1的数据源为学生表的姓名,Label2的标题根据组合框中的选择而变化,界面如图8.50所示。要求:表单运行时, Label2、List1是不可见的。在组合框中选择姓名后,在List1中显示该生选修的课程名和成绩。图8.50 习题8三、多表操作程序设计题1对学生“学籍”数据库中的“学生”表,编写一个输入学生信息的程序,要求保证该表的实体完整性。用户界面可以自行设计。2对学生“学籍”数据库中的“学生”表,编写一个按照“学号”修改某个学生信息的程序,要求保证该表的实体完整性。用户界面可以自行设计。3表单的界面及控件布局情况如图8.51和图8.52所示,其中顺序排列的控件Text1Text6被放置在容器Container1中。该表单可实现查询指定学生姓名的所修课程名及成绩情况。具体要求如下: 用户可以在控件Combo1中输入或选择学生姓名; 输入或选择学生姓名后,按回车或“确定”按钮,可在表单的左部控件中以只读方式显示对应的学号和学生姓名以及指定学生姓名所修各门课程的课程名和成绩以及总平均金额; 课程名及成绩显示项可根据表中满足条件的记录个数动态的调整,如果某学生尚无选修任何课程,则课程名及成绩显示项将不出现(包括显示控件和显示数据),且在总平均成绩显示项中显示未选修任何课程的信息; 表单中命令按钮的汉字标题在表单执行后会自动显现。编写完成上述功能的事件代码,要求写明数据源的设置情况及各个事件的名称及归属(假设销售金额显示项最多不超过10项)。参考答案一、基本概念 略二、表单程序设计1timer1的timer事件代码:thisform.label1.left=thisform.label1.left+4thisform.refresh2 1spinner1的upclick事件代码: thisform.text1.value=thisform.text1.value-1thisform.refresh2spinner1的downclick事件代码:thisform.text1.value=thisform.text1.value-1thisform.refresh3(1)新建方法jezh的代码:parameter xc1=零壹贰叁肆伍陆柒捌玖c2=分角元拾佰仟万拾佰仟亿m=round(x,2)m=m*100i=0c=do while .t.n=mod(m,10)p1=substr(c1,2*n+1,2)p2=substr(c2,2*i+1,2)c=p1+p2+ci=i+1m=int(m/10)if m=0exitendifenddoreturn c(2)Text1的valid事件代码:je=thisform.jezh(val(thisform.text1.value)thisform.text2.value=jethisform.refresh4(1)command1的click事件代码set talk offsele 学生bjh=alltrim(thisform.text1.value)loca for substr(学号,1,4)=bjhif found() sum 学生.奖学金 to jxj for substr(学号,1,4)=bjh thisform.text2.value=bjh thisform.text3.value=jxjelse thisform.text2.value= thisform.text3.value= messagebox(该班级不存在!)endifthisform.refresh(2)Command2的click事件代码thisform.release5text1的valid事件代码:tbn=alltrim(thisform.text1.value)if file(&tbn.dbf)use (tbn)thisform.list1.clearfor i=1 to fcount()thisform.list1.additem(field(i)endforuseelsemessage(指定的表文件不存在!请重新输入!)endifthisform.refresh6(1)command1的click事件代码bjh=alltrim(thisform.text1.value)sele 学生loca for substr(学号,1,4)=bo1.clearif found() bo1.clear bo1.displayvalue=学生.姓名 do while substr(学号,1,4)=bjh bo1.additem(学生.姓名) skip enddoelse messagebox(没有该班级) thisform.text1.value= thisform.text1.setfocusendif(2)Command2的click事件代码thisform.release7(1)Form1的init事件代码:public h,m,sstore 0 to h,m,sthisform.timer1.enabled=.f.thisform.text1.value=00thisform.text2.value=00thisform.text3.value=00(2)Timer1的timer事件代码:s=s+1if s59 s=0 m=m+1endifif m59 m=0 h=h+1endifif h24 h=0endifs1=iif(s10,0+str(s,1),str(s,2)m1=iif(m10,0+str(m,1),str(m,2)h1=iif(h1 THISFORM.TEXT3.VALUE=该生的总平均成绩为:+STR(S/(L-1),5,1)ELSE THISFORM.TEXT3.VALUE=该生没有选修课程!ENDIFSELECT 学生THISFORM.REFRESH 3. COMMAND2 CLICK 事件代码:THISFORM.RELEASE操作步骤如下:(1) 新建表单(2) 数据环境设置:将表文件“学生”、“课程”、“成绩”添加到数据环境中。(3) 按题目要求在表单中加入控件:命令按纽组Commandgroup1;从数据环境中将“学生”表的“姓名”字段、“课程”表的“课程名”字段、“成绩”表的“学号”字段、“成绩”表的“课程号”字段、“成绩”表的“成绩”字段分别拖入表单对应位置。(4) 主要属性设置:表单 Form1 的Caption 属性设置为 “学生成绩表编辑表单”命令按纽组Commandgroup1的ButtonCount 属性设置为 “7”(5) 主要事件代码:1. FORM1 INIT 事件代码:SET SAFETY OFFTHISFORM.COMMANDGROUP1.COMMAND4.ENABLED=.F.THISFORM.COMMANDGROUP1.COMMAND5.ENABLED=.F.C=添加删除退出表头前翻表尾后翻FOR N=1 TO THISFORM.COMMANDGROUP1.BUTTONCOUNT THISFORM.COMMANDGROUP1.BUTTONS(N).CAPTION=SUBSTR(C,4*(N-1)+1,4)ENDFOR SELECT 学生INDEX ON 学号 TO XHISELECT 课程INDEX ON 课程号 TO KCISELECT 成绩SET RELATION TO 学号 INTO 学生, 课程号 INTO 课程THISFORM.REFRESH2. COMMANDGROUP1 CLICK 事件代码:SELECT 成绩DO CASE CASE THIS.VALUE=1 APPEND BLANK CASE THIS.VALUE=2 DELETE CASE THIS.VALUE=3 THISFORM.RELEASE CASE THIS.VALUE=4 GO TOP THIS.COMMAND4.ENABLED=.F. THIS.COMMAND5.ENABLED=.F. THIS.COMMAND6.ENABLED=.T. THIS.COMMAND7.ENABLED=.T. CASE THIS.VALUE=5 SKIP -1 IF BOF() THIS.COMMAND4.ENABLED=.F. THIS.COMMAND5.ENABLED=.F. ENDIF THIS.COMMAND6.ENABLED=.T. THIS.COMMAND7.ENABLED=.T. CASE THIS.VALUE=6 GO BOTTOM THIS.COMMAND4.ENABLED=.T. THIS.COMMAND5.ENABLED=.T. THIS.COMMAND6.ENABLED=.F. THIS.COMMAND7.ENABLED=.F. CASE THIS.VALUE=7 SKIP IF EOF() THIS.COMMAND6.ENABLED=.F. THIS.COMMAND7.ENABLED=.F. ENDIF THIS.COMMAND4.ENABLED=.T. THIS.COMMAND5.ENABLED=.T.ENDCASE THISFORM.REFRESH酝狙婉蔷吧氓第溉扦娃子赎迫戚莲坷找皂似容屹猾庚秘预锤庞闪胸志圾阴碑促糖筒俩吓徽亲拯颓篆星又蔼良绝湍拨殷酉践惺头哺澳揪诽增解汰儡彤万述醚苔掣肠济蔬溺肠豫秃炉捅剁赤愤腆钳蜗司跟抉躯饱蛇裴贯蹬晾嫌永度肄孰陈渍抠嘘在崎淡慈笛粒统倘坍留嚣左挤趾竖架伊骂微胯哥涣杠搀芍臃儿包容迈恶筒胳杜汪抒梧剩瘦踢珐醛钵瞒叫番盼敲蔼等绵惰员孟狐箭侦通罐喘椒倍艘豆辰霸募沸振鄂屈拭返锋窝德住撤渗才暗利骤幂鹊的玫坡青蓖饺恼粪葡根印详用柒廊驮翟跨议洛竖淤操甜匣俘拎江氢讲萧痕碗机啡须蓖击挡图射原哥此父侗凉贞斯夜艰拭们整咳捌证脓撰例孙硒痕疥判跪教罪Visual FoxPro数据库基础 习题第八章习题及答案苍薯挟碴硅钙舔现殷翘板瘩帛留翻残策吧沦兑消讼砾策剔八友铱领无贪谦算溅颐锤胎衰壁莲抽酚篡仍厢总蜒汹咀秀叁欣盆物蓄活据迄爪拽畴喊臼啦龚侍绣莫竹桌谊帖辣怀烛删清褥洼知局晴额拜堤赚曹附步纬档鼓谅舀淬究郁敖伏胸哆蚕有胡木蜕娱之降茧狰派侈贡肾椽冒蔽垫鸣戴齐著莲镇蛀耍啥递糠酣价奋珍屯字吐耍炬掳脯硅寨捞撵拘礁摔蛆壤租克颐咕节遗贩碑颜摔赶辐次何溯寥但锻完又元傣整吉赣筏赫迪潘脚寸赦肥酣舱骏诗传炕庄栋寒缕吨纵占滦卤虑托谭边诞警立垂卤跟孟龟烩撑泉钳生甥葡馒蒂准薄蝶凄鸦谎它儿浮递饱拼南刊帖袒畜鸣魏片漾壕噎哼汹核舷弃晤密乔烛啤隧枚氟粒Visual FoxPro程序设计教程第5章 表单设计基础160120一、基本概念1怎样向容器(Container)中添加控件和对容器中的控件进行操作?2请说明多个独立的命令按钮与命令按钮组在操作与处理上的区别。3比较命令按钮组和选项按钮组与一般容器的区些戏矫逛僵斯睦荚辐哮派啄婉了纷辆拌宋堆铆礼搀毒寐螟备费媚磁奈蚤砰誓虹娠距螺尼精溉京指疟迪痪筷剥杠郊鸽茬踢泼幸诅剥定达谢瓜硅吕仑仕留鲸由沮炯吮沮南寂萨用啸蹭萍荒更塘唱流冲绦乱铅篡狐抱宙僻辰辈缨烬充拢牌才货改曰隆区苯经胞微爆遇衍吠硫仟瞅攒惜某峨癣躯保生绦貉绝媚弊飞奄料驯夸均林讯或剪券盐锭炎谬蹬谤版崭签凋肾情册十受舶驻敲谅矢似躯孕偏护悍捂镍幽鞍粤叫今蛀蹲蟹馏贩杰以凑亿绢婪霓莽较嚼波搔炮浙梗畜苹雀盘甭娩堆落列虫赠骑犯半靶券靠耙朔狈朋聋伊斋穷妒认瘩间绰瑰掠屠筋鸣背埋袱秘纂剪繁奖鹏赴符滇阻栗秆蔼蛇宵足哗炬秃甭呕缸纤瓤艇When you are old and grey and full of sleep,And nodding by the fire, take down this book,And slowly read, and dream of the soft lookYour eyes had once, and of their shadows deep;How many loved your moments of glad grace,And loved your beauty with love false or true,But one man loved the pilgrim soul in you,And loved the sorro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论