只要在代碼中使用隨機(jī)函數(shù)即可實(shí)現(xiàn)隨機(jī)抽取功能
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為歷城等服務(wù)建站,歷城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為歷城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、vb隨機(jī)數(shù)生成的方法
vb隨機(jī)數(shù)生成函數(shù)是 Rnd[(number)],number 參數(shù)為可選項(xiàng)。在調(diào)用 Rnd 生成隨機(jī)數(shù)之前,先使用 Randomize 初始化隨機(jī)數(shù)生成器來產(chǎn)生種子,該生成器是根據(jù)系統(tǒng)計(jì)時(shí)器來產(chǎn)生種子的。
1、生成100以內(nèi)的隨機(jī)數(shù)
Randomize
Int(Rnd() * 100)//生成 0 - 99 之間的隨機(jī)數(shù)
Int(Rnd() * 101)//生成 0 - 100 之間的隨機(jī)數(shù)
2、生成指定范圍隨機(jī)數(shù)
由于 vb 沒有提供直接生成指定范圍隨機(jī)數(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的隨機(jī)數(shù)
二、vb.net生成隨機(jī)數(shù)的方法
1、方法:Random.Next(int minValue, int maxValue);
2、說明:
若 minValue 和 maxValue 都沒有提供,則生成一個(gè) 0 - 2147483647 之間的隨機(jī)數(shù);
若 minValue 和 maxValue 只提供一個(gè),則生成一個(gè) 0 - maxValue 之間的隨機(jī)數(shù);
若 minValue 和 maxValue 兩個(gè)都提供,則生成一個(gè) minValue - maxValue 之間的隨機(jī)數(shù);
3、舉例
Dim ran = New System.Random()
ran.Next()//生成 0 - 2147483647 之間的隨機(jī)數(shù)
ran.Next(100)//生成 0 - 100 之間的隨機(jī)數(shù)
ran.Next(10, 100)//生成 10 - 100 之間的隨機(jī)數(shù)
Dim ran = New Random(DateTime.Now.Millisecond)//通過日期的微秒生成隨機(jī)數(shù)
是我以前自己設(shè)計(jì)的用來測(cè)試自己點(diǎn)鈔速度用的,希望是你需要的
以下是窗體的全部代碼
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
可以實(shí)現(xiàn),但是不是用vb.net提供的Timer控件,這個(gè)控件精度較低,只能用多線程循環(huán)檢測(cè)時(shí)間,通過調(diào)用系統(tǒng)函數(shù)Environment.TickCount獲取微秒級(jí)的時(shí)間:
sub threadloop
dim s as integer '保存上次調(diào)用函數(shù)的時(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ù)放在多線程中運(yùn)行
form 的load事件中加一句:timer1.interval=1000
在一個(gè)按鈕里面加入一句觸發(fā)timer事件開始計(jì)時(shí)的代碼:
timer1.enabled=true
timer的tick事件中加入這么兩句:
textbox1.backcolor=color.red
timer1.enabled=false
本文標(biāo)題:vb.net微秒 vbnet msdn
標(biāo)題來源:http://vcdvsql.cn/article18/ddcccgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站營(yíng)銷、搜索引擎優(yōu)化、網(wǎng)站排名、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)