• السابق التالي







  • يونيو
    17
    دالة الترتيب العشوائي باستعمال الكائن Random
    2012
    كتـب بـواسطة : مهند بندق , التصنيف : دروس في البرمجة , عدد المشاهدات (3477)

    في رسالة بريدية من أحد الزوار استفسار عن كيفية الترتيب العشوائي لمجموعة من الادوات , وهذا الموضوع محاولة للإجابة عن ذلك الاستفسار .. سأتطرق هنا لعملية ترتيب القيم أو اختيار القيم بشكل عشوائي ثم تطبيق أو استعمال هذه القيم لعرضها بشكل مناسب أمام المستخدم ..

    في .Net Framework توجد Class  تسمى Random تستعمل في هذا الغرض وطريقة استعمالها بسيط جدا

    أولا تعريف منها كائن جديد

    C#

    Random Rand = new Random();

    VB

    Dim Rand As New Random

     

    بعد ذلك نقوم باستدعاء الدالة Next مع تحديد النطاق بإسناد القيمة القصوى أو القيمة الابتدائية والقيمة النهائية لتعود برقم عشوائي من ضمن النطاق المحدد..

    C#

    int ThisValue = Rand.Next(1,10);

    VB

    Dim ThisValue As Integer = Rand.Next(1, 10)

     

    ولكن كيف نستفيد من ذلك مثلا في ترتيب الارقام من 1 إلى 9 بشكل عشوائي , بالطبع سنحتاج إلى حافظة نحفظ فيها الارقام التي قمنا باختيارها بشكل عشوائي لتخزينها وأيضا سنحرص على عدم تكرار نفس القيمة في تلك الحافظة..

    سنقوم بتعريف قائمة من نوع  Integer أو  Int.

    C#

    List<int> MyList = new List<int>();

    VB

    Dim MyList As New List(Of Integer)

     

    ثم نقوم بتعريف كائن Random , ونقوم بعمل حلقة تكرارية باستعمال While ونضع شرط الحلقة عدد عناصر القائمة لا يزيد عن 9 ثم دخل الحلقة سنقوم باختيار رقم بشكل عشوائي ثم معرفة هل هو موجود في القائمة MyList وفي حالة عدم تواجده نقوم بإضافته لتلك القائمة.. كما في الكود التالي :

     

    C#

    while (MyList.Count < 9)

    {

    int ThisValue = Rand.Next(1,10);

    if (!MyList.Contains(ThisValue))

    {

    MyList.Add(ThisValue);

    }

    }

     

    VB

    While MyList.Count < 9

    Dim ThisValue As Integer = Rand.Next(1, 10)

    If Not MyList.Contains(ThisValue) Then

    MyList.Add(ThisValue)

    End If

    End While

     

    هكذا سنتحصل على قائمة تحتوي على الأعداد من 1 إلى 9 مرتبة بشكل عشوائي.. ونستطيع توسيع المثال قليلا لإنشاء Buttons تحتوي على هذه الاعداد وموضوعة في أداة FlowLayoutPanel وذلك بوضعها على الفورم وتسميتها MyPanel .. ثم عمل حلقة تدور حول كل عناصر القائمة وانشاء كائن Button جديد في كل دورة وإضافة القيمة الحالية في الدورة كنص لتلك الـ Button ثم إضافتها إلى MyPanel

    C#

    foreach (int i in MyList)

    {

    Button MyButt = new Button();

    MyButt.Size = new Size(45, 37);

    MyButt.Text = i.ToString();

    MyPanel.Controls.Add(MyButt);

    }

     

    VB

    For Each i As Integer In MyList

    Dim MyButt As New Button()

    MyButt.Size = New Size(45, 37)

    MyButt.Text = i.ToString()

    MyPanel.Controls.Add(MyButt)

    Next

     

    لكي نحصل على ازرار تمثل أرقام مبعثرة.. كما في الصورة.



    بعد معرفة عملية الترتيب العشوائي تستطيع أن تطبقها بطرق مختلفة تعتمد على مدى سعة خيالك.

    المثال السابق بلغتي C# و VB تستطيع تحميله من هنا.

    أتمنى أن تكون هذه التدوينة مفيدة .. نلتقي في مواضيع أخرى إلى ذلك الحين تقبلوا مني أطيب التحيات..

    مهند بندق.

     
    التعليقات (3)
    بواسطة عيد حمزة من مصر 2 اغسطس 2012

    بارك الله فيك على المعلومات الجميلة القيمة وجزاك الله خيرا


    بواسطة فتحي من السودان 18 يوليو 2013

    رمضان كريم عليكم معلوماتكم مفيدة جداً الله يجعلها في ميزان حسناتكم ويجعلكم من الذين كتب الله لهم العتق من النار في هذا الشهر الكرم


    بواسطة مهند بندق من ليبيا 22 يوليو 2013

    السلام عليكم

    كل الشكر للمتابعين عيد حمزة وفتحي.. تقبلوا مني خالص التحية






           
    الإسم
    الدولة
    البريد الإلكتروني
    المحتوى  
    أكتب النص الظاهر في الصورة
     


    فبراير
    15
    إنشاء نوع خاص من البيانات و الملفات Object Serialization عن طريق C#.Net
    2011
    كتـب بـواسطة : مهند بندق , التصنيف : دروس في البرمجة , عدد المشاهدات (6670)
    هذا الدرس مكمل إلى حد ما بموضوع الملفات و المجلدات حيث سنقوم بإنشاء نوع خاص بنا من البيانات وذلك بتكوين Class نقوم بهندسة بنيتها بدقة لحفظ القيم التي نود تخزينها فيما بعد على هيئة ملف لا يستطيع أي برنامج قراءته إلا برنامجك, بشكل أوضح نقوم بحفظ الكائن أو الفئة الخاصة بنا على هيئة ملف أو أي Stream باختلاف وسيط التخزين..
     


    يناير
    26
    إضافة اوامر إلى قوائم ويندوز عن طريق الرجيستري
    2011
    كتـب بـواسطة : مهند بندق , التصنيف : دروس في البرمجة , عدد المشاهدات (2293)
    كمبرمج ستحتاج في بعض انواع مشاريعك إلى إضافة اوامر إلى القائمة المنبثقة التي تظهر عند النقر بزر الماوس الايمن على نوع معين من الملفات او كل انواع الملفات وأحيانا عند النقر على سطح المكتب, وجدت صفحة على موقع ميكروسوفت...
     


     
    الصفحات : [1] [2] [3] [4] [5]



    حقوق النشر محفوظة لـ مهند بندق © 2009 - 2018
    Programmed And Designed By : Mohaned Bondoq
    Copyright © 2009 - 2018