vb.net微秒 vbnet msdn

怎么用VB做一個(gè)隨機(jī)抽取器?

只要在代碼中使用隨機(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ù)

用VB.NET設(shè)計(jì)一個(gè)以秒為基本單位的表,并且顯示在窗體上的步驟,并且給出關(guān)鍵代碼

是我以前自己設(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

高精度計(jì)時(shí)器

可以實(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)行

VB.net 如何設(shè)定準(zhǔn)確的1秒時(shí)間?

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://bm7419.com/article18/ddcccgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站做網(wǎng)站、網(wǎ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)

成都網(wǎng)站建設(shè)公司