用法 RndString(xx) xx為隨機數(shù)字長度

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序設計、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了費縣免費建站歡迎大家使用!
比如12位長度的隨機字符串 則為 RndString(12)
字符串包含數(shù)字和大小寫字母,函數(shù)如下:
Function RndString(ByVal l As Integer) As String
Randomize()
Dim R, i As Integer
Dim S As Char
Dim returnStr As String
returnStr = ""
'a-z 的ASCII碼是:97-122
'A-Z 的ASCII碼是:65-90
'0-9 的ASCII碼是:48-57
For i = 1 To l
R = Int(Rnd() * 62) '隨機生成的字符有大小寫字母和數(shù)字,共有26個
If R 10 Then '如果小于10,則是數(shù)字 數(shù)字的ASCII是48-57 對應 隨機數(shù)字 0-9 所以要將隨機數(shù)字加48
S = Chr(R + 48) 'Chr 是將把數(shù)字按Ascii碼轉換為對應的字符
ElseIf R 36 Then '如果小于36,則是大寫字母 大寫字母的ASCII是65-90 對應 隨機數(shù)字10-35 所以要將隨機數(shù)字加55
S = Chr(R + 55)
Else '如果大于36,則是小寫字母 小寫字母的ASCII是97-122 對應 隨機數(shù)字36-62 所以要將隨機數(shù)字加61
S = Chr(R + 61)
End If
returnStr = returnStr + S
Next
RndString = returnStr
End Function
以下代碼在text1里生成100個大寫字母。
Dim a, i As Integer
Dim ch As String
Text1.Text = "" '清空
For i = 1 To 100
a = Rnd() * 25 '生成0~25的隨機整數(shù),實際上VB的隨機數(shù)很差的。如果可能的話,最好自己再寫一個隨機數(shù)生成函數(shù)
ch = Chr(a + 65) '把得出的整數(shù)與大寫字母A的ASCII碼值相加并由ASCII碼表轉換成相應的大寫字母
'如果要小寫的話,就把65改成 97
Text1.Text = Text1.Text ch '添加生成的字母到text1中
Next i
1、大寫字母對應的ASCII碼的范圍是65~89,因此隨機生成65~89之間的數(shù)字,生成對應的大寫字母即可;
2、打開VB6.0,新建一個標準exe工程,界面上新建一個按鈕和一個文本框;
3、按鈕代碼如下:
Private?Sub?Command1_Click()
Text1.Text?=?""
Dim?n?As?Integer
Randomize
n?=?Int(Rnd?*?25)?+?65
Text1.Text?=?Chr(n)
End?Sub
4、運行工程,生成隨機的大寫字母;
1、首先打開VB程序,新建一個工程,如圖所示。
2、這里我們選擇“標準EXE”,單擊“確定”按鈕。
3、該軟件的界面還是比較簡潔的,左邊是常用的工具箱,右邊是相關的屬性欄目。先把我們要制作的軟件命名,如圖,在“caption”后面輸入“隨機選號器”。
4、選擇“commandbutton”工具,在目標區(qū)域用鼠標拖動畫出一個按鈕,在屬性面板輸入按鈕上顯示的文字。步驟如圖中標識所示。
5、用“textbox”工具在合適位置畫出文本框區(qū)域,用來顯示你選號的結果,如圖所示。
6、用鼠標雙擊剛才插入的按鈕,輸入代碼即可。
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim g() As Char = a.ToCharArray
Dim MyRandom As New Random
Dim bs As String = ""
For i = 1 To 20
bs = g(MyRandom.Next(0, g.GetUpperBound(0) + 1))
Next
Dim gs() As String = (From mt As Match In Regex.Matches(bs, "[A-Z]") Select mt.Value).ToArray
System.Array.Sort(gs)
gs = (From mt As Match In Regex.Matches(Join(gs, ""), "([A-Z])\1*") Select mt.Value).ToArray
Dim g_len() As Integer
g_len = (From mt As Match In Regex.Matches(Join(gs, ""), "([A-Z])\1*") Select mt.Length).ToArray ' 使用數(shù)組元素作為計數(shù)器g_len
System.Array.Sort(g_len, gs)
Label1.Text = "出現(xiàn)次數(shù)最多的字母:" gs(gs.GetUpperBound(0)).Substring(0, 1) " 共出現(xiàn)" g_len(g_len.GetUpperBound(0)) "次" vbCrLf "沒有出現(xiàn)的字母是:" Join(a.Split(bs.ToCharArray), "")
End Sub
End Class
說個思路,
1.寫一個字符數(shù)組將所有的字母字符存放起來如
a[52]={a,b,c,d.....z,A,B,C,....Z}
2.用隨機函數(shù)產生器產生一個隨機數(shù)
c#
里面好像是random,可以帶參數(shù),指定產生多大的一個隨機數(shù),這里最大的是51,即每次產生一個從0到51的數(shù),
3.利用隨機數(shù)作為數(shù)組下標得到數(shù)組里對應的字符,OK
這只是產生了一個字母,如果想產生多個隨機字母,則在一個循環(huán)里做2-3步
文章題目:vbnet隨機字母,vb隨機產生大寫字母
瀏覽地址:http://chinadenli.net/article33/dsihdss.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)頁設計公司、App開發(fā)、標簽優(yōu)化、App設計、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)