'词频统计程序 2
'2019-01-17
' VB6 程序 编译 成功
Private Sub Command5_Click()
N = 3
Print N
f_Yuan = mp + "02.txt"
f_Out_N = mp + "02_3.txt"
Call ZhengLi_N_ZiCi(f_Yuan, f_Out_N, N)
Call PaiXu
Call WriteCiShu(mp + "02_3_p.txt")
f_Yuan = mp + "02_3_p.txt"
f_Out = mp + "02_3_p2.txt"
Call DanCiQuChong(f_Yuan, f_Out)
Call ReadCiShu(mp + "02_3_p2.txt")
Call PaiXu
Call WriteCiShu(mp + "02_3_p3.txt")
End Sub
Private Sub Command6_Click()
N = 3
For ii = 2 To 12
N = ii
Print N
Form1.Caption = N
sn = Mid(Str(N), 2, 3)
f_Yuan = mp + "02.txt"
f_Out_N = mp + "02_" + sn + ".txt"
Call ZhengLi_N_ZiCi(f_Yuan, f_Out_N, N)
Call PaiXu
Call WriteCiShu(mp + "02_" + sn + "_p.txt")
f_Yuan = mp + "02_" + sn + "_p.txt"
f_Out = mp + "02_" + sn + "_p2.txt"
Call DanCiQuChong(f_Yuan, f_Out)
Call ReadCiShu(mp + "02_" + sn + "_p2.txt")
Call PaiXu
Call WriteCiShu(mp + "p\02_" + sn + "_p3.txt")
Next ii
End Sub
Private Sub Form_Load()
mp = "C:\vb\a53\cp\"
End Sub
' 以下为 cp1.bas 文件
Public mp
Public c(10000) '词空间
Public j
Sub DanCiQuChong(f_Yuan, f_Out) '单词 去重复
'Cls
Open f_Out For Output As 2
Open f_Yuan For Input As 1
u = ""
ul = 0
While Not EOF(1)
Input #1, e
If u = e Then
'u = e
'ul = ul + 1
Else
'Print u, ul
nn = 5
ull = Len(u)
s = Mid(Str(ul), 2, 9)
ull = Len(s)
For q = 1 To nn - ull
s = "0" + s
Next q
Print #2, "@" + s + "@" + u
u = ""
ul = 0
End If
u = e
ul = ul + 1
'Print #2, e + "@" + Mid(Str(ul), 2, 9)
'Print #2, e + "@" + ul
Wend
Close 1
Close 2
End Sub
Sub ZhengLi_N_ZiCi(f_Yuan, f_Out_N, N)
Open f_Out_N For Output As 2
Open f_Yuan For Input As 1 '整理 2 字词
j = 0
While Not EOF(1)
Input #1, e
el = Len(Trim(e))
If el > 2 Then
'Print e
For i = 1 To el - 1
e2 = Mid(e, i, N)
c(j) = e2
Print #2, e2, Str(j)
j = j + 1
Next i
End If
Wend
Close 1
Close 2
End Sub
Sub ReadCiShu(FileName) '取文件 词数
Open FileName For Input As 1
j = 0
While Not EOF(1)
Input #1, e
c(j) = e
j = j + 1
Wend
Close 1
'Close 2
Form1.Print j
'Print j '排序
End Sub
Sub PaiXu()
Form1.Print j '排序
For i = 1 To j - 1
For k = 1 To j - i
If c(k) >= c(k + 1) Then
t = c(k + 1)
c(k + 1) = c(k)
c(k) = t
End If
Next k
Next i
End Sub
Sub WriteCiShu(FileName)
Open FileName For Output As 2 '写入文件 词
For i = 1 To j
'Print c(i)
Print #2, c(i) ', Str(i)
Next i
Close 2
End Sub