问答题

试题四
阅读以下应用说明以及用Visual Basic 编写的程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。
[应用4.1]
设应用程序的运行窗口内有一个文字标签(Label)以及一个框架,其中有三个复选框(chk1,chk2,chk3),各个复选框单击事件过程的程序代码如下:
Private Sub chk1_Click( )
Label.fontBold = chk1.Value
End Sub
Private Sub chk2_Click( )
Label.fontItalic = chk2.Value
End Sub
Private Sub chk3_Click( )
Label.fontUnderLine = chk3.Value
End Sub
三个复选框chk1、chk2、chk3 的功能分别是: (1) 。
[应用4.2]
设应用程序的运行窗口内有两个文本框Txt1 和Txt2,其初始内容为空。在Txt1 文本框中输入一个数值,当光标离开此文本框(例如进入文本框Txt2)时,执行的程序代码如下:
Private Sub Txt1_LostFocus()
dim x as double
x = Val(Txt1.Text)
If x<0 Or x>100 Then
Txt1.Text = ""
MsgBox$ ("请重新输入!")
Txt1.SetFocus
Else
Txt2.Text = Txt1.Text
End If
End Sub
该程序代码的功能是:若在文本框Txt1 中输入的数值小于0 或大于100,当光标离开此文本框时, (2) ;否则,将其值复制到文本框Txt2 中。
[应用4.3]
在下面的应用中,当窗口内发生Click 事件时,窗口内将显示如图4-1 所示的杨辉三从下角形(每一行都是二项式展开的系数)。请完善程序代码。


图4-1
Private Sub Form_Click()
Dim i, j, c As Integer,StrTemp As String
Dim a(9) As Integer
a(0) = 0: a(1) = 1: StrTemp = Str(a(1)) + Space(3)
CurrentX = (ScaleWidth - TextWidth(StrTemp)) / 2
Print StrTemp
For j = 2 To 9
a(j) = 1
For c = j-1 To 2 Step -1
a(c) = (3)
Next
(4) = ""
For c = 1 To j
StrTemp = StrTemp & Str( (5) ) & Space(5 - Len(Str(a(c))))
Next
CurrentX = (ScaleWidth - TextWidth(StrTemp)) / 2
Print StrTemp
Next
End Sub

【参考答案】

(1) 对文字标签中的文字,分别控制其粗体、斜体和下划线设置
(2) 将该文本框清空;弹出消息框,提示重新输入......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
试题七 阅读以下应用说明以及用Visual Basic 编写的程序代码,将应填入(n) 处的字句写在答题纸的对应栏内。 [应用说明] 某应用程序用于监测某种设备的工作温度(20~200 度),其运行窗口中,包括一个温度计(矩形形状shpMeter)以及其中指示当前设备温度的水银柱(矩形形状shpT),文字标签标记了温度刻度;另有一个图片框picCurve,用于动态描述检测到的温度曲线(用户见到的曲线与水银柱等高变化);命令按钮“开始检测”(cmdStart)用于启动温度检测,命令按钮“暂停检测”(cmdStop)用于暂停检测。 矩形形状 shpT(水银柱)属性visible 初始设置为不可见,属性Filltype 设置为solid(实心),FillColor 设置为红色;图片框picCurve 的属性AutoRedraw 设置为True;再创建一个定时器TimT,属性Enabled 初始设置为False(不起作用),属性Interval(定时间隔)设置为500 毫秒。 为模拟设备温度的检测,程序中利用了(0,1)之间均匀分布的伪随机数获得[20,200]之间的随机温度T。为了便于在图片框picCurve 中绘制曲线,程序中对该图片框建立了坐标系统,左上角为原点(0,0),水平向右方向为X 轴,垂直向下方向为Y 轴,右下角坐标为(50,180)。为了便于观察记录的温度值,图片框中从上到下创建了5 条水平线Ls(i),i=0,1,…4,并在程序中按等间隔排列进行位置设置。程序中每隔半秒算出曲线点(x,y),其中x=0,1,2,…,再用直线段连接各相邻曲线点形成温度曲线。 [Visual Basic 程序代码] Dim (1) As Integer ’声明全局变量 Private Sub CmdStart_Click( ) TimT.Enabled = True ShpT.Visible = True End Sub Private Sub CmdStop_Click( ) TimT.Enabled = False End Sub Private Sub Form_Load( ) Dim i, H As Integer PicCurve.Scale (0, 0)-(50, 180) ’设置图片框坐标系:左上角-右下角 H = 30 ’H 等于图片框高度的六分之一 For i = 0 To 4 ’设置5 条水平线Ls(i)的位置 Ls(i).X1 = 0 ’Ls(i)起点横坐标 Ls(i).Y1 = H * (2) ’Ls(i)起点纵坐标 Ls(i).X2 = 50 ’Ls(i)终点横坐标 Ls(i).Y2 = Ls(i).Y1 ’Ls(i)终点纵坐标 Ls(i).BorderColor = &HC0C0C0 &rsquo;设置水平线颜色 Next i x = 0 ’设置曲线坐标初值 End Sub Private Sub timT_Timer() Dim T, H As Integer ’T 为即时温度,H 为图片框中温度点显示高度 T = Int(Rnd * 181) + 20 ’模拟随机产生设备温度(20~200 度) ’按当前温度显示水银柱 H = ShpMeter.Height * (3) ’算出水银柱的高度 ShpT.Top = (4) - H ’设置水银柱顶部位置 ShpT.Height = H ’设置水银柱的高度 ’绘制温度曲线 y = (5) ’算出曲线上当前点的纵坐标 If x = 51 Then ’当超出图片框时 PicCurve.Cls ’清除图片框内以前画的曲线 x = 0 ’设置重画曲线的初值 ElseIf x > 0 Then ’除左边点外 PicCurve.Line (x-1,Lasty)-(x,y),vbRed ’由前1 点到当前点画红色线段 End If x = x + 1 ’准备下一点坐标 Lasty =y ’保存当前坐标供下次使用 End Sub