تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كود يختصر الوقت والجهد في كتابة الأكواد المتكررة
#6
(05-02-23, 04:45 PM)Taha Okla كتب : [quote pid='190214' dateline='1675601121']
وعليكم السلام ورحمة الله وبركاته
1 - 

كود :
For Each L As Control In Me.Controls
   If TypeOf (L) Is Label Then
       If Mid(L.Name, 1, 6) = "Lbl_S_" Then
           If (CType(L, Label)).Text = 8 Then
               Txt_MU.Text = 1
           Else
               'Txt_MU.Text = 2
           End If
       End If
   End If
Next

Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)

هذا الكود يعمل بشكل ممتاز بعد أن عدلت   Txt_MU.Text = 1

لتصبح:-
Txt_MU.Text = Val(Txt_MU.Text) + 1

=======

ولكن هذا الكود بالأسفل لم أفهمه..
2 - 

كود :
For Each L As Control In Me.Controls
   If TypeOf (L) Is Label Then
       If Mid(L.Name, 1, 6) = "Lbl_S_" Then
           Select Case (CType(L, Label)).Text = 8
               Case 7, 9, 10, 11, 12
                   Txt_ED.Text = Val(Txt_ED.Text) + 1
           End Select
       End If
   End If
Next

Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)

[/quote]

رقم 8 هو خاص بالكود الذي بالأعلى

أريد مكان الرقم 8 الأرقام (  7, 9, 10, 11, 12 )
بحيث إذا كان
 ( 7, 9, 10, 11, 12 ) = Label.Text
فـ
 Txt_ED.Text = Val(Txt_ED.Text) + 1

للتوضيح:-
الكود الذي بالأعلى يخص القسم ( 8 ) في المستشفى

وهذا الكود يخص الأقسام (  7, 9, 10, 11, 12 )

جزاكم الله خيراً
وأعتذر إذا كنت قد ثقلت عليكم

استخدمت هذا الكود:-

كود :
For Each L As Control In Me.Controls
           If TypeOf (L) Is Label Then
               If Mid(L.Name, 1, 6) = "Lbl_S_" Then
                   If (CType(L, Label)).Text = 7 Or 9 Or 10 Or 11 Or 12 Then
                     
                       Txt_NF.Text = Val(Txt_NF.Text) + 1
                     
                   End If
               End If
           End If
       Next
       Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)

استغنيت عن جملة Case

ولكن المشكلة يعطيني ضعف الناتج..

مثلاً:-

كود :
       Lbl_S_1.Text = "7"
       Lbl_S_3.Text = "9"
       Lbl_S_7.Text = "12"

من المفترض ان يكون الناتج = 3

ولكن يضاعفها فتصبح = 6

أعلم أن خبرتي قليلة جداً إن لم تكن معدومة، فتحملوني واعذروني..
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - بواسطة danti - 06-02-23, 10:58 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  يا شباب حدا بيعرف كتابة الحرف Ş في الفيجوال بيسك6 kulilk16 3 3,292 21-11-12, 12:43 PM
آخر رد: kulilk16

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


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