16.編寫VB程序,實現如下功能:在文本框Text1中輸入篩選關鍵詞“ca”,單擊“篩選”按鈕Command1,在列表框List1所列字符串中查找左邊與“ca”相匹配的字符串,并在列表框List2中輸出(運行效果如圖所示);否則,在列表框List2中顯示“無篩選結果”. 實現上述功能的VB代碼如下,但加框處代碼有錯,請改正. Dim a(1To 20)As String'用于存儲20個字符串 '將20個字符串分別保存賦值給數組元素a(1)、a(2)、a(3)、a(4)、…、a(19)、a(20),并在列表框List1中顯示 Private Sub Form_Load ( ) '代碼略 End Sub Private Sub Command1_Click ( ) Dim s As String,n As Integer,i As Integer Dim flag As Boolean'變量flag用于標記是否在數組a中篩選到左邊與s匹配的字符串 List2.Clear'篩選時清空上次篩選結果 s=Text1.Text n=Len(s) flag=False For i=1To 20 If =s Then'(1) List2.AddItem a(i) flag=True End If Next i If flag=False Then '(2) End If End Sub.
17.運動會田徑比賽,記分裁判把各賽道運動員的成績表交給錄入員錄入到計算機中,錄入人員編制了如下程序.運行程序,按道次順序依次輸入8個成績,道次號存放在數組a中,相應道次的運動員比賽成績存放于數組b中,并將原始成績顯示在列表框List1中.單擊“成績排序”按鈕(Command1),將原始成績從好到差排序,排序結果顯示在列表框List2中.運行效果如圖所示. 實現上述功能的VB程序如下: (1)請在橫線處填入合適代碼. Dim a(1To 8)As Integer'存儲道次編號 Dim b(1To 8)As Single'存儲運動員成績 Dim num As Integer Private Sub Command1_Click ( ) Dim i As Integer,j As Integer,k As Integer,p As Integer Dim t As Single For i=1To 7 k=i For j=i+1To 8 If
Then k=j End If Next j If k<>i Then p=a(i):a(i)=a(k):a(k)=p t=b(i):b(i)=b(k):b(k)=t End If Next i For i=1To 8 List2.AddItem Str(a(i)) &“道:“& Str(b(i)) Next i End Sub Private Sub Text1_KeyPress(KeyAscii As Integer)'按回車鍵錄入比賽成績 Dim cj As Single If KeyAscii=13Then num=num+1 cj=Val(Text1.Text) If cj>0And num<=8Then a(num)=num
List1.AddItem Str(a(num)) &“道:“& Str(b(num)) Else MsgBox“輸入無效“ End If Text1.Text=““ End If End Sub (2)在Command1_Click