'把下面代碼復制到窗體,添加1個list?和一個command按鈕運行就可以了,和一個文本框,數(shù)據(jù)輸入在文本框里
創(chuàng)新互聯(lián)建站服務項目包括豐順網(wǎng)站建設、豐順網(wǎng)站制作、豐順網(wǎng)頁制作以及豐順網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,豐順網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到豐順省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
Private?Type?English
word?As?String
count?As?Long
End?Type
'判斷是不是英文
Private?Function?En(ByVal?s?As?String)?As?Boolean
If?s?=?""?Then?En?=?False:?Exit?Function
s?=?LCase(s)
For?i?=?1?To?Len(s)
a?=?Asc(Mid(s,?i,?1))
If?a??97?Or?a??122?Then?En?=?False:?Exit?Function
Next
En?=?True
End?Function
'統(tǒng)計數(shù)組內(nèi)各個英文出現(xiàn)次數(shù)
Private?Function?TongJi(ByVal?T_txt?As?String)?As?English()
s?=?Split(T_txt,?"?")
n?=?0
Dim?English()?As?English
ReDim?English(0)
For?i?=?0?To?UBound(s)
If?s(i)??""?And?En(s(i))?=?True?Then
temp?=?False
For?j?=?0?To?UBound(English)
If?English(j).word?=?""?Then
English(j).word?=?s(i):?English(j).count?=?1:?Exit?For
ElseIf?English(j).word?=?s(i)?Then
temp?=?True:?English(j).count?=?English(j).count?+?1:?Exit?For
End?If
Next
If?temp?=?False?Then
ReDim?Preserve?English(n):?English(n).word?=?s(i):??English(n).count?=?1:?n?=?n?+?1
End?If
End?If
Next
TongJi?=?English
End?Function
Private?Sub?Command1_Click()
Dim?e()?As?English
e?=?TongJi(Text1)
Cls
For?i?=?0?To?UBound(e)
If?e(i).count??0?Then?List1.AddItem?e(i).word??"?出現(xiàn)過:?"??e(i).count??"?次"
Next
End?Sub
1.隨機產(chǎn)生英文字母
Randomize() '功 能:初始化隨機數(shù)發(fā)生器
Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))
'Rnd 函數(shù)返回小于 1 但大于或等于 0 的值。
'0 = Rnd() * 26 26 是含小數(shù)位的數(shù)
'Int(Rnd() * 26) 轉(zhuǎn)換為整型,就是0~25的隨機數(shù)
'Asc("a") 得到a的ASCii數(shù)值,是整數(shù)97(A是65)
'a~z的ASCii為97~122 ,即為a~z之間的字母為97加(0~25)
'Asc("a") + Int(Rnd() * 26)為97到122的隨機數(shù)
'Chr()又可以起到轉(zhuǎn)換成字符的功能,Chr(97)表示a (a轉(zhuǎn)換成數(shù)值又是Asc("a")=97)
'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的隨機數(shù)了
Randomize() '再次初始化隨機數(shù)發(fā)生器
Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '這里是A~Z的隨機數(shù)
'也可以換這種寫法
Randomize()
Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '這里是a~z的隨機數(shù)
'這是在你知道ASCII碼的情況之下(a~z為97~122,A~Z為65~90)
'Rnd()為0~0.9999999.....的隨機數(shù)
' 26 * Rnd()為0~25.9999...的隨機數(shù)
'Int((26 * Rnd())為0~25的隨機數(shù)
'Int((26 * Rnd()) + 97)為97~122的隨機數(shù)
'Chr(Int((26 * Rnd()) + 97))就是a~z的隨機數(shù)了
Randomize()
Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機數(shù)
'至于同時在一處隨機大寫或小寫,ASCII碼的數(shù)字又不挨在一起(65-90,97-122),比較麻煩。想寫的話,你可以自己想一下怎么辦
2.數(shù)字怎樣轉(zhuǎn)換成ASCII碼所對應的字母
Chr()函數(shù)將數(shù)字轉(zhuǎn)換成ASCII對應的字母,Asc()函數(shù)將字母根據(jù)ASCII表轉(zhuǎn)換成數(shù)字
Chr(97)表示a (a轉(zhuǎn)換成數(shù)值又是Asc("a")=97)
3.加到數(shù)組,你可以放在一個for循環(huán)里
比如
Dim arylst1 As New ArrayList
Dim arr1() As String '數(shù)組
Dim str1 As String
For i As Integer = 1 To 15 '比如我想要15個隨機字母
Randomize()
str1 = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機數(shù)
arylst1.Add(str1)
Next
ReDim arr1(arylst1.Count - 1) '這里是為了比較動態(tài),可以只改變 i 的范圍來決定要多少個隨機字母
'當然也可以寫死,在前面直接定義為 arr1(14),下次要改的時候就要改定義的地方和i的范圍,改兩個地方
arylst1.CopyTo(arr1)
'就把數(shù)值拷貝到數(shù)組里面了
sub一般情況下是一個英文前綴,有向下的意思,比如subway(地鐵)
submarine(潛水艇)
在計算機中一般是“子……”的意思,比如SubString(子字符串),SubItems(子項)
這兒呢,sub就是指一個“子過程”,一般就簡稱“過程”,面向?qū)ο蟾拍钪幸步小胺椒ā薄?/p>
end
sub標志著子過程的結(jié)束,也就是說在sub與end
sub之間,就是這個子過程的內(nèi)容。
我一開始也是這樣,很迷惑,在使用一段時間后,就基本了解了:
Button1_Click是函數(shù)名,可以隨便改,而Vb6一個字都不能變
sender是System.Object類型的變量,代表控件對象,當此事件對應多個按鈕點擊事件時,就要用sender來區(qū)分,而VB6用控件數(shù)組中的index來區(qū)分
e是System.EventArgs類型的變量,代表一個委托聲明,是包含事件數(shù)據(jù)的類的基類,用于傳遞事件的細節(jié),你暫時不用理會這是什么意思,以后慢慢會了解的
簡單點說就是對象sender導致了某個事件的發(fā)生,事件的內(nèi)容就是(e)
handles是一個委托,相當于由handles后面的參數(shù)間接引發(fā)事件,以你的例子就是Button1的Click事件引發(fā)這個函數(shù)的調(diào)用,你還可以添加別的按鈕甚至別的事件進來:
Private Sub MyExampleClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.DoubleClick, PictureBox1.MouseDown
' Button1單擊事件、Button2雙擊事件、PictureBox1鼠標按下事件共享同一個MyExampleClickEvent過程。