شباب من فضلكم في برنامج لحساب استهلاك عداد الماء
مثلا لدي شطربن
الشطر الأول : من 0 إلى 6 متر مكعب=3 دراهم
الشطر الثاني : من 7 إلى 12 متر مكعب= 5 دراهم
مثال : إذا استهلكت 9 متر مكعب سيتم فوترة 6 متر مكعب بثمن الشطر الأول(3دراهم) و 3 أمتار مكعبة بثمن الشطر الثاني(5 دراهم)
فيجوال بيسك ٦
لتبسيط الحل
أفرض أنه عندك ثلاث شرائح
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
فلو كان عندك شريحة رابعة : فعليك إضافتها في البداية بنفس الطريقة التي استخدمناها ..
--
هناك أكواد مختصرة أكثر بكثير من هذه .. ولكن هذه تناسب من كان في البدايات..
ومع كثرة التجريب ستصل لطرق أبسط بكثير.
(18-09-24, 06:18 PM)Mohaben88 كتب : [ -> ]شباب من فضلكم في برنامج لحساب استهلاك عداد الماء
مثلا لدي شطربن
الشطر الأول : من 0 إلى 6 متر مكعب=3 دراهم
الشطر الثاني : من 7 إلى 12 متر مكعب= 5 دراهم
مثال : إذا استهلكت 9 متر مكعب سيتم فوترة 6 متر مكعب بثمن الشطر الأول(3دراهم) و 3 أمتار مكعبة بثمن الشطر الثاني(5 دراهم)
فيجوال بيسك ٦
(19-09-24, 02:01 AM)Taha Okla كتب : [ -> ]لتبسيط الحل
أفرض أنه عندك ثلاث شرائح
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) ' قيمة الشريحة الأولى
vE = 6
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
فلو كان عندك شريحة رابعة : فعليك إضافتها في البداية بنفس الطريقة التي استخدمناها ..
--
هناك أكواد مختصرة أكثر بكثير من هذه .. ولكن هذه تناسب من كان في البدايات..
ومع كثرة التجريب ستصل لطرق أبسط بكثير.
مشكور كثير اخي الكريم حفظك الله ورعاك
قمت بكتابة كود لجمع عناصر ليست ١ و ليست٢ في ليست ٣
كيف اقوم بتسجيلها الى قاعدة بيانات