07-08-16, 03:09 AM
(آخر تعديل لهذه المشاركة : 07-08-16, 03:20 AM {2} بواسطة silverlight.)
بشكل مبدئي عذرا لكلامي هذا
دعني أصدقك القول انا غالبا عندما أرد علي سؤال لأي عضو انظر الي تصنيفه اولا قبل أن اكتب له الحل ..... لذلك أجد أنه شئ غريب أن يكون تصنيفك في الموقع هو انك عضو مبدع و مع ذلك لا تعلم كيف تستخدم الكود
عموما أن قمت بالتعديل علي الدالة حتي تصلح للإستخدام مع الأرقام و مع الكلمات أو الأسماء
نفذ الخطوات التالية في مشروع منفصل حتي تتضج لك فكرة الكود
افتح مشروع جديد و في الفورم رقم 1 ضع باتون و عدد إثنان Label
انا كتبت لك الحل في الحدث Click الخاص بالباتون الموجود علي سطح الفورم لتوضيح الفكرة لا غير
اكتب الكود كالتالي
وقم بتشغيل و تجربة المشروع و حاول هنا أن تضغط علي الباتون اكثر من مرة و انظر ماذا سيحدث للبيانات الموجودة في كل Label موجود علي سطح الفورم
و اتمني تكون الفكرة وضحت بالنسبة لك
دعني أصدقك القول انا غالبا عندما أرد علي سؤال لأي عضو انظر الي تصنيفه اولا قبل أن اكتب له الحل ..... لذلك أجد أنه شئ غريب أن يكون تصنيفك في الموقع هو انك عضو مبدع و مع ذلك لا تعلم كيف تستخدم الكود
عموما أن قمت بالتعديل علي الدالة حتي تصلح للإستخدام مع الأرقام و مع الكلمات أو الأسماء
نفذ الخطوات التالية في مشروع منفصل حتي تتضج لك فكرة الكود
افتح مشروع جديد و في الفورم رقم 1 ضع باتون و عدد إثنان Label
انا كتبت لك الحل في الحدث Click الخاص بالباتون الموجود علي سطح الفورم لتوضيح الفكرة لا غير
اكتب الكود كالتالي
كود :
Public Class Form1
Private Function Randomize(Of T)(items As List(Of T)) As List(Of T)
Dim result = items
Dim r = New Random()
For i As Integer = items.ToArray.Length To 2 Step -1
Dim j As Integer = r.Next(i)
Dim item = result(j)
result(j) = result(i - 1)
result(i - 1) = item
Next
Return result
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Label1.Text = ""
Label2.Text = ""
' تطبيق للمثال الأول مع الأسماء
Dim names As List(Of String) = New List(Of String) From {"Ahmed", "Mohmed", "Ali", "Mostafa", "Omar", "Basem"}
names = Randomize(Of String)(names)
Me.Label1.Text = names(0)
' تطبيق للمثال الثاني مع الأرقام
Dim numbers As List(Of Integer) = New List(Of Integer) From {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
numbers = Randomize(Of Integer)(numbers)
For i As Integer = 0 To numbers.Count - 1
Dim current As Integer = numbers(i)
Dim s As String = current.ToString
Label2.Text += s
Next
End Sub
End Classوقم بتشغيل و تجربة المشروع و حاول هنا أن تضغط علي الباتون اكثر من مرة و انظر ماذا سيحدث للبيانات الموجودة في كل Label موجود علي سطح الفورم
و اتمني تكون الفكرة وضحت بالنسبة لك

