PDA

View Full Version : تولید عدد 6 رقمی



mohammad1314
جمعه 19 آبان 1391, 01:10 صبح
سلام

من در برنامم یک لست باکس دارم و یک کمبو باکس. میخوام به تعداد اسم هام در لیست باکس ، در کمبو باکس عدد های تصادفی 6 رقمی ایجاد بشه . اگه میشه راهنماییم کنین . لطفا بگین کد رو در کدوم کنترل مینویسین.

gilsoft
جمعه 19 آبان 1391, 04:22 صبح
سلام

من در برنامم یک لست باکس دارم و یک کمبو باکس. میخوام به تعداد اسم هام در لیست باکس ، در کمبو باکس عدد های تصادفی 6 رقمی ایجاد بشه . اگه میشه راهنماییم کنین . لطفا بگین کد رو در کدوم کنترل مینویسین.

سلام دوست عزیز

این کد باید جواب سوالتون باشه :

' Initialize the random-number generator.
Randomize()
' Generate random value between 1 and 6.
Dim value As Integer = CInt(Int((999999 * Rnd()) + 1))
Console.WriteLine(value)

اینم یه روش دیگه :

VBMath.Randomize()
Dim value As Integer = CInt(Int((6 * VBMath.Rnd()) + 1))

موفق باشید

mehdi.mousavi
جمعه 19 آبان 1391, 04:55 صبح
سلام.
کافیه تا از Overload مناسب برای اینکار استفاده کنید:

Dim random As New Random()
Dim number As Integer = random.Next(100000, 999999 + 1)


کد فوق به شما عددی در بازه 100000 تا 999999 رو بصورت تصادفی بهتون برمی گردونه. طبیعی است که باید کد فوق رو در حلقه ای اجرا کنید و لیست مورد نظر رو با مقادیر بازگشتی از تابع فوق پر کنید...

موفق باشید.

mohammad1314
جمعه 19 آبان 1391, 05:25 صبح
ممنون از جوابتون . حالا اگه بخوام به تعداد اسم های درون لیست باکس ، در کمبو باکس عدد 6 رقمی تولید شه ، نحوه استفاده از حلقه ی for رو بگین .
(در واقع من کارم رو با vb.net تازگی ها شروع کردم و تجربه ی خاصی ندارم . اگه میشه راهنماییم کنین.)

gilsoft
جمعه 19 آبان 1391, 06:17 صبح
ممنون از جوابتون . حالا اگه بخوام به تعداد اسم های درون لیست باکس ، در کمبو باکس عدد 6 رقمی تولید شه ، نحوه استفاده از حلقه ی for رو بگین .
(در واقع من کارم رو با vb.net تازگی ها شروع کردم و تجربه ی خاصی ندارم . اگه میشه راهنماییم کنین.)

سلام دوست عزیز

ابتدا یه کنترل ListBox و یه کنترل ComboBox به Form اضافه کن
بعد کد زیر رو داخل فرم کپی کن


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

Dim random As New Random()
For i As Integer = 1 To 10
ListBox1.Items.Add("Item " + ChrW(64 + i))
Next
Dim cnt As Integer = ListBox1.Items.Count

Dim rndA(cnt) As Integer
For i As Integer = 0 To cnt - 1
Dim number As Integer = random.Next(100000, 999999 + 1)
ComboBox1.Items.Add(number)
Next
ComboBox1.SelectedIndex = 0
ListBox1.SelectedIndex = 0
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim Index As Integer = CType(sender, ComboBox).SelectedIndex
ListBox1.SelectedIndex = Index
End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim Index As Integer = CType(sender, ListBox).SelectedIndex
ComboBox1.SelectedIndex = Index
End Sub


حالا برنامه رو اجرا کن و Test کن ...

موفق باشید ...

mohammad1314
جمعه 19 آبان 1391, 06:44 صبح
ممنون .درست بود . فقط یه مشکل دیگه هست . در زمان اجرای برنامه اگر آیتمی به لیست باکس اضافه شه ، به تعداد رقم های کمبو باکس اضاف نمیشه.

gilsoft
جمعه 19 آبان 1391, 07:31 صبح
ممنون .درست بود . فقط یه مشکل دیگه هست . در زمان اجرای برنامه اگر آیتمی به لیست باکس اضافه شه ، به تعداد رقم های کمبو باکس اضاف نمیشه.

دوست من یک Button به Form اضافه کن و خاصیت Text اونو Add Item معرفی کن ..

بعد کدهای زیر رو جایگزین کل کدهای قبلی کن :


Dim random As New Random()
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
For i As Integer = 1 To 10
ListBox1.Items.Add("Item " + ChrW(64 + i))
Dim number As Integer = random.Next(100000, 999999 + 1)
ComboBox1.Items.Add(number)
Next
ComboBox1.SelectedIndex = 0
ListBox1.SelectedIndex = 0
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim Index As Integer = CType(sender, ComboBox).SelectedIndex
ListBox1.SelectedIndex = Index
End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim Index As Integer = CType(sender, ListBox).SelectedIndex
ComboBox1.SelectedIndex = Index
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim cnt As Integer = ListBox1.Items.Count
ListBox1.Items.Add("Item " + ChrW(65 + cnt))
Dim number As Integer = random.Next(100000, 999999 + 1)
ComboBox1.Items.Add(number)
End Sub

موفق باشید