问答题
【正确答案】[解析] 使用AddItem方法向列表框中添加列表项目,其格式为:
列表.AddItem项目字符串[,索引值]
AddItem方法把“列表字符串”的文本内容放入“列表框”中。如果省略“索引值”则文本本放在列表框的尾部。“索引值”可以指定插入项在列表框中的位置,表中的项目从0开始计数,“索引值”不能大于表中的项数减1。该方法只能单个的项列表框中添加项目。
使用RemoveItem方法从列表框中删除列表项目其格式为:
列表.RemoveItem索引值
RemoveItem方法从列表框中删除以“索引值”为地址的项目,该方法每次只能删除一个项目。
解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表21-3。
表 21-3
控 件
属 性
设 置 值
 Listbox  Name  List1
 命令按钮  Name
 Picture
 Command1
 添加项目
 命令按钮  Name
 Picture
 Command2
 删除项目
 文本框  Name  Text1
  第二步:编写程序代码。
  程序提供的代码:
    Private Sub Command1_Click()
      Text1.Text=InputBox("请输入要添加的项目")
      'List1.AddItem ?
    End Sub
    Private Sub Command2_Click()
      Text1.Text=InputBox("请输入要删除的项目")
      'For i=0 To ?
       'If List1.List(i)= ? Then
        'List1.RemoveItem ?
       End If
      Next i
    End Sub
  参考代码:
    Private Sub Command1_Click()
      Text1.Text=InputBox("请输入要添加的项目")
     List1.AddItem Text1.Text
    End Sub
    Private Sub Command2_Click()
      Text1.Text=InputBox("请输入要删除的项目")
      For i=0 To List1.ListCount-1
        If List1.List(i)=Text1.Text Then
         List1.RemoveItem i
        End If
      Next i
    End Sub
  第三步:调试并运行程序。
  第四步:按题目要求存盘。
  (2) [解析] 文本框里的内容(包括数字)默认都是当作字符串来处理的,如果要参与数据运算则需先用Val()函数将其转化为数字(如:Va1(Text1.Text))。
  这里需要指出的是利用Array对数组各元素赋值,声明数组的类型只能是Variant。数组的上下界可用LBound函数和 UBound函数分别获得:程序中变量Max保存最大数,最初把数组的第一个元素赋给Max,然后将其后的元素依次与之比较,如果大于Max的值则与之交换,后面又将Max作为标杆,依次类推,最终MAX中的元素就是最大值。在窗体上打印信息可以通过Print方法来实现,其形式为:
  [对象.] Print要显示的内容
  解题步骤:
  第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表21-4。
                                               表 21-4
控 件
属 性
设 置 值
 命令按钮  Name
 Picture
 Command1
 求最大值
 文本框  Name  Text1
 文本框  Name  Text2
 文本框  Name  Text3
 文本框  Name  Text4
第二步:编写程序代码。
程序中提供的代码:
Option Base 1
Private Function FindMax(a() As Integer)
Dim Start As Integer
Dim Finish As Integer, i As Integer
'Start=?(a)
'Finish=?(a)
'Max=?(start)
For i=Start To Finish
'If a(i) ? Max Then Max= ?
Next i
FindMax=Max
End Function
Private Sub Command1_Click()
Dim arr1
Dim arr2(4) As Integer
arr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) )
For i=1 To 4
'arr2(i)=CInt(?)
Next i
'M=FindMax(?)
Print "最大值是:"; M
End Sub
参考代码:
Option Base 1
Private Function FindMax(a() As Integer)
Dim Start As Integer
Dim Finish As Integer, i As Integer
Start=LBound(a)
Finish=UBound(a)
Max=a(Start)
For i=Start To Finish
If a(i)>Max Then Max=a(i)
Next i
FindMax=Max
End Function
Private Sub Command1_Click()
Dim arr1
Dim art2(4) As Integer
arr1=Array(Val(Text1.Text) , Val(Text2.Text) , Val(Text3.Text) , Val(Text4.Text) )
For i=1 To 4
arr2(i)=CInt(arr1(i) )
Next i
M=FindMax (arr2)
Print "最大值是:"; M
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。
【答案解析】