تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تصحيح كود بارك الله فيكم
#1
السلام عليككم وررحمة الله

عندي فوررم عباره عن ارقام

Label1
Label2
Label3

وهكذا

   

اريد اعمل بحث في قاعد البيانات عن الارقام اذا حصل مثلا رررقم 03 يغير لون الرقم الى اللون الاحمر مثلا

جربت عدة طرق بس ما نفع

هذا الكود الي عندي

كود :
Private Function COUNT04() As Integer
       If conn.State <> ConnectionState.Open Then conn.Open()
       Using cmd4 As New SQLiteCommand("SELECT cqz FROM DBqsos WHERE cqz='04' ", conn)

           Dim queryResult = cmd4.ExecuteScalar()
           If IsDBNull(queryResult) Then
           Else
               rrr5 = Convert.ToInt32(cmd4.ExecuteScalar())
               Label4.BackColor = Color.Red
               Label4.Font = New Font(Label4.Font, FontStyle.Bold)
           End If
           Return rrr5
       End Using
   End Function





   Private Function COUNT05() As Integer

       Using cmd5 As New SQLiteCommand("SELECT COUNT(*) FROM DBqsos WHERE cqz='05'", conn)
           If conn.State <> ConnectionState.Open Then conn.Open()
           Dim queryResult = cmd5.ExecuteScalar()
           If IsDBNull(queryResult) Then
           Else
               rrr5 = Convert.ToInt32(cmd5.ExecuteScalar())
               Label5.BackColor = Color.Red
               Label5.Font = New Font(Label5.Font, FontStyle.Bold)
           End If
           Return rrr5
       End Using
   End Function


كود :
Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load

       COUNT01()
       COUNT02()
       COUNT03()
       COUNT04()
       COUNT05()
       COUNT06()
       COUNT07()
       COUNT08()
       COUNT09()
       COUNT10()
       COUNT11()
       COUNT12()
       COUNT13()
       COUNT14()
       COUNT15()
       COUNT16()
       COUNT17()
       COUNT18()
       COUNT19()
       COUNT20()
       COUNT21()
       COUNT22()
       COUNT23()
       COUNT24()
       COUNT25()
       COUNT26()
       COUNT27()
       COUNT28()
       COUNT29()
       COUNT30()
       COUNT31()
       COUNT32()
       COUNT33()
       COUNT34()
       COUNT35()
       COUNT36()
       COUNT37()
       COUNT38()
       COUNT39()
       COUNT40()

   End Sub


بس مع الاسف لا يعمل الكود

ما هيه الطريقه الصحيحه لكود بارك الله فيكم

وشكررا
الرد
تم الشكر بواسطة:
#2
اهلا بك اخي خالد ،
اتمنى ان تكون بخير
وردتني فكرة حول نتائج البحث ان يتم سردها في قائمة ليست بوكس 
حيث يمكنك تحرير الاندكس المراد متى ما شئت و كيفما اردت 
كما يمكنك التقليص من كتابة الكود و استدعاء ذلك الكم الهائل من البروسيجرس
استوقفتني الفكرة الجميلة هنا في هذا الرابط ...
SystemColors.HighlightText
والله اعلم 
ربما يكون لديك مغزى اخر او يأتينا احدهم بطريقة افضل 
بالتوفيق
الرد
تم الشكر بواسطة: dubai.eig , حريف برمجة
#3
(13-05-19, 10:09 PM)Amir_Alzubidy كتب : اهلا بك اخي خالد ،
اتمنى ان تكون بخير
وردتني فكرة حول نتائج البحث ان يتم سردها في قائمة ليست بوكس 
حيث يمكنك تحرير الاندكس المراد متى ما شئت و كيفما اردت 
كما يمكنك التقليص من كتابة الكود و استدعاء ذلك الكم الهائل من البروسيجرس
استوقفتني الفكرة الجميلة هنا في هذا الرابط ...
SystemColors.HighlightText
والله اعلم 
ربما يكون لديك مغزى اخر او يأتينا احدهم بطريقة افضل 
بالتوفيق

اهلا بك استاذي كل عام وانت بالف خير

الفكره بارك الله فيك

ان يقوم بالبحث في قاعدة البيانات عن الررقم واذا حصله يغير لونه

الاررقام من 1 الى 40

مثل ما واضح لك فوق

صحيح الكود كبيرر انا عامل لكل ررقم استعلام 

بس ما اعرف الطريقه الصحيحه كيف بتكون 

شكرا لك من جديد
الرد
تم الشكر بواسطة:
#4
اختصار للكود

إذا كانت الليبلات ليست على الفورم مباشرة قد تحتاج لتغيير كلمة Me الموجودة في Me.Controls
PHP كود :
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load

        For i 
1 To 40
            CheckCQZ
(i.ToString("00"))
 
       Next
    End Sub

    Private Sub CheckCQZ
(cqz As String)

 
       Dim lbl As Label
        lbl 
Me.Controls(String.Format("Label{0}"Val(cqz)))

 
       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"cqz)
 
           Dim queryResult cmd.ExecuteScalar()

 
           If Not IsDBNull(cmd.ExecuteScalar()) Then
                lbl
.BackColor Color.Red
                lbl
.Font = New Font(lbl.FontFontStyle.Bold)

 
           Else
                lbl
.BackColor Nothing
                lbl
.Font = New Font(lbl.FontFontStyle.Regular)

 
           End If

 
       End Using
    End Sub 
الرد
تم الشكر بواسطة: dubai.eig
#5
(13-05-19, 10:45 PM)ﺣﺮﯾﻒ ﺑﺮﻣﺠﺔ كتب :
اختصار للكود

إذا كانت الليبلات ليست على الفورم مباشرة قد تحتاج لتغيير كلمة Me الموجودة في Me.Controls
PHP كود :
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load[/align]
 
       For i 1 To 40
            CheckCQZ
(i.ToString("00"))
 
       Next
    End Sub

    Private Sub CheckCQZ
(cqz As String)

 
       Dim lbl As Label
        lbl 
Me.Controls(String.Format("Label{0}"Val(cqz)))

 
       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"cqz)
 
           Dim queryResult cmd.ExecuteScalar()

 
           If Not IsDBNull(cmd.ExecuteScalar()) Then
                lbl
.BackColor Color.Red
                lbl
.Font = New Font(lbl.FontFontStyle.Bold)

 
           Else
                lbl
.BackColor Nothing
                lbl
.Font = New Font(lbl.FontFontStyle.Regular)

 
           End If

 
       End Using
    End Sub 


تسلم استاذي 

قمت بتجربة الكود

ططلع لي غلط

   
الرد
تم الشكر بواسطة:
#6
وعليكم السلام ورحمة الله وبركاته

اتعجب لكل من ستخدم 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
لكي يتوافق معك عدداً وكذلك تتمكن من وضع لون لكل رقم تقوم بالبحث عليه

اتمنى ان يكون الكود بسيط
ولا يوجد به اى متاهة لفهمه

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: asemshahen5 , dubai.eig
#7
(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

وهكذا


اعذرني اذا فهمتك غلط 

وشكرا لك من جديد استاذي الكريم
الرد
تم الشكر بواسطة:
#8
لا ابداً المشكلة فقط فى هذا السطر
كود :
       If Not IsDBNull(cmd.ExecuteScalar()) Then


على اى حال انا قمت بتعديل كود الـ Function
فقط احذف ما لديك واستبدله بالتالى
كود :
   Private Function CountNumber(Num As Integer, CLo As Color)
       If conn.State <> ConnectionState.Open Then conn.Open()
       Dim cmd As New SQLiteCommand("SELECT cqz FROM DBqsos WHERE cqz=@cqz ", conn)
       cmd.Parameters.AddWithValue("@cqz", Num.ToString("00"))
       Dim sqLReader As SQLiteDataReader = cmd.ExecuteReader()
       If sqLReader.Read() 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
       Return False
   End Function

وسيعمل معك ان شاء الله هذه المرة بدون مشكلة

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: dubai.eig , dubai.eig , asemshahen5
#9
(14-05-19, 12:47 PM)elgokr كتب : لا ابداً المشكلة فقط فى هذا السطر
كود :
       If Not IsDBNull(cmd.ExecuteScalar()) Then


على اى حال انا قمت بتعديل كود الـ Function
فقط احذف ما لديك واستبدله بالتالى
كود :
   Private Function CountNumber(Num As Integer, CLo As Color)
       If conn.State <> ConnectionState.Open Then conn.Open()
       Dim cmd As New SQLiteCommand("SELECT cqz FROM DBqsos WHERE cqz=@cqz ", conn)
       cmd.Parameters.AddWithValue("@cqz", Num.ToString("00"))
       Dim sqLReader As SQLiteDataReader = cmd.ExecuteReader()
       If sqLReader.Read() 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
       Return False
   End Function

وسيعمل معك ان شاء الله هذه المرة بدون مشكلة

تحياتى لك
وتمنياتى لك التوفيق



نعم استاذي كل شي على ما يرام بارك الله فيك

تسلم ايدك مجهود تشكر عليه  Rolleyes
الرد
تم الشكر بواسطة: asemshahen5
#10
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة جزاكم الله خير fouadhdfouad 1 66 08-05-19, 10:57 PM
آخر رد: ابراهيم ايبو
  [VB.NET] مساعده في تصحيح كود sent number dubai.eig 7 115 20-04-19, 11:34 AM
آخر رد: elgokr
  [VB.NET] [تم الحل] يرجى المساعده في تصحيح الكود dubai.eig 8 167 10-04-19, 01:54 AM
آخر رد: dubai.eig
  [VB.NET] تصحيح الاستعلام التالي محمد اسماعيل 6 149 20-03-19, 07:39 PM
آخر رد: محمد اسماعيل
  [VB.NET] مساعده في تصحيح الكود dubai.eig 4 204 20-02-19, 05:48 PM
آخر رد: elgokr
  مطلوب معاينة المثال والمساعدة في تعديل الكود وفقكم الله فراس الغزي 8 336 29-01-19, 10:43 PM
آخر رد: فراس الغزي
  [سؤال] السلام عليكم ورحمة الله وبركاته . محتاج كود عدم فتح اكثر من فورم داخل الفورم الرئيسي abu.hanen4u 3 257 20-12-18, 10:59 PM
آخر رد: elgokr
  [سؤال] ارجو المساعدة في تصحيح هذا الكود لزر الحفظ gharib 0 210 19-10-18, 12:39 PM
آخر رد: gharib
  مساعدة جزاكم الله كل خير fouadhdfouad 2 271 21-09-18, 01:55 PM
آخر رد: fouadhdfouad
  ارجو تصحيح الكود التالي bidaya 1 267 30-06-18, 09:24 PM
آخر رد: elgokr

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم