View Full Version : تولید عدد 6 رقمی
mohammad1314
جمعه 19 آبان 1391, 02:10 صبح
سلام
من در برنامم یک لست باکس دارم و یک کمبو باکس. میخوام به تعداد اسم هام در لیست باکس ، در کمبو باکس عدد های تصادفی 6 رقمی ایجاد بشه . اگه میشه راهنماییم کنین . لطفا بگین کد رو در کدوم کنترل مینویسین.
gilsoft
جمعه 19 آبان 1391, 05: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, 05:55 صبح
سلام.
کافیه تا از Overload مناسب برای اینکار استفاده کنید:
Dim random As New Random()
Dim number As Integer = random.Next(100000, 999999 + 1)
کد فوق به شما عددی در بازه 100000 تا 999999 رو بصورت تصادفی بهتون برمی گردونه. طبیعی است که باید کد فوق رو در حلقه ای اجرا کنید و لیست مورد نظر رو با مقادیر بازگشتی از تابع فوق پر کنید...
موفق باشید.
mohammad1314
جمعه 19 آبان 1391, 06:25 صبح
ممنون از جوابتون . حالا اگه بخوام به تعداد اسم های درون لیست باکس ، در کمبو باکس عدد 6 رقمی تولید شه ، نحوه استفاده از حلقه ی for رو بگین .
(در واقع من کارم رو با vb.net تازگی ها شروع کردم و تجربه ی خاصی ندارم . اگه میشه راهنماییم کنین.)
gilsoft
جمعه 19 آبان 1391, 07: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, 07:44 صبح
ممنون .درست بود . فقط یه مشکل دیگه هست . در زمان اجرای برنامه اگر آیتمی به لیست باکس اضافه شه ، به تعداد رقم های کمبو باکس اضاف نمیشه.
gilsoft
جمعه 19 آبان 1391, 08: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
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.