a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 114|回复: 1

[考试试题] 2010年全国计算机等级考试二级VFP习题及答案:第八章1

[复制链接]
发表于 2012-7-31 22:22:49 | 显示全部楼层 |阅读模式
  表单程序设计   1.设计一个表单,界面如图8.43,当表单运行时,标签控件自动从左向右移动。2 {, d& E7 h5 n# f
  2.设计一个显示中文日期的表单,并且可以实现日期的前翻和后翻,界面如图8.44。* A6 n! ^! \# g% S+ j  i% d! E
  3.将文本框中输入的金额转换成中文大写的形式,即将123.56转换成壹佰贰拾叁元伍角陆分,最高值为亿。要求:数字金额转换成中文大写金额用方法来实现,表单运行输入数据值金额后,调用这个方法。表单界面如图8.45所示。
0 E" i, \! H; [- z  4.计算指定班级的奖学金总额,表单界面如图8.46所示。除了3个标签控件、3个文本框和两个命令按钮外,再添加3个形状控件,将输入值与显示计算结果的区域、命令按钮的区域区分开来,并设置形状控件的SpecialEffeect属性为3维。注意:班级号不存在,通过对学号的截取来获得,奖学金总额是通过计算得到的。
+ K$ E4 q% C* D- I. A; G  5.显示指定表文件中的全部字段名,表单界面如图8.47所示。要求:表单运行时,在文本框中输入表名(不包括扩展名),在列表框中显示指定表的全部字段名。& a. B' \( m- v
  6.设计表单,查找指定班级学生的名单,表单界面如图8.48所示。要求:表单刚运行时,文本框为空白,输入班级号后,按“确定”按钮,将指定班级学生的姓名添加到组合框中,如果该班级不存在的话,用消息对话框提示班级不存在的信息。! \8 i3 S9 m2 d, x( n1 ~+ h
  7.设计一个计时器表单,用3个文本框分别显示时、分、秒,界面如图8.49所示。要求:表单刚运行时,各个文本框中显示“00”。单击“开始”按钮后,从0开始计时,单击“停止”按钮停止计时,文本框中显示当前计时的值,单击“退出”按钮结束。0 W$ `# G  i! X$ z. x
  8.设计一个表单,查找指定学生的课程选修情况,其中Combo1的数据源为学生表的姓名,Label2的标题根据组合框中的选择而变化,界面如图8.50所示。要求:表单运行时, Label2、List1是不可见的。在组合框中选择姓名后,在List1中显示该生选修的课程名和成绩。
0 R, M3 s! a  Q; l% u6 t& z  多表操作程序设计题
( e+ Z3 k+ K, d* X+ z  1.对学生“学籍”数据库中的“学生”表,编写一个输入学生信息的程序,要求保证该表的实体完整性。用户界面可以自行设计。3 h  D% R% v- r$ F" p6 S
  2.对学生“学籍”数据库中的“学生”表,编写一个按照“学号”修改某个学生信息的程序,要求保证该表的实体完整性。用户界面可以自行设计。
. |1 t- r' t6 N8 u  3.表单的界面及控件布局情况如图8.51和图8.52所示,其中顺序排列的控件Text1~Text6被放置在容器Container1中。该表单可实现查询指定学生姓名的所修课程名及成绩情况。具体要求如下:① 用户可以在控件Combo1中输入或选择学生姓名;② 输入或选择学生姓名后,按回车或“确定”按钮,可在表单的左部控件中以只读方式显示对应的学号和学生姓名以及指定学生姓名所修各门课程的课程名和成绩以及总平均金额;③ 课程名及成绩显示项可根据表中满足条件的记录个数动态的调整,如果某学生尚无选修任何课程,则课程名及成绩显示项将不出现(包括显示控件和显示数据),且在总平均成绩显示项中显示未选修任何课程的信息;④ 表单中命令按钮的汉字标题在表单执行后会自动显现。编写完成上述功能的事件代码,要求写明数据源的设置情况及各个事件的名称及归属(假设销售金额显示项最多不超过10项)。
) B6 B. `8 J9 _3 z3 {9 G' H: Z3 ~- h% D
" T  K& d- @7 K" G! u2 W9 @& P  4.表单的界面及控件布局情况如图8.53和图8.54所示,其中顺序排列的控件Command1~Command7属于组容器Commandgroup1。该表单可实现学生“成绩”表的编辑浏览操作,具体要求如下:可以随时向成绩表中添加新记录;可以随时删除成绩表中当前指针所指的记录;可以随时向前、后、表头、表尾翻动浏览记录,当指针到达表头或表尾时,自动将相应按钮设为不可访问;在添加或浏览记录时,随着学号的变化,相应的姓名、课程号、课程名和成绩会自动地以只读方式定位显示;控件Command1~Command7的汉字标题执行后会自动显现。编写完成上述功能的事件代码,要求写明数据源的设置情况及各个事件的名称及归属。, k/ F2 X- {' K+ l& \8 c

  j6 c, @, k* S3 S- @8 ], V( v* o* U  习题答案:* q# V4 M6 h' C9 f1 G+ C' L
  表单程序设计
: \8 G" u' S8 F4 q- d! s4 c1 W2 ?" `  1、
4 g4 w8 |" }3 c8 y  timer1的timer事件代码:
! L) u* K$ }; N4 P  thisform.label1.left=thisform.label1.left+4
3 r2 ~9 }4 s) E" P- E) c  thisform.refresh9 v! W( K/ w2 }% \/ y& y1 w3 g, i
  2、
5 u8 M% Z2 u& y  1.spinner1的upclick事件代码:; Y: F: f0 Z8 A1 ^; @  c5 \
  thisform.text1.value=thisform.text1.value-1
* N$ n/ y8 R3 G& g7 h/ l1 l  thisform.refresh# e! N+ c- _# ^+ u, a3 f8 t7 a
  2.spinner1的downclick事件代码:  B- u2 k9 B1 y
  thisform.text1.value=thisform.text1.value-1- O! o! C0 E! z
  thisform.refresh1 \4 v( B# Z/ k. ?
  3、
8 A6 p/ u9 F$ o* c  (1)新建方法jezh的代码:
: ]) k! ~7 ?+ \- m! M  parameter x, N4 B$ ~$ W7 l' y- z$ ?/ S
  c1="零壹贰叁肆伍陆柒捌玖"
- m" F/ q! {( D) L2 _' c# ~# w  c2="分角元拾佰仟万拾佰仟亿"
6 Q- h* h) l7 ?* _! c$ U/ u. f  m=round(x,2)! |2 v/ h! I, M5 h
  m=m*100
0 _4 W- A! }" Y, L3 T3 c# [; H1 f  i=0& V/ Z, T* Y, U" S' V1 m
  c=""
( w" X7 K) P6 a+ w  do while .t.
4 c6 Q3 K  q% @& S& ~, _  n=mod(m,10)  e' @# U' e3 C; D8 \
  p1=substr(c1,2*n+1,2)
4 v6 q* D6 Z$ ]  p2=substr(c2,2*i+1,2)
) W" |1 v' A) A( j4 T; [/ x1 ]  s$ y  c=p1+p2+c
7 W4 k; g; e3 ~  i=i+1
; I- V: Y. f/ H" V7 U  G/ O1 A$ M  m=int(m/10)" c0 L% R) J) O( z
  if m=0" h% J: i/ O& {1 U6 [" l; v
  exit
2 s" |" V& t3 r  endif1 ^! J6 u" w3 m) s" O( j3 p
  enddo4 b( u/ d" W( i+ C! A
  return c
* C6 ]: r6 H! d2 C4 f/ D2 \0 t  (2)Text1的valid事件代码:
0 Y* N- H+ P* v* R1 _  je=thisform.jezh(val(thisform.text1.value))
8 `( Z/ }6 U! o; j  q' D' ~0 z  thisform.text2.value=je
# V. F  R3 {4 `) {  C9 n) N6 S4 @  thisform.refresh
% F% e, F$ s8 ?7 y) ]+ ^: l) b; x  4、4 H6 j# f5 o0 X& i% L
  (1)command1的click事件代码
5 Z4 g3 A! \$ P8 [8 t: J2 C  set talk off
* p  Q- L$ |. p  R# U7 F+ Q' M: c  sele 学生
1 ^+ b4 P! p2 x6 l# T$ V. i: O/ L7 O/ k
  bjh=alltrim(thisform.text1.value)
回复

使用道具 举报

 楼主| 发表于 2012-7-31 22:22:50 | 显示全部楼层

2010年全国计算机等级考试二级VFP习题及答案:第八章1

</p>  loca for substr(学号,1,4)=bjh, A0 Y6 @9 v2 c/ y; K% Y
  if found()
( n% a- E. r5 f  sum 学生.奖学金 to jxj for substr(学号,1,4)=bjh/ M, d8 H0 i( q& N# ?9 v# g5 {
  thisform.text2.value=bjh& _& ^: J- {3 Y7 y
  thisform.text3.value=jxj3 q' O( E# N9 d5 W! K% d
  else2 w% R, h/ R$ a0 U
  thisform.text2.value=""3 R0 m$ _5 J7 m+ n
  thisform.text3.value=""
$ e5 I' @) }! N$ ~# J  messagebox("该班级不存在!")
' g. E0 C5 A3 v  S5 g  endif
. q7 j" Z0 v& H" Y! s5 l: C  thisform.refresh
" d0 u* l8 R( w1 a: g# @3 P# `0 \  (2)Command2的click事件代码
; g4 \: H* @0 f9 u  w  thisform.release
) T. {. m" P7 S. A1 }  5、; |$ `' f1 Y7 M5 Z) m
  text1的valid事件代码:2 E/ q: u' r1 z6 h- `4 K
  tbn=alltrim(thisform.text1.value)- M6 a6 ^6 k3 i6 d! a9 @' g
  if file("&tbn..dbf")' n- f, P% y0 n
  use (tbn)
& @( }/ F: W2 [( c, H7 @  s  thisform.list1.clear& \, d( R; ]9 s$ @6 i6 Z
  for i=1 to fcount()8 ]2 V/ P6 G& ?8 f5 q' b: b
  thisform.list1.additem(field(i))4 C# e2 f4 R8 V+ h
  endfor
. h! ^( u4 O- r# D1 d6 f  use
; P! s* h0 ^$ N" E  else
7 F* M) n$ V/ I2 ~5 ~4 [+ ]  message("指定的表文件不存在!请重新输入!")
# _( S' |5 k* J) X: w  Z9 V% R. h( }  endif
  ~6 B5 ^) r: W' I! ~  thisform.refresh1 k- I% [* i0 O* k& b
  6、
4 b0 A5 ^$ p1 ^+ i6 e  (1)command1的click事件代码7 V3 r5 ^0 Z5 L  y, I
  bjh=alltrim(thisform.text1.value)& d  n& s2 m% F7 J
  sele 学生
6 e) A3 p3 e/ e" I  loca for substr(学号,1,4)=bjh
, X7 V" Z+ x5 e. _. L( y, M  thisform.combo1.clear
, _4 u2 d7 P& G+ q- c' C# a' @  if found()& l- {5 b8 Y/ }1 ^6 R1 S' ~
  thisform.combo1.clear
! c" U9 v0 W& L9 c' F! I  thisform.combo1.displayvalue=学生.姓名
. t6 Q  d) J; y0 Q  do while substr(学号,1,4)=bjh
% a$ P3 W* X, k* F' w3 |" d  thisform.combo1.additem(学生.姓名)
' {& {" E; z+ l' h: T6 T9 `  q" O% |- y  skip* A0 p6 D# ?; P1 _5 b1 o+ O4 F+ J
  enddo3 ~  S& n& d$ Q6 j
  else
' l( X, h/ @& r$ r2 b' }$ B8 o  messagebox("没有该班级")+ K+ f& J. Z0 F) n* E2 w# L
  thisform.text1.value=""
7 @4 l0 `. R5 r# y  thisform.text1.setfocus7 A1 c+ |" i/ F; U
  endif
0 R/ F9 B" D5 q' c/ w5 P# l  (2)Command2的click事件代码
" D7 Q" t- T+ Z0 p, G% Y  K" W  thisform.release
7 q& V& a, Z. k  7、
3 B2 I3 S0 t( U7 p" H& N2 N- |/ T  (1)Form1的init事件代码:6 h3 W* y) b& ~: i  Q9 @! }$ G9 \2 L
  public h,m,s
# K8 N4 c: j! o) U  store 0 to h,m,s
9 B" p7 O" M. A) k) C- w- M6 ?. h. K  thisform.timer1.enabled=.f.
+ O% u0 O: Z: J$ N1 c" j: p0 q% ?  thisform.text1.value='00'. C' \$ R1 p. a3 w0 u% f6 ]* ]
  thisform.text2.value='00'" y: j" C5 x$ t5 ~/ Q  L( n0 I5 @
  thisform.text3.value='00'
# Y1 }, j. X8 {/ d2 v  (2)Timer1的timer事件代码:" C3 j. {/ ~* C0 ^" s, [
  s=s+1
& `+ U! V* O& n6 q8 g  if s>59
" d+ v) P: {! z# d9 @9 X! _- u% @( A  s=0
! B% U* G8 J" Z% H) ~6 i% m) ]+ y  m=m+1
7 w" A* {$ @  W: @  endif
9 I8 b' k8 [& q$ O% W# L, Z, g; q  if m>59
  y. y+ s, U. T* C  m=0
" ~( W* m% \+ F  i$ p6 q, q9 e0 Y  h=h+1$ F( @7 E/ F8 q
  endif+ y; v, z+ u. b! Z( v
  if h>24% A4 }! e/ y2 O3 o+ S1 X
  h=0
+ e5 v) W7 a/ l% x. z% ?! b! {9 ^- T  endif) H5 m0 z8 R. l

* ^" y2 u* m0 Y' H. ?' T  c0 E8 f  s1=iif(s
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 07:50 , Processed in 0.438215 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表