vb.net抽獎程序,vb抽獎程序代碼

vb.net產生隨機數

方法名稱:next();功能描述:返回一個0~2147483647之間的整數

成都創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、成都網站制作、寧遠網絡推廣、重慶小程序開發、寧遠網絡營銷、寧遠企業策劃、寧遠品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯為所有大學生創業者提供寧遠建站搭建服務,24小時服務熱線:18980820575,官方網址:m.kartarina.com

方法名稱:next(i);功能描述:返回一個0~i之間的整數

方法名稱:next(i,j);功能描述:返回一個i~j之間的整數

方法名稱:Nextdouble();功能描述:返回一個0~1之間的隨機小數

================

使用方法:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim rand = New System.Random()

MsgBox(rand.next().ToString())

End Sub

==========================

產生N個不同數的話,我給你個我寫的VB的代碼,你稍微改下:

產生0-10的數:

Private Sub Command1_Click()

Randomize

Dim a(10) As Long

n = 10

For i = 0 To n

a(i) = Int(Rnd() * (n + 1))

For j = 0 To i - 1

If a(i) = a(j) Then

i = i - 1

Exit For

End If

Next

Next

For i = 0 To n

Print a(i)

Next

End Sub

VBNET編寫抽獎軟件程序

先把所有電話名單放在一個List泛型集合中,取出一個就Remove掉一個,這樣就不會重復了。

幾等獎幾個按照你的需求來循環即可。

給文本框添加內容:TextBox1.Text = 字符串

換行用vbCrLf常量表示。

詳細的可以私信

VB.net做一個小程序 求教

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim oleDbConnection1 As OleDb.OleDbConnection

Dim oledbDataAdapter As OleDb.OleDbDataAdapter

Dim oledbData As DataSet = New DataSet

Dim strConnect As String = "Provider= OraOLEDB.Oracle;Data Source=888;User ID=888;Password=888;"

oleDbConnection1 = New System.Data.OleDb.OleDbConnection(strConnect)

Dim strSql As String

strSql = "select *" " from xx"

Dim oledbCommand As OleDb.OleDbCommand

oledbCommand.CommandText = strSql

oledbCommand.CommandType = CommandType.Text

oledbCommand.Connection = oleDbConnection1

oledbDataAdapter.SelectCommand = oledbCommand

oleDbConnection1.Open()

oledbDataAdapter.Fill(oledbData, "gy_bingrenxx")

oleDbConnection1.Close()

'在窗體上添加一個DataGridView控件,在這個位置加一句代碼

DataGridView1.DataSource = oledbDataAdapter.Tables("gy_bingrenxx")

End Sub

請教vb源代碼,抽獎程序,從100個人中抽取三等獎3個,二等獎2個,一等獎1個,每次抽獎不重復。

Public Sub Main()

Dim allLeft As New List(Of Integer)()

For i As Integer = 0 To 99

allLeft.Add(i + 1)

Next

Dim r As New Random()

Dim [next] As Integer

Dim level As String

For i As Integer = 0 To 5

[next] = r.[Next]() Mod allLeft.Count

If i 3 Then

level = "Third"

ElseIf i 5 Then

level = "Second"

Else

level = "First"

End If

Console.WriteLine(level " level prize is: " allLeft([next]).ToString())

allLeft.RemoveAt([next])

Next

End Sub

怎么用VB做一個隨機抽取器?

只要在代碼中使用隨機函數即可實現隨機抽取功能

一、vb隨機數生成的方法

vb隨機數生成函數是 Rnd[(number)],number 參數為可選項。在調用 Rnd 生成隨機數之前,先使用 Randomize 初始化隨機數生成器來產生種子,該生成器是根據系統計時器來產生種子的。

1、生成100以內的隨機數

Randomize

Int(Rnd() * 100)//生成 0 - 99 之間的隨機數

Int(Rnd() * 101)//生成 0 - 100 之間的隨機數

   2、生成指定范圍隨機數

由于 vb 沒有提供直接生成指定范圍隨機數的函數,所以要把 Rnd 變通一下,方法如下:

Int((上限 - 下限 + 1) * Rnd + 下限);

把它封裝成可直接調用的函數如下:

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

調用方法:

GetRandom(10, 100);//生成10到100的隨機數

二、vb.net生成隨機數的方法

1、方法:Random.Next(int minValue, int maxValue);

2、說明:

若 minValue 和 maxValue 都沒有提供,則生成一個 0 - 2147483647 之間的隨機數;

若 minValue 和 maxValue 只提供一個,則生成一個 0 - maxValue 之間的隨機數;

若 minValue 和 maxValue 兩個都提供,則生成一個 minValue - maxValue 之間的隨機數;

3、舉例

Dim ran = New System.Random()

ran.Next()//生成 0 - 2147483647 之間的隨機數

ran.Next(100)//生成 0 - 100 之間的隨機數

ran.Next(10, 100)//生成 10 - 100 之間的隨機數

Dim ran = New Random(DateTime.Now.Millisecond)//通過日期的微秒生成隨機數

什么是多線程技術?在VB 中如何使用?

vb6可以實現多線程,不過比較麻煩,vb.net完全支持多線程,請參見msdn.

至于vb6實現多線程請看CreateThread這個API函數.以下有詳細方案:

用VB寫多線程程序用到的第一個API函數是CreateThread,這個函數的聲明如下:

Private Declare Function CreateThread Lib "kernel32" (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long)As Long

這個函數的返回值是線程的句柄,它的參數含義如下:

1.lpThreadAttributes:這個參數表明函數的返回句柄是否可被子進程繼承,如果可被繼承,則指向一個SECURITY_ATTRIBUTES的結構,否則設為vbnull。

2.dwStackSize:這個參數設置線程的堆棧大小。

3.lpStartAddress:這個參數指明這個線程函數的起始地址。

4.lpParameter:這個參數是傳給線程函數的參數。

5.dwCreationFlags:這個參數設置當線程創建時的初始狀態,掛起,運行等等。

6.lpThreadId:這個參數是待創建線程的ID號。

假設創建一個管理線程的類clsThreads,用類的一個公用函數Initialize來初始化線程,用ResumeThread和SuspendThread函數來激活線程,實現代碼如下:

Private Type udtThread

Handle As Long

Enabled As Boolean

End Type

Private uThread As udtThread

Private Const CREATE_SUSPENDED As Long = H4

Private Declare Function CreateThread Lib "kernel32" (ByVal lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long

Private Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long

Private Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long

Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long

Public Sub Initialize(ByVal lpfnBasFunc As Long) '初始化線程

Dim lStackSize As Long, lCreationFlags As Long, lpThreadId As Long, lNull As Long

On Error Resume Next

lNull = 0 '創建一個空指針

lStackSize = 0 '0表示用exe的stack size

lCreationFlags = CREATE_SUSPENDED '表示初始化后先不激活,讓別人來激活

uThread.Handle = CreateThread(lNull, lStackSize, lpfnBasFunc, lNull, lCreationFlags, lpThreadId)

If uThread.Handle = lNull Then MsgBox "Create thread failed!"

End Sub

Public Property Get Enabled() As Boolean

On Error Resume Next

Enabled = uThread.Enabled

End Property

Public Property Let Enabled(ByVal vNewValue As Boolean)

On Error Resume Next

If vNewValue And (Not uThread.Enabled) Then

ResumeThread uThread.Handle '激活線程

uThread.Enabled = True

ElseIf uThread.Enabled Then

SuspendThread uThread.Handle

uThread.Enabled = False

End If

End Property

Private Sub Class_Terminate() '終止線程

On Error Resume Next

Call TerminateThread(uThread.Handle, 0)

End Sub

以上內容在類模塊clsThreads中,有了它就可以在窗體中實現多線程了。下面以一個簡單的例子來說明如何創建多線程(以2個線程為例)。

在form1中添加picture1和picture2兩個圖片框,以及一個command1按鈕,在工程中添加一個bas模塊,該模塊的代碼如下:

Option Explicit

Private Declare Function GetTickCount Lib "kernel32" () As Long

Public Sub FlickerTop()

Static BgColor As Long

Dim lTick As Long, lCounter As Long

On Error Resume Next

For lCounter = 0 To 60000

BgColor = lCounter Mod 256

Form1.Picture1.BackColor = RGB(BgColor, 0, 0) '變化圖片框的顏色

lTick = GetTickCount

While GetTickCount - lTick 10 '延遲10個毫秒時間

Wend

Next

End Sub

Public Sub FlickerBottom()

Static BgColor As Long

Dim lTick As Long, lCounter As Long

On Error Resume Next

For lCounter = 0 To 60000

BgColor = lCounter Mod 256

Form1.Picture2.BackColor = RGB(0, BgColor, 0)

lTick = GetTickCount

While GetTickCount - lTick 10

Wend

Next

End Sub

最后在form1中用下面的代碼來創建兩個線程,

Option Explicit

Public myThreadTop As New clsThreads, myThreadBottom As New clsThreads

Private Sub Command1_Click()

On Error Resume Next

With myThreadTop

.Initialize AddressOf FlickerTop

.Enabled = True

End With

With myThreadBottom

.Initialize AddressOf FlickerBottom

.Enabled = True

End With

MsgBox "看看會有什么..."

Set myThreadTop = Nothing

Set myThreadBottom = Nothing

End Sub

網頁題目:vb.net抽獎程序,vb抽獎程序代碼
文章路徑:http://m.kartarina.com/article48/heipep.html

成都網站建設公司_創新互聯,為您提供虛擬主機電子商務微信公眾號做網站、全網營銷推廣用戶體驗

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 亚洲国产精品无码专区| 亚洲国产成人精品无码区花野真一| 国产精品无码一区二区在线观| 无码人妻少妇久久中文字幕蜜桃| 无码中文字幕日韩专区视频| 性生交片免费无码看人| 国产av无码久久精品| 亚洲AV无码国产在丝袜线观看| 亚洲熟妇无码一区二区三区| YY111111少妇无码理论片| 亚洲日韩国产AV无码无码精品 | 中文字幕精品无码一区二区三区| 中文字幕丰满乱孑伦无码专区 | 亚洲AV日韩AV永久无码免下载| HEYZO无码中文字幕人妻| 无码专区AAAAAA免费视频| 亚洲av无码成人精品区| 亚洲国产精品无码久久| 国产激情无码一区二区| 精品一区二区三区无码视频| 影音先锋中文无码一区| 无码精品黑人一区二区三区| 久久国产三级无码一区二区| 色综合热无码热国产| 亚洲精品无码久久| 99久久无码一区人妻a黑| 亚洲AV永久无码精品成人| 精品人妻系列无码人妻免费视频| 亚洲精品久久无码| 无码人妻精品一区二区三区久久久| 国精品无码一区二区三区在线| 亚洲av无码不卡私人影院| 国产精品无码无卡无需播放器| 国产AV无码专区亚洲AV蜜芽| 亚洲av无码无线在线观看| 中文字幕av无码无卡免费| 亚洲人av高清无码| 无码无需播放器在线观看| 日韩精品无码成人专区| 2020无码专区人妻系列日韩| 日韩精品无码成人专区|