14-05-19, 02:30 AM
(14-05-19, 01:02 AM)elgokr كتب :وعليكم السلام ورحمة الله وبركاته
اتعجب لكل من ستخدم Sub أو Functionبالطريقة كما لو انه يقوم بتنفيذ كود بداخل حدث
الـ Sub و Function هو اراحية او توفير ضغط وجهدحيث لديم كود يكتب 10 او 100 او حتى 1000000 مرةفبمجرد كتابته مرة واحدة يتم استدعائه حسب ما تريد
ويتم ذلك من خلال تمييز القيم والمتغيرات بمعرف يتم ارسال وقد التنفيذولتوضح الفكرة اكثر انظر هنا فهذا الـ Function
الكود الذى ستستخدمه بدلاً من 40 Function الذى لديك هو
كود :
Private Function CountNumber(Num As Integer, CLo As Color)
If conn.State <> ConnectionState.Open Then conn.Open()
Using cmd As New SQLiteCommand("SELECT cqz FROM DBqsos WHERE cqz=@cqz ", conn)
cmd.Parameters.AddWithValue("@cqz", Num.ToString("00"))
If Not IsDBNull(cmd.ExecuteScalar()) Then
Controls(String.Format("Label{0}", Num)).BackColor = CLo
Controls(String.Format("Label{0}", Num)).Font = New Font(Controls(String.Format("Label{0}", Num)).Font, FontStyle.Bold)
End If
End Using
Return False
End Function
وفقط عند الاستدعاء سيتم كالتالى
كود :
CountNumber(2, Color.Blue)
حيث رقم 2 هو قيمة المطلوب البحث عنهاوهو نفسه رقم الـ Label لديك فى الفورمطيب انا عايز ابحث عن رقم 5 واذا وجد يقوم بتغيير لون Label5 الى لون احمر
فسيتم تنفيذ الكود بهذا الشكل
كود :
CountNumber(5, Color.Red)
طيب محتاج ابحث عن رقم 1000 ويقوم بتغير لون الـ Label1000انت ملاحظ انا بقول 1000 مش بس 40 يعنى مهما كان العددوكان المطلوب ان يكون اللون فضي عند الايجاد
فقط طبق الكود التالى
كود :
CountNumber(1000, Color.Silver)
انظر كيف ان الامر ابسط واسهل مما تتخيلوانك لا تحتاج الى تكرار الـ Function لـ 1000 مرة بعدد الـ Labelلكي يتوافق معك عدداً وكذلك تتمكن من وضع لون لكل رقم تقوم بالبحث عليه
اتمنى ان يكون الكود بسيطولا يوجد به اى متاهة لفهمه
تحياتى لكوتمنياتى لك التوفيق
تسلم استاذي الكريم
دائما مبدع
انا قمت بتجربت الكود
في القاعده عندي رقم
05
واضفت كود الاستدعاء
كود :
Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CountNumber(1, Color.Blue)
CountNumber(2, Color.Blue)
CountNumber(3, Color.Blue)
CountNumber(4, Color.Blue)
CountNumber(5, Color.Blue)
End Subالان يجب الررقم 5 يتغير لونه فقط
بس كل الارقام تغير لونهم
للعلم ال Label عندي ارقامهم كذا
Label1
Label2
Label3
Label4
Label5
Label6
Label7
Label8
Label9
Label10
Label11
وهكذا
اعذرني اذا فهمتك غلط
وشكرا لك من جديد استاذي الكريم

