小王利用VB及ACCESS數(shù)據(jù)庫制作了一個解密程序,具體使用過程如下:
在VB項目文件夾目錄中有一個ACCESS數(shù)據(jù)庫文件data.accdb,其中有一張數(shù)據(jù)表如圖1所示ask字段中存放的是密文字符,對應ans字段中存放的是明文字符.
VB程序界面如圖2所示,其中一個按鈕Command1的Caption屬性值設置為“讀取密碼本”,另一個按鈕Command2的Caption屬性值設置為“解密”.程序運行后先點擊Command1,程序?qū)腁CCESS數(shù)據(jù)庫中讀取明文密文對照表并顯示在列表框List1中.然后在密文文本框Texe1中輸入加密文字,點擊Command2解密后的明文將顯示在Text2中.
程序代碼部分如下,請回答后面的問題:
Dim a As String
Dim b As String
Dim length As Integer
Private Sub Command1_Click ( ?。?br />List1.Clear
Dim i As Integer
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString=“provider=microsoft.ace.oledb.12.0;data source=”& App.Path &
“\
①
①
”
conn.Open
rs.ActiveConnection=conn
rs.CursorLocation=adUseClient
rs.Open (“select*from code”)
length=rs.RecordCount
ReDim a(1To length)
ReDim b(1To length)
rs.MoveFirst
For i=1To length
a(i)=rs.Fields(“ask”)
b(i)=rs.Fields(“ans”)
List1.AddItem (a(i)&“+”&b(i))
rs.
②
②
Next i
End Sub
Private Sub Command2_Click ( ?。?br />Text2.Text=“”
Dim s As String
Dim i As Integer
s=Text1.Text
For i=1To Len(s)
Text2.Text=Text2.Text&translate(Mid(s,
③
③
)
Next i
End Sub
Function translate(ask As String) As String
Dim i as Integer
Dim flag as Boolean
i=1
flag=True
Do While i<=length And flag
If a(i)=ask Then
④
④
End If
i=i+1
Loop
If flag=True Then
translate=“”
Else
translate=b(i-1)
End If
End Function
(1)程序代碼①處應該填入
data.accdb
data.accdb
.
(2)程序代碼②處應該填入
MoveNext
MoveNext
.
(3)在程序代碼③處補全Mid函數(shù):
i,1
i,1
.
(4)程序代碼④處應該填入
flag=False
flag=False
.
(5)translate函數(shù)使用的查找算法是
順序查找
順序查找
(填對分查找/順序查找).