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







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

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

    في .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

    السلام عليكم

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






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


    يونيو
    2
    صدور نسخة Release Preview لنظام التشغيل Windows 8
    2012
    كتـب بـواسطة : Mohaned-B , التصنيف : أخبار وشروحات , عدد المشاهدات (1394)
    أصدرت شركة ميكروسوفت مؤخرا النسخة Release Candidate أي كما أسمتها في Windows 8 بـ Release Preview وتعد هذه النسخة ما قبل النهائية , يذكر أن ميكروسوفت استعملت في هذا الويندوز نوع جديد من سطح المكتب إضافة إلى سطح المكتب الكلاسيكي يشبه "واجهة ميترو"..
     


    مايو
    17
    من أرواع اسطوانات الصيانة Active@ Boot Disk
    2012
    كتـب بـواسطة : مهند بندق , التصنيف : أخبار وشروحات , عدد المشاهدات (1541)
    لمن لا يعرف قرص الصيانة الرائع Active@ Boot Disk الذي يحتوي على مجمل أدوات الصيانة من تقسيم للهارد ديسك, مسح الهارد ديسك و الوصول الى بياناته , حذف فهرس الملفات المحذوفة حتى لا يتمكن أحد من استرجاعها, كسر كلمة مرور أي مستخدم في حالة وجود نظام تشغيل Windows XP أو Vista أو حتى Windows 7 و Windows Server بكل إصداراته ..
     





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