منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف اعمل سحب عشوائي مابين عدة اسماء
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمة الله وبركاته
انا لسه بتعلم في الفيجوال بيسك وكنت عاوز اعمل برنامج سحب عشوائي بين اسماء مش ارقام ودورت كثير ملقتش اللي انا عاوزه
فانا عندي اسماء كثيره جدا يمكن 1000 اسم وعاوز اعمل برنامج لسحب اسم عشوائي منهم باستخدام زر بس بدون ما تبان الاسماء كلها في واجهه البرنامج
ممكن الكود او الطريقه اللي اقدر اوصل بيها لكده ؟ وهل لازم اقعد اكتب الاسماء ولا في مثلا ربطها بمستند نصي وهو ياخذ منها ؟
السلام عليكم ورحمة الله وبركاته


في كل الحالات لابد من وضع الاسماء في مصفوفة
لاختيار رقم عشوائي ستستخدم الدالة المكتبة Random ثم تستخدم الدالة Next التي في داخلها لتحصل على رقم ضمن مجال بين رقمين والتي تحددها بين 0 وعدد الأسماء
الخطوة الأخيرة تأخذ الاسم من المصوفوفة بناء على الرقم العشوائي
هذا مثال

كود :
Dim arrNames As Array = {"عبدالله", "محمد", "خالد"}

Dim rand As New Random
Dim rndIndex As Integer = rand.Next(0, arrNames.Length)
Dim rndName As String = arrNames(rndIndex)

MsgBox(rndName)


إذا كانت الأسماء في ملف نصي txt وكل اسم بسطر فتستطيع قراءتها بالكود ووصعها في المصفوفة بالطريقة التالية

كود :
Dim arrNames As Array = IO.File.ReadAllLines("اسم الملف.txt")



السلام عليكم ورحمة الله وبركاته
كود :
Public Class Form1
   Dim WithEvents NameList As New ListBox

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim lines() As String = IO.File.ReadAllLines("Names Path")
       NameList.Items.AddRange(lines)
       Dim CHName As New Random
       NameList.SelectedIndex = CHName.Next(NameList.Items.Count)
   End Sub
   Private Sub NameL_SelectName() Handles NameList.SelectedIndexChanged
       MsgBox(NameList.Text)
   End Sub
End Class
(26-01-18, 07:41 PM)خالد كتب : [ -> ]السلام عليكم ورحمة الله وبركاته


في كل الحالات لابد من وضع الاسماء في مصفوفة
لاختيار رقم عشوائي ستستخدم الدالة المكتبة Random ثم تستخدم الدالة Next التي في داخلها لتحصل على رقم ضمن مجال بين رقمين والتي تحددها بين 0 وعدد الأسماء
الخطوة الأخيرة تأخذ الاسم من المصوفوفة بناء على الرقم العشوائي
هذا مثال

كود :
Dim arrNames As Array = {"عبدالله", "محمد", "خالد"}

Dim rand As New Random
Dim rndIndex As Integer = rand.Next(0, arrNames.Length)
Dim rndName As String = arrNames(rndIndex)

MsgBox(rndName)


إذا كانت الأسماء في ملف نصي txt وكل اسم بسطر فتستطيع قراءتها بالكود ووصعها في المصفوفة بالطريقة التالية

كود :
Dim arrNames As Array = IO.File.ReadAllLines("اسم الملف.txt")



السلام عليكم ورحمة الله وبركاته

(26-01-18, 08:00 PM)Basil Abdallah كتب : [ -> ]
كود :
Public Class Form1
   Dim WithEvents NameList As New ListBox

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim lines() As String = IO.File.ReadAllLines("Names Path")
       NameList.Items.AddRange(lines)
       Dim CHName As New Random
       NameList.SelectedIndex = CHName.Next(NameList.Items.Count)
   End Sub
   Private Sub NameL_SelectName() Handles NameList.SelectedIndexChanged
       MsgBox(NameList.Text)
   End Sub
End Class
تمام جزاكم الله خير بس ناقص شي واحد وهو اني مش عاوز النتيجه تظهر على شكل msgbox عاوزها تظهر في textbox اكتب في الكود ايه بدل msgbox ?
كود :
Textbox1.text = NameList.Text
(26-01-18, 09:41 PM)Basil Abdallah كتب : [ -> ]
كود :
Textbox1.text = NameList.Text

جزاك الله الف خير
(26-01-18, 09:41 PM)Basil Abdallah كتب : [ -> ]
كود :
Textbox1.text = NameList.Text

اووه ظهرت مشكله جديده للاسف Sad
الملف النصي لازم يكون مع البرنامج علشان يقدر يطلع الاسماء لكن انا عاوزه لوحده عادي ومستحيل اقعد اكتب الاسماء كلها في الكود لانها كثير جدا 
في طريقه ثانيه ؟ مثلا ياخذها من موقع زي Pastepin ?
حسب ما فهمت منك انك ترغب بان تقوم باستخراج الاسماء من ملف نصي يكون بنفس مسار البرنامج
استبدل
كود :
  Dim lines() As String = IO.File.ReadAllLines("Names Path")

بـ
كود :
       Dim lines() As String = IO.File.ReadAllLines(My.Application.Info.DirectoryPath & "\Names.TXT")
مع مراعات استبدال Names.txt باسم الملف النصي و وضع هذا الملف النصي بنفس مسار البرنامج
لا انا كان قصدي انه العكس يعني يستخرج الاسماء بدون الملف النصي يكون مدرج معه يعني يكون البرنامج لوحده بس ويطلع الاسماء عادي
بس انا اتعبتك معي اسف والله
السلام عليكم ورحمة الله وبركاته


أين توجد هذه الأسماء؟


السلام عليكم ورحمة الله وبركاته
الصفحات : 1 2