كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - danti - 05-02-23
السلام عليكم ورحمة الله وبركاته
أرجو أن تكون بأتم صحة وعافية..
هل يوجد كود يختصر عليك كتابة الأكواد المتكررة..
مثال.. عندي 20 ليبل وجميعها بنفس الاسم بخلاف تغيير الرقم:-
كود :
If Lbl_S_1.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_2.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_3.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_4.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_5.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_6.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_7.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_8.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_9.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_10.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_11.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_12.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_13.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_14.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_15.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_16.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_17.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_18.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_19.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_20.Text = "8" Then
Txt_MU.Text = "1"
End If
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
هل هناك كود يختصر كل هذه الأكواد المكررة؟
وأيضاً كما في المثال التالي:-
كود :
If Lbl_S_1.Text = "7" Or Lbl_S_1.Text = "9" Or Lbl_S_1.Text = "10" Or Lbl_S_1.Text = "11" Or Lbl_S_1.Text = "12" Then
Txt_ED.Text = "1"
End If
If Lbl_S_2.Text = "7" Or Lbl_S_2.Text = "9" Or Lbl_S_2.Text = "10" Or Lbl_S_2.Text = "11" Or Lbl_S_2.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_3.Text = "7" Or Lbl_S_3.Text = "9" Or Lbl_S_3.Text = "10" Or Lbl_S_3.Text = "11" Or Lbl_S_3.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_4.Text = "7" Or Lbl_S_4.Text = "9" Or Lbl_S_4.Text = "10" Or Lbl_S_4.Text = "11" Or Lbl_S_4.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_5.Text = "7" Or Lbl_S_5.Text = "9" Or Lbl_S_5.Text = "10" Or Lbl_S_5.Text = "11" Or Lbl_S_5.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_6.Text = "7" Or Lbl_S_6.Text = "9" Or Lbl_S_6.Text = "10" Or Lbl_S_6.Text = "11" Or Lbl_S_6.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_7.Text = "7" Or Lbl_S_7.Text = "9" Or Lbl_S_7.Text = "10" Or Lbl_S_7.Text = "11" Or Lbl_S_7.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_8.Text = "7" Or Lbl_S_8.Text = "9" Or Lbl_S_8.Text = "10" Or Lbl_S_8.Text = "11" Or Lbl_S_8.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_9.Text = "7" Or Lbl_S_9.Text = "9" Or Lbl_S_9.Text = "10" Or Lbl_S_9.Text = "11" Or Lbl_S_9.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_10.Text = "7" Or Lbl_S_10.Text = "9" Or Lbl_S_10.Text = "10" Or Lbl_S_10.Text = "11" Or Lbl_S_10.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
لأني سوف أستخدم أكثر من 40 Label
أرجو أن تكون الفكرة وصلت.. كما أعتقد أن هناك حل.. ولكن قلة خبرتي تجعلني أبذل جهداً ووقتاً في البرمجة.
فعلاً كما يقول المثل الشعبي ( أهل العقول في راحه )
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - Taha Okla - 05-02-23
وعليكم السلام ورحمة الله وبركاته
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)
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
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)
البحث عن أكواد مختصرة مضيعة للوقت دامك لا تتقن الأساسيات
الأفضل أن تدخل دورة عبر قناة من قنوات اليوتيوب لتعليم البرمجة من الصفر ..
ستجد فرقاً كبيراً في كل شيء بعد أول شهر ..
وإن كنت لا تملك الوقت لتعلم الأساسيات، فمن الخطأ أن تستمر بهذا المجال..
لأنك ستجد عمرك يضيع على أشياء تافهة، ولن تستطيع أن تنجز أي مشروع يستحق عناءه..
الأساسيات لا تعني (نافذة وزر وتكست وليبل وجدول)
الأساسيات تعني :
1 - تعلم الخوارزميات أولاً - و حل تطبيقات عليها(وهي تقريباً مشتركة في كل لغات البرمجة).
2 - تعلم أساسيات اللغة التي تريد أن تدخل بها(أنواع المجموعات والمتغيرات فيها وطريقة التعريف والتحويل بينها).
3 - تعلم خصائص الكائنات التي سوف تستخدمها في اللغة التي تختار.
4 - تعلم البرامج الجانبية التي ستعتمد عليها جانباً إلى جنب مع اللغة التي تريد أن تعمل بها (برامج الأوفيس(أكسس- أكسل - وورد) - النوتباد - الرسام).
5 - تعلم البرمجة كائنية التوجه (OOP) ، فهي أساس التبسيط والاختصار وستجعل فهم وتطبيق الخوارزميات والمجموعات أبسط بكثير ..
..
..
..
هناك علوم من الخطأ ومضيعة الوقت التعلم بها دون معلم. منها هذا البحر الواسع.
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - AnyDesk - 05-02-23
(05-02-23, 10:22 AM)danti كتب : السلام عليكم ورحمة الله وبركاته
أرجو أن تكون بأتم صحة وعافية..
هل يوجد كود يختصر عليك كتابة الأكواد المتكررة..
مثال.. عندي 20 ليبل وجميعها بنفس الاسم بخلاف تغيير الرقم:-
كود :
If Lbl_S_1.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_2.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_3.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_4.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_5.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_6.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_7.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_8.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_9.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_10.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_11.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_12.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_13.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_14.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_15.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_16.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_17.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_18.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_19.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_20.Text = "8" Then
Txt_MU.Text = "1"
End If
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
هل هناك كود يختصر كل هذه الأكواد المكررة؟
وأيضاً كما في المثال التالي:-
كود :
If Lbl_S_1.Text = "7" Or Lbl_S_1.Text = "9" Or Lbl_S_1.Text = "10" Or Lbl_S_1.Text = "11" Or Lbl_S_1.Text = "12" Then
Txt_ED.Text = "1"
End If
If Lbl_S_2.Text = "7" Or Lbl_S_2.Text = "9" Or Lbl_S_2.Text = "10" Or Lbl_S_2.Text = "11" Or Lbl_S_2.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_3.Text = "7" Or Lbl_S_3.Text = "9" Or Lbl_S_3.Text = "10" Or Lbl_S_3.Text = "11" Or Lbl_S_3.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_4.Text = "7" Or Lbl_S_4.Text = "9" Or Lbl_S_4.Text = "10" Or Lbl_S_4.Text = "11" Or Lbl_S_4.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_5.Text = "7" Or Lbl_S_5.Text = "9" Or Lbl_S_5.Text = "10" Or Lbl_S_5.Text = "11" Or Lbl_S_5.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_6.Text = "7" Or Lbl_S_6.Text = "9" Or Lbl_S_6.Text = "10" Or Lbl_S_6.Text = "11" Or Lbl_S_6.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_7.Text = "7" Or Lbl_S_7.Text = "9" Or Lbl_S_7.Text = "10" Or Lbl_S_7.Text = "11" Or Lbl_S_7.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_8.Text = "7" Or Lbl_S_8.Text = "9" Or Lbl_S_8.Text = "10" Or Lbl_S_8.Text = "11" Or Lbl_S_8.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_9.Text = "7" Or Lbl_S_9.Text = "9" Or Lbl_S_9.Text = "10" Or Lbl_S_9.Text = "11" Or Lbl_S_9.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_10.Text = "7" Or Lbl_S_10.Text = "9" Or Lbl_S_10.Text = "10" Or Lbl_S_10.Text = "11" Or Lbl_S_10.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
لأني سوف أستخدم أكثر من 40 Label
أرجو أن تكون الفكرة وصلت.. كما أعتقد أن هناك حل.. ولكن قلة خبرتي تجعلني أبذل جهداً ووقتاً في البرمجة.
فعلاً كما يقول المثل الشعبي ( أهل العقول في راحه ) 
سؤال قد يفتح لك بابا للتفكير الصحيح
من أين تاتي بالبيانات لتضعها في كل هذه الليبليبليبليبليبلات (جمعLabel)؟
اتمنى انك فهمت المقصود والا ...........!
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - danti - 06-02-23
(05-02-23, 04:45 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته
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)
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)
البحث عن أكواد مختصرة مضيعة للوقت دامك لا تتقن الأساسيات
الأفضل أن تدخل دورة عبر قناة من قنوات اليوتيوب لتعليم البرمجة من الصفر ..
ستجد فرقاً كبيراً في كل شيء بعد أول شهر ..
وإن كنت لا تملك الوقت لتعلم الأساسيات، فمن الخطأ أن تستمر بهذا المجال..
لأنك ستجد عمرك يضيع على أشياء تافهة، ولن تستطيع أن تنجز أي مشروع يستحق عناءه..
الأساسيات لا تعني (نافذة وزر وتكست وليبل وجدول)
الأساسيات تعني :
1 - تعلم الخوارزميات أولاً - و حل تطبيقات عليها(وهي تقريباً مشتركة في كل لغات البرمجة).
2 - تعلم أساسيات اللغة التي تريد أن تدخل بها(أنواع المجموعات والمتغيرات فيها وطريقة التعريف والتحويل بينها).
3 - تعلم خصائص الكائنات التي سوف تستخدمها في اللغة التي تختار.
4 - تعلم البرامج الجانبية التي ستعتمد عليها جانباً إلى جنب مع اللغة التي تريد أن تعمل بها (برامج الأوفيس(أكسس- أكسل - وورد) - النوتباد - الرسام).
5 - تعلم البرمجة كائنية التوجه (OOP) ، فهي أساس التبسيط والاختصار وستجعل فهم وتطبيق الخوارزميات والمجموعات أبسط بكثير ..
..
..
..
هناك علوم من الخطأ ومضيعة الوقت التعلم بها دون معلم. منها هذا البحر الواسع.
شكراً جزيلاً أخي الحبيب على الرد..
وأعتذر عن تأخري لمشاغلي..
نصيحة سوف آخذها بعين الاعتبار إن شاء الله..
فعلاً أنا لست متعلم ولم أتلفى دروس تعليمية فعلية لا على اليوتيوب ولا في الواقع..
ولكن هي هواية وحبي لهذا البرنامج، كما أنني أعمل برامج بسيطة للعمل لتسهيل عملي وعمل زملائي فقط..
شكراً لك مرة أخرى.
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - danti - 06-02-23
(05-02-23, 06:31 PM)AnyDesk كتب : (05-02-23, 10:22 AM)danti كتب : السلام عليكم ورحمة الله وبركاته
أرجو أن تكون بأتم صحة وعافية..
هل يوجد كود يختصر عليك كتابة الأكواد المتكررة..
مثال.. عندي 20 ليبل وجميعها بنفس الاسم بخلاف تغيير الرقم:-
كود :
If Lbl_S_1.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_2.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_3.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_4.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_5.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_6.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_7.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_8.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_9.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_10.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_11.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_12.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_13.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_14.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_15.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_16.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_17.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_18.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_19.Text = "8" Then
Txt_MU.Text = "1"
End If
If Lbl_S_20.Text = "8" Then
Txt_MU.Text = "1"
End If
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
هل هناك كود يختصر كل هذه الأكواد المكررة؟
وأيضاً كما في المثال التالي:-
كود :
If Lbl_S_1.Text = "7" Or Lbl_S_1.Text = "9" Or Lbl_S_1.Text = "10" Or Lbl_S_1.Text = "11" Or Lbl_S_1.Text = "12" Then
Txt_ED.Text = "1"
End If
If Lbl_S_2.Text = "7" Or Lbl_S_2.Text = "9" Or Lbl_S_2.Text = "10" Or Lbl_S_2.Text = "11" Or Lbl_S_2.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_3.Text = "7" Or Lbl_S_3.Text = "9" Or Lbl_S_3.Text = "10" Or Lbl_S_3.Text = "11" Or Lbl_S_3.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_4.Text = "7" Or Lbl_S_4.Text = "9" Or Lbl_S_4.Text = "10" Or Lbl_S_4.Text = "11" Or Lbl_S_4.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_5.Text = "7" Or Lbl_S_5.Text = "9" Or Lbl_S_5.Text = "10" Or Lbl_S_5.Text = "11" Or Lbl_S_5.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_6.Text = "7" Or Lbl_S_6.Text = "9" Or Lbl_S_6.Text = "10" Or Lbl_S_6.Text = "11" Or Lbl_S_6.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_7.Text = "7" Or Lbl_S_7.Text = "9" Or Lbl_S_7.Text = "10" Or Lbl_S_7.Text = "11" Or Lbl_S_7.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_8.Text = "7" Or Lbl_S_8.Text = "9" Or Lbl_S_8.Text = "10" Or Lbl_S_8.Text = "11" Or Lbl_S_8.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_9.Text = "7" Or Lbl_S_9.Text = "9" Or Lbl_S_9.Text = "10" Or Lbl_S_9.Text = "11" Or Lbl_S_9.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
If Lbl_S_10.Text = "7" Or Lbl_S_10.Text = "9" Or Lbl_S_10.Text = "10" Or Lbl_S_10.Text = "11" Or Lbl_S_10.Text = "12" Then
Txt_ED.Text = Val(Txt_ED.Text) + 1
End If
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
لأني سوف أستخدم أكثر من 40 Label
أرجو أن تكون الفكرة وصلت.. كما أعتقد أن هناك حل.. ولكن قلة خبرتي تجعلني أبذل جهداً ووقتاً في البرمجة.
فعلاً كما يقول المثل الشعبي ( أهل العقول في راحه ) 
سؤال قد يفتح لك بابا للتفكير الصحيح
من أين تاتي بالبيانات لتضعها في كل هذه الليبليبليبليبليبلات (جمعLabel)؟
اتمنى انك فهمت المقصود والا ...........!
أخي العزيز شكراً لردك..
أرجو أن لا أكون من (والا.....)
لأني فعلاً لم أفهم ما تقصد..!
هذا برنامج بسيط استخدمه في عملي ليسهل علي التعامل مع زوار المرضى..
2522.jpg - MediaFire
فهذه ال Labels الكثيرة عبارة عن بيانات الزوار والمرضى والأقسام..
2533.jpg - MediaFire
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - danti - 06-02-23
(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: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - Taha Okla - 06-02-23
في السطر :
كود :
Select Case (CType(L, Label)).Text = 8
خطأ :، والصواب :
كود :
Select Case (CType(L, Label)).Text
يعني ما فيه = 8 -- ،، التكملة هذه هي خطأ بسبب سرعة الرد وعدم التحقق من الكود..
الكود الذي اخترعته :
كود :
If (CType(L, Label)).Text = 7 Or 9 Or 10 Or 11 Or 12 Then
لا علاقة له بالبرمجة أبداً ..
لأن هذا الشرط متحقق دوماً (ما دام القيمة في مربع النص هي رقم)
ولا يمكن أن تكون نتيجته إلا متحققه بالتالي سيعمل الكود مابعد الشرط سواء ما تفكر فيه صحيح أو خطأ..
معنى ذاك السطر :
إما التكست تساوي 7 أو هي صحيحة أو هي صحيحة أو هي صحيحة أو هي صحيحة.
أي رقم بعد شرط المساواة تعتبر قيمة صحيحة وليس قيمة الرقم نفسه..
(لا أعرف إن فهمتني هنا -- ولكن بالمختصر : هذا ليس كود برمجي)..
..
بحسب الصور التي عرضتها - ربما أنت بحاجة للتعرف على أداة أسمها (DataGridView)
حاول أن تتعلم عنها .. ربما تجد معها أفكار أفضل في مشروعك ..
RE: كود يختصر الوقت والجهد في كتابة الأكواد المتكررة - danti - 07-02-23
شكراً جزيلاً على رحابة صدرك..
يبدو أنني بحاجة للكثير والكثير من التعلم في هذا المجال..
أشكرك مرة أخرى، وأجزم أنني لست الوحيد الذي استفاد من هذا الموضوع.
|