只要在代碼中使用隨機函數(shù)即可實現(xiàn)隨機抽取功能
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為歷城等服務(wù)建站,歷城等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為歷城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、vb隨機數(shù)生成的方法
vb隨機數(shù)生成函數(shù)是 Rnd[(number)],number 參數(shù)為可選項。在調(diào)用 Rnd 生成隨機數(shù)之前,先使用 Randomize 初始化隨機數(shù)生成器來產(chǎn)生種子,該生成器是根據(jù)系統(tǒng)計時器來產(chǎn)生種子的。
1、生成100以內(nèi)的隨機數(shù)
Randomize
Int(Rnd() * 100)//生成 0 - 99 之間的隨機數(shù)
Int(Rnd() * 101)//生成 0 - 100 之間的隨機數(shù)
2、生成指定范圍隨機數(shù)
由于 vb 沒有提供直接生成指定范圍隨機數(shù)的函數(shù),所以要把 Rnd 變通一下,方法如下:
Int((上限 - 下限 + 1) * Rnd + 下限);
把它封裝成可直接調(diào)用的函數(shù)如下:
Function GetRandom(under, over As Integer) As Integer
If under over Then
temp = under;
under = over;
over = temp;
End If
Randomize
GetRandom = Int((under - over + 1) * Rnd + over);
End Function
調(diào)用方法:
GetRandom(10, 100);//生成10到100的隨機數(shù)
二、vb.net生成隨機數(shù)的方法
1、方法:Random.Next(int minValue, int maxValue);
2、說明:
若 minValue 和 maxValue 都沒有提供,則生成一個 0 - 2147483647 之間的隨機數(shù);
若 minValue 和 maxValue 只提供一個,則生成一個 0 - maxValue 之間的隨機數(shù);
若 minValue 和 maxValue 兩個都提供,則生成一個 minValue - maxValue 之間的隨機數(shù);
3、舉例
Dim ran = New System.Random()
ran.Next()//生成 0 - 2147483647 之間的隨機數(shù)
ran.Next(100)//生成 0 - 100 之間的隨機數(shù)
ran.Next(10, 100)//生成 10 - 100 之間的隨機數(shù)
Dim ran = New Random(DateTime.Now.Millisecond)//通過日期的微秒生成隨機數(shù)
是我以前自己設(shè)計的用來測試自己點鈔速度用的,希望是你需要的
以下是窗體的全部代碼
Public?Class?Form1
Dim?StartFlag?As?Boolean?=?False
Dim?secon?As?Integer
Dim?minut?As?Integer
'空格
Private?Sub?Form1_KeyUp(ByVal?sender?As?Object,?ByVal?e?As?System.Windows.Forms.KeyEventArgs)?Handles?Me.KeyUp
If?e.KeyCode?=?Keys.Space?Then
If?StartFlag?Then
StartFlag?=?False
Timer1.Enabled?=?False
If?Val(Strings.Right(Label1.Text,?2))??10?And?Val(Strings.Right(Label1.Text,?2))?=?0?Then?secon?=?0?:?minut?=?0?:?Label1.Text?=?"00:00"?:?Exit?Sub
ListBox1.Items.Add(Label1.Text.ToString)
ListBox1.SelectedItem?=?ListBox1.Items.Count?-?1
Label1.Focus()
Button1.Enabled?=?True
Label1.Text?=?"00:00"
secon?=?0
minut?=?0
Else
StartFlag?=?True
Timer1.Enabled?=?True
End?If
End?If
End?Sub
'加載
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
ListBox1.Items.Clear()
Label1.Text?=?"00:00"
Button1.Enabled?=?False
secon?=?0
minut?=?0
Label1.Focus()
End?Sub
'清空
Private?Sub?Button2_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button2.Click
Button1.Enabled?=?False
ListBox1.Items.Clear()
Label1.Focus()
End?Sub
Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
secon?+=?1
If?secon?=?60?Then
secon?=?0
minut?+=?1
End?If
Dim?seconStr?As?String?=?secon
If?seconStr.Length?=?1?Then?seconStr?=?"0"?+?seconStr
Dim?minutStr?As?String?=?minut
If?minutStr.Length?=?1?Then?minutStr?=?"0"?+?minutStr
Label1.Text?=?minutStr?+?":"?+?seconStr
Label1.Focus()
End?Sub
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?SeconSun?As?Integer
If?ListBox1.Items.Count??0?Then
For?i?=?0?To?ListBox1.Items.Count?-?1
Dim?TemStr?As?String?=?ListBox1.Items.Item(i).ToString
Dim?TemInt1?As?Integer?=?Val(Strings.Right(TemStr,?2))
Dim?TemInt2?As?Integer?=?Val(Strings.Left(TemStr,?2))
Debug.Print(TemInt1.ToString)
Debug.Print(TemInt2.ToString)
SeconSun?+=?TemInt1?+?TemInt2?*?60
Debug.Print(SeconSun.ToString)
Next
TextBox1.Text?=?(SeconSun?/?ListBox1.Items.Count).ToString?+?"秒"
End?If
Label1.Focus()
End?Sub
End?Class
可以實現(xiàn),但是不是用vb.net提供的Timer控件,這個控件精度較低,只能用多線程循環(huán)檢測時間,通過調(diào)用系統(tǒng)函數(shù)Environment.TickCount獲取微秒級的時間:
sub threadloop
dim s as integer '保存上次調(diào)用函數(shù)的時間
do while true
if Environment.TickCount - s = 50 then '隔50微妙調(diào)用一次函數(shù)
s=Environment.TickCount
call xxx '調(diào)用外部函數(shù)
end if
loop
end sub
上面的函數(shù)放在多線程中運行
form 的load事件中加一句:timer1.interval=1000
在一個按鈕里面加入一句觸發(fā)timer事件開始計時的代碼:
timer1.enabled=true
timer的tick事件中加入這么兩句:
textbox1.backcolor=color.red
timer1.enabled=false
本文標題:vb.net微秒 vbnet msdn
標題來源:http://jinyejixie.com/article18/ddcccgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站營銷、搜索引擎優(yōu)化、網(wǎng)站排名、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)