用法 RndString(xx) xx為隨機數字長度
成都創(chuàng)新互聯公司是一家集網站建設,圖木舒克企業(yè)網站建設,圖木舒克品牌網站建設,網站定制,圖木舒克網站建設報價,網絡營銷,網絡優(yōu)化,圖木舒克網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
比如12位長度的隨機字符串 則為 RndString(12)
字符串包含數字和大小寫字母,函數如下:
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) '隨機生成的字符有大小寫字母和數字,共有26個
If R 10 Then '如果小于10,則是數字 數字的ASCII是48-57 對應 隨機數字 0-9 所以要將隨機數字加48
S = Chr(R + 48) 'Chr 是將把數字按Ascii碼轉換為對應的字符
ElseIf R 36 Then '如果小于36,則是大寫字母 大寫字母的ASCII是65-90 對應 隨機數字10-35 所以要將隨機數字加55
S = Chr(R + 55)
Else '如果大于36,則是小寫字母 小寫字母的ASCII是97-122 對應 隨機數字36-62 所以要將隨機數字加61
S = Chr(R + 61)
End If
returnStr = returnStr + S
Next
RndString = returnStr
End Function
1.隨機產生英文字母
Randomize() '功 能:初始化隨機數發(fā)生器
Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))
'Rnd 函數返回小于 1 但大于或等于 0 的值。
'0 = Rnd() * 26 26 是含小數位的數
'Int(Rnd() * 26) 轉換為整型,就是0~25的隨機數
'Asc("a") 得到a的ASCii數值,是整數97(A是65)
'a~z的ASCii為97~122 ,即為a~z之間的字母為97加(0~25)
'Asc("a") + Int(Rnd() * 26)為97到122的隨機數
'Chr()又可以起到轉換成字符的功能,Chr(97)表示a (a轉換成數值又是Asc("a")=97)
'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的隨機數了
Randomize() '再次初始化隨機數發(fā)生器
Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '這里是A~Z的隨機數
'也可以換這種寫法
Randomize()
Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '這里是a~z的隨機數
'這是在你知道ASCII碼的情況之下(a~z為97~122,A~Z為65~90)
'Rnd()為0~0.9999999.....的隨機數
' 26 * Rnd()為0~25.9999...的隨機數
'Int((26 * Rnd())為0~25的隨機數
'Int((26 * Rnd()) + 97)為97~122的隨機數
'Chr(Int((26 * Rnd()) + 97))就是a~z的隨機數了
Randomize()
Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機數
'至于同時在一處隨機大寫或小寫,ASCII碼的數字又不挨在一起(65-90,97-122),比較麻煩。想寫的話,你可以自己想一下怎么辦
2.數字怎樣轉換成ASCII碼所對應的字母
Chr()函數將數字轉換成ASCII對應的字母,Asc()函數將字母根據ASCII表轉換成數字
Chr(97)表示a (a轉換成數值又是Asc("a")=97)
3.加到數組,你可以放在一個for循環(huán)里
比如
Dim arylst1 As New ArrayList
Dim arr1() As String '數組
Dim str1 As String
For i As Integer = 1 To 15 '比如我想要15個隨機字母
Randomize()
str1 = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機數
arylst1.Add(str1)
Next
ReDim arr1(arylst1.Count - 1) '這里是為了比較動態(tài),可以只改變 i 的范圍來決定要多少個隨機字母
'當然也可以寫死,在前面直接定義為 arr1(14),下次要改的時候就要改定義的地方和i的范圍,改兩個地方
arylst1.CopyTo(arr1)
'就把數值拷貝到數組里面了
vb.net編譯出來的exe只有依賴.net
framework才能運行
但有一些第三方工具可以用來把exe用到的assembly和dll打包成一個exe文件,不過這樣的結果就是exe體積非常大
比如.netz工具,它的官方地址:
使用很簡單,比如你的exe文件是a.exe,直接netz
a.exe就可以把a和它用到的.net代碼一起打包成一個exe
先創(chuàng)建一個模板excel文件,然后作為資源放在程序中,先釋放這個文件,然后操作這個文件。