لتبسيط الحل
أفرض أنه عندك ثلاث شرائح
3 دراهم - من 0 حتى 6.
5 دراهم - أكبر من 6وحتى 12.
8 دراهم - أكبر من 12.
تحتاج الأدوات التالي على النافذة :
Command1 : لنكتب ضمنه الكود.
Text1 : لتكتب فيها كمية الاستهلاك.
List1 : لتعرض لك الشرائح بحسب الكمية
List2 : لتعرض لك الشرائح بحسب السعر.
عند تقسيم الشرائح أبدأ من الشريحة الأعلى حتى الأدنى .. وتابع مع الكود التالي :
كود :
Private Sub Command1_Click()
List1.Clear
List2.Clear
'==========================
Dim vE As Double ' نعرف متغير يعبر عن كمية الاستهلاك
vE = Val(Text1.Text)
If vE <= 0 Then Exit Sub
'===========================
If vE > 12 Then
List1.AddItem (vE - 12) ' نقتص مجموع الشرائح الأدنى والناتج يكون هو الشريحة الأكبر
List2.AddItem (8) ' قيمة تسعير الشريحة الأكبر
vE = 12
End If
If vE > 6 Then
List1.AddItem (vE - 6) ' نقتص قيمة الشرائح الأدنى منها والباقي نعرضه
List2.AddItem (5) ' قيمة الشريحة قبل الأخيرة
vE = 6
End If
If vE > 0 Then
List1.AddItem (vE) 'حجم الشريحة الأولى
List2.AddItem (3) ' قيمة الشريحة الأولى
End If
Dim dValue As Double
For i = 0 To List1.ListCount - 1
dValue = dValue + List1.List(i) * List2.List(i)
Next i
MsgBox "قيمة الاستهلاك" & vbNewLine & dValue & " درهم "
End Sub
فلو كان عندك شريحة رابعة : فعليك إضافتها في البداية بنفس الطريقة التي استخدمناها ..
--
هناك أكواد مختصرة أكثر بكثير من هذه .. ولكن هذه تناسب من كان في البدايات..
ومع كثرة التجريب ستصل لطرق أبسط بكثير.
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».