用vb做一个程序

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:01:07
在text1中输入一篇英文文章,点击按钮,可以统计处文章中个字母所占的比例,就是利用词频方法破解密文

Rem text1和text2在属性窗口设置MultiLine=True和ScrollBars=2

Private Sub Command1_Click()
Dim s As String, t As String
s = Text1
If Len(s) = 0 Then MsgBox "文本框为空!": Exit Sub

Text2 = ""
For i = Asc("a") To Asc("z")
t = Replace(s, Chr(i), "")
Text2 = Text2 & Chr(i) & ":" & Format((Len(s) - Len(t)) / Len(s), "0.0000%") & vbCrLf
Next

For i = Asc("A") To Asc("Z")
t = Replace(s, Chr(i), "")
Text2 = Text2 & Chr(i) & ":" & Format((Len(s) - Len(t)) / Len(s), "0.0000%") & vbCrLf
Next
End Sub

用inStr函数,写个循环。
查到第一次出现的位置后,在以此位置+1向后查找,直到末尾位置,用循环记录下查到的次数就行了。 关于InStr的详细的说明如下:

InStr 函数

返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法

InStr([start, ]string1, string2[, compare])

InStr 函数的语法具有下面的参数:

部分 说明
start 可选参数。为数值表达式,设置每次搜索的起点。