• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

السندبااد

اعضاء
  • عدد المشاركات

    358
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

19 عادي

عن السندبااد

  • الرتبة
    عضو فعال
  • تاريخ الميلاد 02/11/1980

طرق الإتصال

  • ICQ 0

معلومات الملف الشخصي

  • الجنس ذكر
  • الدولة : سوريـــ حلب ــا
  • اهتمامات مطالعة الكتب الفكرية، والبرمجة بالفيجوال.
    وجعلت قرة عيني في الصلاة، وصديق عمري كتاب الله القرآن الكريم.
    لا أحب لعن الظلام بل أشعل شمعة وسط الظلام الدامس..

أحدث الزائرين لملفلك الشخصي

8,819 زياره للملف الشخصي
  1. السلام عليكم ورحمة الله وبركاته من يرغب بتصميم برنامج للمبيعات أو الحسابات والفواتير وغيرها من المسابقات والاختبارات والبرامج المكتبية والإسلامية فأنا على استعداد إن شاء الله لتلبية طلبه صفحة أعمالي على الإنترنت : http://www.shhada.net/downloads.php?action=listdownloads&id=5   للتواصل : 00963933975654 أو [email protected]   تحياتي لكم
  2. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ، وبعد : أقدم لكم أيها الأحباب درساً فلاشياً بعنوان: شرح تحديث برنامجك من الإنترنت في تقنية WPF أشرح من خلاله كيفية عمل تحديث لبرنامجك برمجياً وبأسهل الاكواد أشكر كل من استفدت منه من قريب أو بعيد ولا أستغني عن ملاحظاتكم وتعقيباتكم وآمل أن ينال الدرس إعجابكم وتقديركم   لتحميل الشرح الفلاشي مع سورس المثال بتقنية WPF تفضل بالنقر هنا لو تكرمت سنة هجرية مباركة علينا وعليكم ولا تنسونا من صالح دعاءكم      
  3. خطا بالبرنامج

    وعليكم السلام ورحمة الله وبركاته هذا القسم مخصص للفيجوال بيسك 6
  4. وعليكم السلام ورحمة الله وبركاته المنتدى مليء بالأمثلة ولكن عليك البحث
  5. == خطأ عملية حسابية ==

    وعليكم السلام ورحمة الله وبركاته الحل هو استبدال الفاصلة أثناء العملية الحسابية ، تفضل الكود : Text3.Text = Val(Replace(Text1.Text, ",", ".")) + Val(Replace(Text2.Text, ",", ".")) لا تنسانا من دعاءك
  6. ألف شكر لجميع الإخوة المثال بالمرفقات الانتقال لمربع النص الثاني.rar
  7. وعليكم السلام ورحمة الله وبركاته الشكر لمرورك الكريم أستاذي الحبيب حياك الله
  8. المصدر : http://shhada.net/articles.php?action=show&id=16http://shhada.net/articles.php?action=show&id=17
  9. بسم الله الرحمن الرحيم كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) إعداد وشرح : شحادة بشير السلام عليكم ورحمة الله وبركاته وأفضل الصلاة وأتم التسليم على سيدنا محمد وعلى آله وصحبه أجمعين ، وبعد : {وَأَقِيمُوا الصَّلَاةَ وَآتُوا الزَّكَاةَ وَمَا تُقَدِّمُوا لِأَنْفُسِكُمْ مِنْ خَيْرٍ تَجِدُوهُ عِنْدَ اللَّهِ إِنَّ اللَّهَ بِمَا تَعْمَلُونَ بَصِيرٌ} [البقرة : 110]  أقدم لكم اليوم درساً فريداً أشرح من خلاله فقهياً وبرمجياً كيفية صياغة خوارزميات حساب الزكاة للأموال التي تجب فيها الزكاة في الشريعة الإسلامية ، وقد أطلقت على هذه السلسلة مصطلح (فقه برمجية) ربطاً مني للفقه بالبرمجة وإن شاء الله يكون هذا نافذةً لدروسٍ أخرى سواءً لي أو لغيري من الإخوة المبرمجين في المجال ذاته. بداية هنالك نقاطٌ لا بد من أخذها بعين الاعتبار ، وهي : 1-   يجب أن يكون لديك إلمامٌ بسيط بإحدى لغات البرمجة ، علماً أنني سأشرح الخوارزميات بلغة الفيجوال بيسك. 2- خلافات الفقهاء سنحاول صياغتها برمجياً بطريقةٍ علميةٍ ذكيةٍ بحيث يفهم البرنامج النقاط التي يتفق فيها الفقهاء والنقاط التي يختلفون فيها ، فيجمع آراء المتفقين ويفرّق بين آراء المختلفين كما سنشاهد إن شاء الله تعالى في زكاة النقدين وزكاة حساب المال وغيرهما. 3-   سنستخدم إن شاء الله مصطلحاتٍ معاصرةٍ يفهمها الفقيه والمبرمج وبالتالي يسهل على الاثنين فهم الخوارزميات والآراء. 4- النِّصاب : هو مقدار المال الذي لا تجب الزكاة في أقلٍ منه ، وهو يختلف باختلاف أجناس الأموال الزكوية كما سيمر معنا إن شاء الله. الأموال التي تجب فيها الزكاة : زكاة بهيمة الأنعام : الإبل – البقر – الغنم زكاة النقدين (الذهب والفضة) : زكاة الذهب – زكاة الفضة زكاة الأموال وعُرُوض التجارة : حسب الذهب – حسب الفضة – حسب أقل النصابين زكاة الزروع والثمار : زكاة العسل زكاة الكنز والرِّكَاز أولاً : زكاة بهيمة الأنعام : بهيمة الأنعام هي : الإبل والبقر والغنم. والأنعام التي تجب فيها الزكاة هي : الأول – الإبل : نصاب الإبل : اختلف العلماء في نصاب الإبل على رأيين : # مذهب الجمهور (الشافيعة والحنابلة والمالكية) : من 1 - 4 لا شيء فيها. If Trim(TxtAnimal.Text) < 5 Then    LblResultAnimal.Caption = "لا يتوجب عليك إخراج شيءٍ ، فالحد الأدنى لنصاب زكاة الإبل هو : 5 رؤوس"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن الحد الأدنى لزكاة الإبل في الشريعة الإسلامية هو 5 رؤوس ، وعدد رؤوس إبلك لم يبلغ ذلك الحد ، لذا لا يتوجب عليك إخراج أي شيءٍ."    Exit Sub End If TxtAnimal.Text ترمز للمربع الذي وضعت فيه عدد رؤوس الإبل التي تمتلكها. LblResultAnimal.Caption يرمز لمربع النتيجة التي ستخرج. TxtExplicationlAnimal.Text يرمز لمربع شرح النتيجة. من 5 - 9 فيها شاةٌ واحدةٌ. If TxtAnimal.Text < 10 And TxtAnimal.Text > 4 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "شاة واحدة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 5 إلى 9 فتجب فيها شاة واحدة فقط." End If من 10 - 14 فيها شاتان. نفس الكود السابق مع تعديل الأرقام فقط. من 15 - 19 فيها 3 شياهٍ. نفس الكود السابق مع تعديل الأرقام فقط. من 20 - 24 فيها 4 شياهٍ. نفس الكود السابق مع تعديل الأرقام فقط. من 25 - 35 فيها بنتُ مخاضٍ (أي لها سنةٌ ودخلت في الثانية ، سميت بذلك لأن أمها غالباً تكون مَخاضاً أي حاملاً). نفس الكود السابق مع تعديل الأرقام فقط. من 36 - 45 فيها بنتُ لبونٍ (أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً). نفس الكود السابق مع تعديل الأرقام فقط. من 46 - 60 فيها حِقّةٌ (أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل). نفس الكود السابق مع تعديل الأرقام فقط. من 61 - 75 فيها جَذَعةٌ (أي أتمت أربع سنواتٍ ودخلت في الخامسة). نفس الكود السابق مع تعديل الأرقام فقط. من 76 - 90 فيها بنتا لبون. نفس الكود السابق مع تعديل الأرقام فقط. من 91 - 120 فيها حِقّتان. نفس الكود السابق مع تعديل الأرقام فقط. إذن إلى هنا الأمر سهلٌ برمجياً كما شاهدنا ، ولكن قال الجمهور : إذا زاد الرقم عن ذلك ففي كل 40 بنت لبونٍ ، وفي كل 50 حِقّةٌ ، وهنا بيت القصيد : يجب أن نأخذ الرقم وهذا الرقم يجب أن نعرف كم 40 يوجد فيه أو كم 50 يوجد فيه أو كم 50 وكم 40 يوجد فيه ؟! إذن هنالك عدة احتمالات. وهنا يجب أن نصيغ خوارزمية تقوم بعمليتين ، هما : 1- جعل الرقم قابلاً للقسمة على عشرة ؛ لأن العلماء تسامحوا في الوقص ، والوقص : هو الرقم الموجود بين فريضتين ؛ مثلاً : الرقم 235 موجود بين 230 و 240 فيأخذ حكم الرقم 230 ، وبما أن الجمهور قالوا : إذا زاد الرقم عن ذلك ففي كل 40 بنت لبونٍ ، وفي كل 50 حِقّةٌ فمنطقياً يجب أن يكون قابلاً للقسمة على عشرة. 'تعريف متغير لوضع عدد رؤوس الإبل فيه بعد جعلها قابلة للقسمة على عشرة Dim LeftOver As String LblResultAnimal.Caption = "" LeftOver = (TxtAnimal.Text Mod 10) LeftOver = TxtAnimal.Text - LeftOver 2- هذه الخوارزمية يجب أن تكون فيها احتمالات ، وهي : - إذا كان عدد الرؤوس يقبل القسمة على 40 دون باقٍ أو على 50 دون باقٍ فنحن مخيرون بما نخرجه ؛ مثلاً : شخصٌ عنده 200 رأس من الإبل ، كما نلاحظ فإن العدد 200 يقبل القسمة على 40 ويقبل كذلك القسمة على 50 ، فنقول له : عليك أن تخرج 5 بنات لبون أو 4 حِقاق. If LeftOver Mod 40 = 0 And LeftOver Mod 50 = 0 Then    LblResultAnimal = "يتوجب عليك إخراج : " & LeftOver / 40 & " بنت لبون" & " أو " & LeftOver / 50 & " حِقّة"    TxtExplicationlAnimal.Text = "تجري مذاهب الجمهور في زكاة الإبل حسب حالتك هذه : في كل 40 منها يتوجب عليك إخراج بنت لبون ، وفي كل 50 منها يتوجب عليك إخراج حِقّة ، وعدد رؤوس البقر عندك تنطبق عليه الحالتان." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." End If - إذا كان عدد الرؤوس يقبل القسمة على 40 فقط دون باقٍ ، فالخارج يجب أن يكون من بنات لبون ؛ مثلاً : شخصٌ عنده 160 رأساً من الإبل ، كما نلاحظ فإن العدد 160 يقبل القسمة على 40 ولا يقبل القسمة على 50 ، في هذه الحالة نقول له : عليك أن تخرج 4 بنات لبون. If LeftOver Mod 40 = 0 Then    LblResultAnimal = "يتوجب عليك إخراج : " & Int(LeftOver / 40) & " بنت لبون"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 40 منها يتوجب عليك إخراج بنت لبون." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." End If - إذا كان عدد الرؤوس يقبل القسمة على 50 فقط دون باقٍ ، فالخارج يجب أن يكون من حِقاق ؛ مثلاً : شخصٌ عنده 150 رأساً من الإبل ، كما نلاحظ فإن العدد 150 يقبل القسمة على 50 ولا يقبل القسمة على 40 ، في هذه الحالة نقول له : عليك أن تخرج 3 حِقاق. If LeftOver Mod 50 = 0 Then    LblResultAnimal = "يتوجب عليك إخراج : " & Int(LeftOver / 50) & " حِقّة"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 50 منها يتوجب عليك إخراج حِقّة." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." End If - إذا كان عدد الرؤوس لا يقبل القسمة لا على 40 ولا على 50 ولكن مجموعه يحتوي على أربعين واحدة وخمسين واحدة أو على أربعين واحدة وعدة خمسينات أو بالعكس أي يحتوي على خمسين واحدة وعدة أربعينات ، أو يحوي عدة أربعينات وعدة خمسينات ، وهنا يجب أن نقوم ببرمجة حلقة نضع فيها متغير تزداد قيمته في كل دورة. ولنأخذ مثالاً افتراضياً : شخصٌ عنده عدد رؤوس من الإبل تبلغ 270 رأساً ، كم زكاة إبله ؟ الجواب هو : 3 بنات لبونٍ و 3 حِقاقٍ ، ولكن كيف عرفنا ؟ الجواب : عن طريق حلقةٍ برمجيةٍ تقوم بالآتي : 'متغير يمثل عدد مرات دوران الحلقة   Dim s As Integer   'قيمة المتغير البدائية صفر   s = 0   Do      'في كل دورة سنضيف للمتغير واحداً      s = s + 1      'نأخذ عدد الرؤوس ثم نطرح منه 40 مضروبة بالمتغير الذي ستكون قيمته واحداً أول دورة      'الناتج نقسمه على 50 فإن كان الباقي صفراً نعطيه النتيجة وإلا ننزل للشرط الثاني      If (LeftOver - (40 * s)) Mod 50 = 0 Then         LblResultAnimal = "يتوجب عليك إخراج : " & s & " بنت لبون" & " و " & Int((LeftOver - (40 * s)) / 50) & " حِقّة"         Exit Do      'الشرط الثاني : نأخذ عدد الرؤوس ثم نطرح منه 50 مضروبة بالمتغير الذي ستكون قيمته واحداً أول دورة      'الناتج نقسمه على 40 فإن كان الباقي صفراً نعطيه النتيجة وإلا سندور دورة ثانية      'وفي الدورة الثانية ستصبح قيمة المتغير اثنان وهكذا      ElseIf (LeftOver - (50 * s)) Mod 40 = 0 Then         LblResultAnimal = "يتوجب عليك إخراج : " & Int((LeftOver - (50 * s)) / 40) & " بنت لبون" & " و " & s & " حِقّة"         Exit Do      End If   Loop Until LblResultAnimal <> ""   TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 40 منها يتوجب عليك إخراج بنت لبون ، وفي كل 50 منها يتوجب عليك إخراج حِقّة." & vbNewLine & _   "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." & vbNewLine & _   "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." وهذا هو الكود النهائي والكامل لزكاة الإبل حسب مذهب الجمهور : 'زكاة الإبل عند الجمهور Dim LeftOver As String LblResultAnimal.Caption = "" LeftOver = (TxtAnimal.Text Mod 10) LeftOver = TxtAnimal.Text - LeftOver 'إِذَا زَادَتْ عَلَى عِشْرِينَ وَمِائَةٍ فَفِي كُل أَرْبَعِينَ بِنْتُ لَبُونٍ ، وَفِي كُل خَمْسِينَ حِقَّةٌ 'بنت مخاض: لها سنة ودخلت في الثانية 'بنت لبون: أتمت سنتين ودخلت في الثالثة 'حِقّة: أتمت ثلاث سنين ودخلت في الرابعة 'جَذَعة:  أتمت أربع سنين ودخلت في الخامسة If Trim(TxtAnimal.Text) < 5 Then    LblResultAnimal.Caption = "لا يتوجب عليك إخراج شيءٍ ، فالحد الأدنى لنصاب زكاة الإبل هو : 5 رؤوس"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن الحد الأدنى لزكاة الإبل في الشريعة الإسلامية هو 5 رؤوس ، وعدد رؤوس إبلك لم يبلغ ذلك الحد ، لذا لا يتوجب عليك إخراج أي شيءٍ."    Exit Sub End If If TxtAnimal.Text < 10 And TxtAnimal.Text > 4 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "شاة واحدة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 5 إلى 9 فتجب فيها شاة واحدة فقط." ElseIf TxtAnimal.Text >= 10 And TxtAnimal.Text < 15 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "شاتين"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 10 إلى 14 فتجب فيها شاتان فقط." ElseIf TxtAnimal.Text >= 15 And TxtAnimal.Text < 20 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "ثلاث شياه"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 15 إلى 19 فتجب فيها ثلاث شياهٍ فقط." ElseIf TxtAnimal.Text >= 20 And TxtAnimal.Text < 25 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "أربع شياه"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 20 إلى 24 فتجب فيها أربع شياهٍ فقط." ElseIf TxtAnimal.Text >= 25 And TxtAnimal.Text < 36 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "بنت مخاض"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 25 إلى 35 فتجب فيها بنت مخاض." & vbNewLine & _    "# بنت مخاض : أي لها سنة ودخلت في الثانية ، سميت بذلك لأن أمها غالباً تكون مَخاضاً أي حاملاً." ElseIf TxtAnimal.Text >= 36 And TxtAnimal.Text < 46 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "بنت لبون "    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 36 إلى 45 فتجب فيها بنت لبون." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." ElseIf TxtAnimal.Text >= 46 And TxtAnimal.Text < 61 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقّة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 46 إلى 60 فتجب فيها حِقّة." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 61 And TxtAnimal.Text < 76 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "جَذَعة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 61 إلى 75 فتجب فيها جَذَعة." & vbNewLine & _    "# جَذَعة : أي أتمت أربع سنواتٍ ودخلت في الخامسة." ElseIf TxtAnimal.Text >= 76 And TxtAnimal.Text < 91 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "بنتا لبون"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 76 إلى 90 فتجب فيها بنتا لبون." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." ElseIf TxtAnimal.Text >= 91 And TxtAnimal.Text < 121 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 91 إلى 120 فتجب فيها حِقتان." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf LeftOver Mod 40 = 0 And LeftOver Mod 50 = 0 Then    LblResultAnimal = "يتوجب عليك إخراج : " & LeftOver / 40 & " بنت لبون" & " أو " & LeftOver / 50 & " حِقّة"    TxtExplicationlAnimal.Text = "تجري مذاهب الجمهور في زكاة الإبل حسب حالتك هذه : في كل 40 منها يتوجب عليك إخراج بنت لبون ، وفي كل 50 منها يتوجب عليك إخراج حِقّة ، وعدد رؤوس البقر عندك تنطبق عليه الحالتان." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf LeftOver Mod 40 = 0 Then    LblResultAnimal = "يتوجب عليك إخراج : " & Int(LeftOver / 40) & " بنت لبون"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 40 منها يتوجب عليك إخراج بنت لبون." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." ElseIf LeftOver Mod 50 = 0 Then    LblResultAnimal = "يتوجب عليك إخراج : " & Int(LeftOver / 50) & " حِقّة"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 50 منها يتوجب عليك إخراج حِقّة." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." Else   'متغير يمثل عدد مرات دوران الحلقة   Dim s As Integer   'قيمة المتغير البدائية صفر   s = 0   Do      'في كل دورة سنضيف للمتغير واحداً      s = s + 1      'نأخذ عدد الرؤوس ثم نطرح منه 40 مضروبة بالمتغير الذي ستكون قيمته واحداً أول دورة      'الناتج نقسمه على 50 فإن كان الباقي صفراً نعطيه النتيجة وإلا ننزل للشرط الثاني      If (LeftOver - (40 * s)) Mod 50 = 0 Then         LblResultAnimal = "يتوجب عليك إخراج : " & s & " بنت لبون" & " و " & Int((LeftOver - (40 * s)) / 50) & " حِقّة"         Exit Do      'الشرط الثاني : نأخذ عدد الرؤوس ثم نطرح منه 50 مضروبة بالمتغير الذي ستكون قيمته واحداً أول دورة      'الناتج نقسمه على 40 فإن كان الباقي صفراً نعطيه النتيجة وإلا سندور دورة ثانية      'وفي الدورة الثانية ستصبح قيمة المتغير اثنان وهكذا      ElseIf (LeftOver - (50 * s)) Mod 40 = 0 Then         LblResultAnimal = "يتوجب عليك إخراج : " & Int((LeftOver - (50 * s)) / 40) & " بنت لبون" & " و " & s & " حِقّة"         Exit Do      End If   Loop Until LblResultAnimal <> ""   TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 40 منها يتوجب عليك إخراج بنت لبون ، وفي كل 50 منها يتوجب عليك إخراج حِقّة." & vbNewLine & _   "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." & vbNewLine & _   "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." End If # مذهب الحنفية : الحنفية اتفقوا مع الجمهور في النصاب من أوله إلى 120 رأساً ، ولكنهم اختلفوا معهم فيما بعد 120 رأساً. وقد رأينا سابقاً مذهب الجمهور بأنه إذا زاد الرقم عن ذلك ففي كل 40 بنت لبونٍ ، وفي كل 50 حِقّةٌ. أما الحنفية فذهبوا إلى أن الفريضة تستأنف بعد 120 ، ففي كل خمسٍ مما زاد عليها شاةٌ بالإضافة إلى الحِقّتين ، فإن بلغ الزّائد ما فيه بنتُ مخاضٍ أو بنتُ لبونٍ وجبت إلى أن يبلغ الزائد ما فيه حِقّةٌ فتجب. قد يقول قائل : هذا الكلام الفقهي غير واضحٍ وخاصةً بالنسبة للمبرمج !!.. هذا صحيحٌ ، لذا دعوني أشرح لكم قول الحنفية من الناحية العلمية والبرمجية : الحنفية قصدوا بأن عدد رؤوس الإبل إذا كان أكثر من 120 فإننا نأخذ عن كل خمسين حِقّةٌ ، ثم ننظر إلى الباقي إن كان هنالك باقٍ : - فإذا كان أقل من 25 فتجب في كل 5 رؤوس شاة وفي 10 رؤوس شاتان وفي 15 رأساً ثلاث شياهٍ وفي 20 رأساً أربع شياهٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك. - وإذا كان أكبر من 24 وأصغر من 36 فتجب فيه بنت مخاضٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك. - وإذا كان أكبر من 35 وأصغر من 46 فتجب فيه بنت لبونٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك. - وإذا كان أكبر من 45 وأصغر من 50 فتجب فيه حِقّة تضاف للحِقاق المتوجبة عليك. وإليك بعض الأمثلة حسب رأي الحنفية فيما زاد على 120 رأساً : ^ شخصٌ عنده 220 رأساً من الإبل : زكاته هي : أربع حِقاقٍ وأربع شياهٍ. (220 / 50 = 4 حِقاقٍ. الباقي من القسمة 20 فيها أربعة شياهٍ). ^ شخصٌ عنده 325 رأساً من الإبل : زكاته هي : ست حِقاقٍ وبنت مخاضٍ. (325 / 50 = 6 حِقاقٍ. الباقي من القسمة 25 فيه بنت مخاضٍ.) ^ شخصٌ عنده 295 رأساً من الإبل : زكاته هي : خمس حِقاقٍ وبنت لبونٍ. (295 / 50 = 5 حِقاقٍ. الباقي من القسمة 45 فيه بنت لبونٍ). ^ شخصٌ عنده 296 رأساً من الإبل : زكاته هي : ست حِقاقٍ. (296 / 50 = 5 حِقاقٍ. الباقي من القسمة 46 وفيه حِقّةٌ. أصبح المجموع ست حِقاقٍ). ^ شخصٌ عنده 500 رأسٍ من الإبل : زكاته هي : عشر حِقاقٍ. (500 / 50 = 10 حِقاقٍ. ولا يتوجب عليه شيءٌ آخر لأن الباقي من القسمة صفر). الأمر أظنه أصبح سهلاً من الناحية البرمجيّة ، وإليك الكود النهائي لزكاة الإبل حسب مذهب الحنفية : 'زكاة الإبل عند الحنفية LblResultAnimal.Caption = "" If Trim(TxtAnimal.Text) < 5 Then    LblResultAnimal.Caption = "لا يتوجب عليك إخراج شيءٍ ، فالحد الأدنى لنصاب زكاة الإبل هو : 5 رؤوس"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن الحد الأدنى لزكاة الإبل في الشريعة الإسلامية هو 5 رؤوس ، وعدد رؤوس إبلك لم يبلغ ذلك الحد ، لذا لا يتوجب عليك إخراج أي شيءٍ."    Exit Sub End If If TxtAnimal.Text < 10 And TxtAnimal.Text > 4 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "شاة واحدة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 5 إلى 9 فتجب فيها شاة واحدة فقط." ElseIf TxtAnimal.Text >= 10 And TxtAnimal.Text < 15 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "شاتان"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 10 إلى 14 فتجب فيها شاتان فقط." ElseIf TxtAnimal.Text >= 15 And TxtAnimal.Text < 20 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "ثلاث شياه"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 15 إلى 19 فتجب فيها ثلاث شياهٍ فقط." ElseIf TxtAnimal.Text >= 20 And TxtAnimal.Text < 25 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "أربع شياه"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 20 إلى 24 فتجب فيها أربع شياهٍ فقط." ElseIf TxtAnimal.Text >= 25 And TxtAnimal.Text < 36 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "بنت مخاض"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 25 إلى 35 فتجب فيها بنت مخاض." & vbNewLine & _    "# بنت مخاض : أي لها سنة ودخلت في الثانية ، سميت بذلك لأن أمها غالباً تكون مَخاضاً أي حاملاً." ElseIf TxtAnimal.Text >= 36 And TxtAnimal.Text < 46 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "بنت لبون"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 36 إلى 45 فتجب فيها بنت لبون." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." ElseIf TxtAnimal.Text >= 46 And TxtAnimal.Text < 61 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقّة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 46 إلى 60 فتجب فيها حِقّة." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 61 And TxtAnimal.Text < 76 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "جَذَعة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 61 إلى 75 فتجب فيها جَذَعة." & vbNewLine & _    "# جَذَعة : أي أتمت أربع سنواتٍ ودخلت في الخامسة." ElseIf TxtAnimal.Text >= 76 And TxtAnimal.Text < 91 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "بنتا لبون"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الإبل إذا كانت ما بين 76 إلى 90 فتجب فيها بنتا لبون." & vbNewLine & _    "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً." ElseIf TxtAnimal.Text >= 91 And TxtAnimal.Text < 125 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 91 إلى 124 فتجب فيها حِقتان." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 125 And TxtAnimal.Text < 130 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان وشاة"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 125 إلى 129 فتجب فيها حِقتان وشاة." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 130 And TxtAnimal.Text < 135 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان وشاتان"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 130 إلى 134 فتجب فيها حِقتان وشاتان." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 135 And TxtAnimal.Text < 140 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان و3 شياه"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 135 إلى 139 فتجب فيها حِقتان و3 شياه." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 140 And TxtAnimal.Text < 145 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان و4 شياه"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 140 إلى 144 فتجب فيها حِقتان و4 شياه." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." ElseIf TxtAnimal.Text >= 145 And TxtAnimal.Text < 150 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "حِقتان وبنت مخاض"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 145 إلى 149 فتجب فيها حِقتان وبنت مخاض." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." & vbNewLine & _    "# بنت مخاض : أي لها سنة ودخلت في الثانية ، سميت بذلك لأن أمها غالباً تكون مَخاضاً أي حاملاً." ElseIf TxtAnimal.Text >= 150 And TxtAnimal.Text < 155 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & "ثلاث حِقاق"    TxtExplicationlAnimal.Text = "ذهب الحنفية إلى أن رؤوس الإبل إذا كانت ما بين 150 إلى 154 فتجب فيها ثلاث حِقاق." & vbNewLine & _    "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." Else    LblResultAnimal.Caption = Int(TxtAnimal.Text / 50) & " حِقّة"    If TxtAnimal.Text Mod 50 < 25 And TxtAnimal.Text Mod 50 > 4 Then       LblResultAnimal.Caption = "يتوجب عليك إخراج : " & LblResultAnimal.Caption & " و " & Int((TxtAnimal.Text Mod 50) / 5) & " شاة"       TxtExplicationlAnimal.Text = "عند الحنفية تستأنف الفريضة في الإبل فبالإضافة للحِقّة التي تجب في كل 50 رأساً من الإبل ، ننظر للباقي فإذا كان أقل من 25 فتجب في كل 5 رؤوس شاة وفي 10 رؤوس شاتان وفي 15 رأساً ثلاث شياهٍ وفي 20 رأساً أربع شياهٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك." & vbNewLine & _       "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل."    ElseIf TxtAnimal.Text Mod 50 >= 25 And TxtAnimal.Text Mod 50 < 36 Then       LblResultAnimal.Caption = "يتوجب عليك إخراج : " & LblResultAnimal.Caption & " و " & "بنت مخاض"       TxtExplicationlAnimal.Text = "عند الحنفية تستأنف الفريضة في الإبل فبالإضافة للحِقّة التي تجب في كل 50 رأساً من الإبل ، ننظر للباقي فإذا كان أكبر من 24 وأصغر من 36 فتجب فيه بنت مخاض ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك." & vbNewLine & _       "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." & vbNewLine & _       "# بنت مخاض : أي لها سنة ودخلت في الثانية ، سميت بذلك لأن أمها غالباً تكون مَخاضاً أي حاملاً."    ElseIf TxtAnimal.Text Mod 50 >= 36 And TxtAnimal.Text Mod 50 < 46 Then       LblResultAnimal.Caption = "يتوجب عليك إخراج : " & LblResultAnimal.Caption & " و " & "بنت لبون"       TxtExplicationlAnimal.Text = "عند الحنفية تستأنف الفريضة في الإبل فبالإضافة للحِقّة التي تجب في كل 50 رأساً من الإبل ، ننظر للباقي فإذا كان أكبر من 35 وأصغر من 46 فتجب فيه بنت لبون ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك." & vbNewLine & _       "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل." & vbNewLine & _       "# بنت لبون : أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً."    ElseIf TxtAnimal.Text Mod 50 >= 46 And TxtAnimal.Text Mod 50 < 50 Then       LblResultAnimal.Caption = "يتوجب عليك إخراج : " & Int(TxtAnimal.Text / 50) + 1 & " حِقّة"       TxtExplicationlAnimal.Text = "عند الحنفية تستأنف الفريضة في الإبل فبالإضافة للحِقّة التي تجب في كل 50 رأساً من الإبل ، ننظر للباقي فإذا كان أكبر من 45 وأصغر من 50 فتجب فيه حِقّة تضاف للحِقاق المتوجبة عليك." & vbNewLine & _       "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل."    Else       LblResultAnimal.Caption = "يتوجب عليك إخراج : " & Int(TxtAnimal.Text / 50) & " حِقّة"       TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة الإبل حسب حالتك هذه : في كل 50 منها يتوجب عليك إخراج حِقّة." & vbNewLine & _      "# حِقّة : أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل."    End If End If الثاني – البقر : نصاب البقر : نصابها محلُ اتفاقٍ بين العلماء ، وإذا فهمت نصاب زكاة الإبل حسب رأي الجمهور من الناحية البرمجية فسيسهل عليك فهم نصاب زكاة البقر ، وإليك التفصيل : من 1 - 29 لا شيء فيها. من 30 - 39 فيها تبيعٌ أو تبيعةٌ (عند الجمهور : هو ما أتم السنة ودخل في الثانية. وأما عند المالكية : فهو ما أتم السنتين ودخل في الثالثة). من 40 - 59 فيها مسنّةٌ (عند الجمهور : هي ما أتمت السنتين ودخلت في الثالثة. وأما عند المالكية : فهي ما أتمت ثلاث سنوات ودخلت في الرابعة). من 60 - 69 فيها تبيعان. من 70 - 79 فيها تبيعٌ ومسنّةٌ. من 80 - 89 فيها مسنّتان. من 90 - 99 فيها 3 أتبعةٍ. من 100 - 109 فيها تبيعان ومسنّةٌ. من 110 - 119 فيها تبيعٌ ومسنّتان. من 120 - 129 فيها 4 أتبعةٍ أو 3 مسنّاتٍ. وهكذا في كل ثلاثين تبيعٌ أو تبيعةٌ ، وفي كل أربعين مسنّةٌ. كما تشاهد فكرة الكود لا تختلف أبداً عن نصاب زكاة الإبل عند الجمهور اللهم إلا التعديل في الأرقام ، وإليك كود حساب زكاة البقر : 'زكاة البقر LblResultAnimal.Caption = "" If Trim(TxtAnimal.Text) < 30 Then    LblResultAnimal.Caption = "لا يتوجب عليك إخراج شيءٍ ، فالحد الأدنى لنصاب زكاة البقر هو : 30 بقرة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن الحد الأدنى لزكاة البقر في الشريعة الإسلامية هو 30 بقرة وعدد رؤوس البقر عندك لم يبلغ ذلك الحد ، لذا لا يتوجب عليك إخراج أي شيءٍ."    Exit Sub End If Dim LeftOver As String LeftOver = (TxtAnimal.Text Mod 10) LeftOver = TxtAnimal.Text - LeftOver If LeftOver Mod 30 = 0 And LeftOver Mod 40 = 0 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & LeftOver / 30 & " تبيع" & " أو " & LeftOver / 40 & " مسنة"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة البقر حسب حالتك هذه : في كل 30 بقرة يتوجب عليك إخراج تبيع أو تبيعة ، وفي كل 40 بقرة يتوجب عليك إخراج مُسِنَّة ، وعدد رؤوس البقر عندك تنطبق عليه الحالتان." & vbNewLine & _    "# والتبيع أو التبيعة : عند الجمهور : هو ما أتم السنة ودخل في الثانية. وأما عند المالكية : فهو ما أتم السنتين ودخل في الثالثة." & vbNewLine & _    "# والمسنة : عند الجمهور : هي ما أتمت السنتين ودخلت في الثالثة. وأما عند المالكية : فهي ما أتمت ثلاث سنوات ودخلت في الرابعة." ElseIf LeftOver Mod 30 = 0 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & Int(LeftOver / 30) & " تبيع"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة البقر حسب حالتك هذه : في كل 30 بقرة يتوجب عليك إخراج تبيع أو تبيعة." & vbNewLine & _    "# والتبيع أو التبيعة : عند الجمهور : هو ما أتم السنة ودخل في الثانية. وأما عند المالكية : فهو ما أتم السنتين ودخل في الثالثة." ElseIf LeftOver Mod 40 = 0 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & Int(LeftOver / 40) & " مسنة"    TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة البقر حسب حالتك هذه : في كل 40 بقرة يتوجب عليك إخراج مُسِنَّة." & vbNewLine & _    "# والمسنة : عند الجمهور : هي ما أتمت السنتين ودخلت في الثالثة. وأما عند المالكية : فهي ما أتمت ثلاث سنوات ودخلت في الرابعة." Else   Dim s As Integer   s = 0   Do      s = s + 1      If (LeftOver - (30 * s)) Mod 40 = 0 Then         LblResultAnimal.Caption = "يتوجب عليك إخراج : " & s & " تبيع" & " و " & Int((LeftOver - (30 * s)) / 40) & " مسنة"         Exit Do      ElseIf (LeftOver - (40 * s)) Mod 30 = 0 Then         LblResultAnimal.Caption = "يتوجب عليك إخراج : " & Int((LeftOver - (40 * s)) / 30) & " تبيع" & " و " & s & " مسنة"         Exit Do      End If   Loop Until LblResultAnimal.Caption <> ""   TxtExplicationlAnimal.Text = "تجري مذاهب الفقهاء في زكاة البقر حسب حالتك هذه : في كل 30 بقرة يتوجب عليك إخراج تبيع أو تبيعة ، وفي كل 40 بقرة يتوجب عليك إخراج مُسِنَّة." & vbNewLine & _   "# والتبيع أو التبيعة : عند الجمهور : هو ما أتم السنة ودخل في الثانية. وأما عند المالكية : فهو ما أتم السنتين ودخل في الثالثة." & vbNewLine & _   "# والمسنة : عند الجمهور : هي ما أتمت السنتين ودخلت في الثالثة. وأما عند المالكية : فهي ما أتمت ثلاث سنوات ودخلت في الرابعة." End If الثالث – الغنم : نصاب الغنم : نصابها محلُ اتفاقٍ بين العلماء ، وهو سهلٌ للغاية ، وإليك التفصيل : من 1 - 39 لا شيء فيها. من 40 - 120 فيها شاةٌ. من 121 - 200 فيها شاتان. من 201 - 399 فيها 3 شياهٍ. من 400 - 499 فيها 4 شياهٍ. من 500 - 599 فيها 5 شياهٍ. وهكذا ما زاد عن ذلك في كل مائة شاةٍ شاةٌ. أظن أن أي مبرمجٍ مهما كان مستواه يستطيع كتابة كود زكاة الغنم ، وإليكم كود حساب زكاة الغنم : 'زكاة الغنم If Trim(TxtAnimal.Text) < 40 Then    LblResultAnimal.Caption = "لا يتوجب عليك إخراج شيءٍ ، فالحد الأدنى لنصاب زكاة الغنم هو : 40 شاة"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن الحد الأدنى لزكاة الغنم في الشريعة الإسلامية هو 40 شاة وعدد رؤوس أغنامك لم يبلغ ذلك الحد ، لذا لا يتوجب عليك إخراج أي شيءٍ."    Exit Sub End If If TxtAnimal.Text < 121 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : شاة واحدة كزكاة لأغنامك"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الأغنام إذا كانت ما بين 40 إلى 120 فتجب فيها شاة واحدة فقط." ElseIf TxtAnimal.Text >= 121 And TxtAnimal.Text < 201 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : شاتين كزكاة لأغنامك"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الأغنام إذا كانت ما بين 121 إلى 200 فتجب فيها شاتان فقط." ElseIf TxtAnimal.Text >= 201 And TxtAnimal.Text < 400 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : ثلاث شياه كزكاة لأغنامك"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الأغنام إذا كانت ما بين 201 إلى 399 فتجب فيها ثلاث شياهٍ فقط." ElseIf TxtAnimal.Text >= 400 Then    LblResultAnimal.Caption = "يتوجب عليك إخراج : " & Int(TxtAnimal.Text / 100) & " من رؤوس الغنم كزكاة لأغنامك"    TxtExplicationlAnimal.Text = "اتفق جمهور العلماء على أن رؤوس الأغنام إذا كانت أكثر من 399 فتجب فيها عندئذٍ عن كل مئة رأسٍ من الغنم شاة واحدة." End If ثانياً : زكاة النقدين (الذهب والفضة) : النقدان : هما الذهب والفضة. نصاب الذهب والفضة : نصاب الذهب : عشرون (20) مثقالاً ، وتساوي (85) غراماً. نصاب الفضة : مائتي (200) درهمٍ ، وهو ما يعادل (595) غراماً تقريباً. فإن بلغا النصاب أخذ منهما ربع العشر أي 2.5%. بداية أريد أن أوضح جزئية هامةً تتعلق بالذهب والفضة ، وهي مسألة عيار الذهب أو عيار الفضة ، فمثلاً للذهب عيارات عدةٌ ، منها : عيار 24 وعيار 21 وعيار 18 وغيرهم. وللفضة كذلك عيارات عدةٌ ، منها عيار 1000 وعيار 950 وعيار 925 وغيرهم. العيار يقصد به نسبة الذهب أو الفضة الموجودة في القطعة التي تمتلكها ؛ فمثلاً الذهب الذي يعتبر عياره 24 قيراطاً يعتبر ذهباً خالصاً غير مخلوطٍ بشيءٍ ، والذهب الذي عياره 21 قيراطاً لا يعتبر ذهباً خالصاً بل يعتبر في اصطلاح الفقهاء ذهباً مغشوشاً أو مخلوطاً بغيره ؛ لأنه ليس بذهبٍ خالصٍ ، بل هو ذهبٌ مسبوكٌ معه غيره من المعادن كالنحاس والفضة والقصدير. والعلماء عندما اعتبروا أن نصاب الذهب 85 غراماً قصدوا الذهب الخالص ولم يقصدوا الذهب المخلوط مع غيره ، وما يقال عن الذهب يقال عن الفضة أيضاً ؛ لذا اختلف العلماء في النصاب في المغشوش والمخلوط من الذهب والفضة : المغشوش من الذهب أو الفضة : هو المسبوك مع غيره ، أي عياره أقل من 24 بالنسبة للذهب ، وأقل من 1000 بالنسبة للفضة. قال الحنفية : إن كان الغالب على الورق المضروب الفضة فهو في حكم الفضة ، فتجب فيه الزكاة كأنه كله فضةٌ ، ولا تزكى زكاة العُرُوض ، ولو كان قد أعدها للتجارة ، قالوا : لأن الدراهم لا تخلو من قليل الغش ؛ لأنها لا تنطبع إلا به ، والغلبة أن تزيد الفضة على النصف. أما إن كان الغش غالباً فلا يكون لها حكم الفضة بل حكم العُرُوض ، فلا زكاة فيها إلا إن نواها للتجارة وبلغت نصاباً بالقيمة ، فإن لم ينوها للتجارة فإن كانت بحيث يخلّص منها فضةً تبلغ نصاباً وجبت زكاتها ، وإلا فلا . وقال المالكية : إن كانت الدراهم والدنانير المغشوشة رائجةً كرواج غير المغشوشة فإنها تعامل مثل الكاملة سواء ، فتكون فيها الزكاة إن بلغ وزنها بما فيها من الغش نصاباً ، وأما إن كانت غير رائجةٍ فالعبرة بما فيها من الذهب أو الفضة الخالصين على تقدير التصفية ، فإن بلغ نصاباً زُكّي وإلا فلا. وقال الشافعية والحنابلة : لاشيء في المغشوش حتى يبلغ خالصه نصاباً كاملاً ، فمن ملك ذهباً أو فضةً مغشوشةً أو مختلطاً بغيره ، فلا زكاة فيه حتى يبلغ قدر الذهب والفضة نصاباً ، وهذا هو الرأي الراجح والموافق لظاهر النصوص. باختصارٍ : الحنفية : ذهبوا إلى أن العيار إن كان يساوي النصف أو أكثر فإنه يعامل معاملة الخالص وإلا على تقدير التصفية. المالكية : إن كان العيار رائجاً في البلد فيعتبر بمثابة الخالص وإلا على تقدير التصفية. الشافعية والحنابلة : على تقدير التصفية ، وهو الراجح كما أسلفنا. وبناءً على ذلك عندما تريد حساب زكاة الذهب أو الفضة فيجب أن تأخذ بعين الاعتبار النقاط الآتية : 1- مقدار الذهب أو الفضة. 2- كم هو عيار الذهب أو الفضة ؟ 3- هل العيار الذي اخترته هو العيار الرائج في بلدك أم لا ؟ 4- سعر الغرام اليوم إن كنت تريد إخراج القيمة. قبل أن نكتب الكود ما رأيكم أن نصيغ آراء الفقهاء بطريقةٍ علميّةٍ بحيث يستنتج البرنامج آلياً الحالات التي يتفق فيها العلماء والحالات التي يختلفون فيها ، وعندها سنكون أمام عدة حالاتٍ ، هي : # وجوب إخراج الزكاة باتفاق جمهور العلماء ، وذلك في حالتين : الأولى : عندما يكون العيار الذي اختاره الشخص هو 24 أو عيار الفضة 1000 ؛ لأنه في هذه الحالة يكون قد اختار العيار الخالص ولا خلاف هنا. الثانية : عندما تكون كمية الذهب أو الفضة الموجودة أكبر أو تساوي نصاب عيار الذهب أو الفضة المختار بعد تصفيته ؛ مثلاً هنالك شخصٌ عنده 100 غ من الذهب عيار 21 ، كم هي زكاته ؟ الجواب باتفاق جمهور العلماء تجب عليه الزكاة ومقدارها 2.5 غ ، ولكن كيف باتفاق العلماء ؟ دعوني أوضح لكم : الحنفية : اعتبروا كل ما هو أكبر أو يساوي العيار 12 يعامل معاملة العيار 24 ونصاب العيار 24 هو 85 غ كما أسلفنا ، إذن الزكاة في الحالة السابقة واجبة عندهم. المالكية : أيضاً متفقون ؛ لأن العيار إن كان رائجاً فسيعتبر بمثابة العيار 24 ونصابه 85 غ وما يملكه الشخص أكثر من ذلك ، وإن كان العيار غير رائجٍ فعلى تقدير تصفيته يكون نصابه 97.14 غ تقريباً وهو أقل من المقدار الذي يملكه الشخص. الشافعية والحنابلة : أيضاً متفقون لأن العيار 21 بعد تصفيته سيكون نصابه 97.14 تقريباً وهو أقل من المقدار الذي يملكه الشخص. ملاحظة : معادلة التصفية هي : 85 / (21 / 24) ؛ حيث 85 هي نصاب الذهب الخالص ، 21 هو العيار الذي اخترناه ، 24 هو عيار الذهب الخالص. # وجوب إخراج الزكاة باتفاق الحنفية والمالكية فقط ، وذلك في حالةٍ واحدةٍ : عندما تكون كمية الذهب أكبر من أو تساوي 85 غ أو كمية الفضة أكبر من أو تساوي 595 غ وفي الوقت نفسه تكون أقل من نصاب الذهب أو الفضة بعد التصفية ويكون العيار المختار أكبر أو يساوي 12 ويكون هو العيار الرائج في البلد. مثلاً : هنالك شخصٌ عنده 90 غ من الذهب عيار 21 وهو العيار الرائج في بلده ، كم هي زكاته ؟ الجواب : زكاته 2.25 غ باتفاق الحنفية والمالكية ، ولا زكاة عليه باتفاق الشافعية والحنابلة ، كيف ذلك ؟ بالنسبة للحنفية : فهم يعتبرون أن عيار الذهب إذا ما كان أكبر من العيار 12 أو يساويه فإنه يعامل عندئذٍ معاملة الذهب الخالص الذي عياره 24 ، فمتى ما وصل الذهب إلى 85 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة. أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته هو العيار الرائج في بلدك حسب اختيارك ، وبالتالي تجب فيه الزكاة متى ما كان ما تملكه أكثر من 85 غ من الذهب. أما عند الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وهي حوالي 97.14 غ تقريباً ، وما يملكه الشخص أقل من ذلك لذا لا يتوجب عليك إخراج الزكاة عندهم. # وجوب إخراج الزكاة حسب رأي الحنفية فقط ، وذلك في حالةٍ واحدةٍ : عندما تكون كمية الذهب أكبر من أو تساوي 85 غ أو كمية الفضة أكبر من أو تساوي 595 غ وفي الوقت نفسه تكون أقل من نصاب الذهب أو الفضة بعد التصفية ويكون العيار المختار أكبر أو يساوي 12 ولا يكون هو العيار الرائج في البلد. مثلاً : هنالك شخصٌ عنده 90 غ من الذهب عيار 21 وهذا العيار ليس هو العيار الرائج في بلده ، كم هي زكاته ؟ الجواب : زكاته 2.25 غ حسب رأي الحنفية ، ولا زكاة عليه باتفاق المالكية والشافعية والحنابلة ، كيف ذلك ؟ بالنسبة للحنفية : فهم يعتبرون أن عيار الذهب إذا ما كان أكبر من العيار 12 أو يساويه فإنه يعامل عندئذٍ معاملة الذهب الخالص الذي عياره 24 ، فمتى ما وصل الذهب إلى 85 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة. أما المالكية والشافعية والحنابلة : فلا يوجبون عليه الزكاة ؛ لأن عياره عند المالكية غير رائج وبعد تصفيته سيكون نصابه 97.14 غ وما يملكه الشخص أقل من النصاب ، وكذلك الحال بالنسبة للشافعية والحنابلة ؛ فبعد تصفيته ستكون الكمية الموجودة عند الشخص أقل من النصاب المتوجب شرعاً وهو 97.14 غ كما أسلفنا. # وجوب إخراج الزكاة حسب رأي المالكية فقط ، وذلك في حالةٍ واحدةٍ : عندما تكون كمية الذهب أكبر من أو تساوي 85 غ أو كمية الفضة أكبر من أو تساوي 595 غ وفي الوقت نفسه تكون أقل من نصاب الذهب أو الفضة بعد التصفية ويكون العيار المختار أصغر من 12 ويكون هو العيار الرائج في البلد. مثلاً : هنالك شخصٌ عنده 90 غ من الذهب عيار 10 وهو العيار الرائج في بلده ، كم هي زكاته ؟ الجواب : زكاته 2.25 غ حسب رأي المالكية ، ولا زكاة عليه باتفاق الحنفية والشافعية والحنابلة ، كيف ذلك ؟ بالنسبة للمالكية : فقد أوجبوا الزكاة في هذه الحالة ؛ لأن العبرة عندهم في عيار الذهب هو الرواج ، فمتى ما راج عيار الذهب اعتبر مثله مثل الذهب الذي عياره 24 ، وبالتالي تجب فيه الزكاة عندما يكون أكثر من 85 غ ، وهذا ينطبق على هذه الحالة. أما الحنفية والشافعية والحنابلة : فلا يوجبون عليه الزكاة ؛ لأن عياره عند الحنفية أقل من 12 وبعد تصفيته سيكون نصابه 204 غ (معادلة التصفية هي : 85 / (10 / 24) = 204 ) وما يملكه الشخص أقل من النصاب ، وكذلك الحال بالنسبة للشافعية والحنابلة ؛ فبعد تصفيته ستكون الكمية الموجودة عند الشخص أقل من النصاب المتوجب شرعاً وهو 204 غ. # ما عدا هذه الحالات لا يتوجب عليك إخراج شيءٍ ، وذلك باتفاق الجمهور. وبعد هذا الشرح المستفيض إليكم كود حساب زكاة الذهب :  'جميع المذاهب متفقة If TxtGoldGram.Text >= (85 / (CmbGold.Text / 24)) Then    If Val(CmbGold.Text) = 24 Then      LblResultGold.Caption = LblResultGold & "باتفاق الجمهور (الشافعية والحنابلة والحنفية والمالكية) يتوجب عليك إخراج : " & (TxtGoldGram.Text * (2.5 / 100)) & " غرام من الذهب عيار " & CmbGold.Text      LblPriceGold.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه لذهب عياره " & CmbGold.Text & " هي : " & (TxtGoldGram.Text * (2.5 / 100)) * TxtGoldMoney.Text & " " & LblGoldYourMoney.Caption      TxtExplicationGold.Text = "لا يوجد خلاف بين جمهور العلماء حول نصاب الذهب عيار 24 كونه يعتبر عندهم ذهباً خالصاً غير مخلوطٍ بشيءٍ ، وبالتالي متى ما كان ما تملكه أكثر من 85 غ من الذهب أو يساويه وجبت عليك فيه الزكاة باتفاق العلماء."    Else      LblResultGold.Caption = LblResultGold & "باتفاق الجمهور (الشافعية والحنابلة والحنفية والمالكية) يتوجب عليك إخراج : " & (TxtGoldGram.Text * (2.5 / 100)) & " غرام من الذهب عيار " & CmbGold.Text & " أي ما يعادل " & (TxtGoldGram.Text * (2.5 / 100)) * (CmbGold.Text / 24) & " غ من الذهب الخالص عيار 24"      LblPriceGold.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه لذهب عياره " & CmbGold.Text & " هي : " & (TxtGoldGram.Text * (2.5 / 100)) * TxtGoldMoney.Text & " " & LblGoldYourMoney.Caption & vbNewLine & "أي ما يعادل " & TxtGoldMoney.Text * ((TxtGoldGram.Text * (2.5 / 100)) * (CmbGold.Text / 24)) & " " & LblGoldYourMoney.Caption & " من الذهب الخالص عيار 24"      TxtExplicationGold.Text = "مقدار ما تملكه من الذهب لا يدخل ضمن خلاف الفقهاء حول تقدير نصاب الذهب المعتبر ، وبالتالي يتوجب عليك إخراج الزكاة باتفاق جمهور العلماء."    End If ElseIf TxtGoldGram.Text >= 85 And TxtGoldGram.Text < (85 / (CmbGold.Text / 24)) And Val(CmbGold.Text) >= 12 Then       'الحنفية فقط       If OptWidespreadGold.Value = False Then         LblResultGold.Caption = "حسب مذهب الحنفية يتوجب عليك إخراج : " & (TxtGoldGram.Text * (2.5 / 100)) & " غرام من الذهب عيار " & CmbGold.Text         LblResultGold.Caption = LblResultGold.Caption & vbNewLine & "أما عند الجمهور (الشافعية والحنابلة والمالكية) فلم يبلغ ذهبك نصاب الزكاة بعد فنصاب الذهب عيار " & CmbGold.Text & " عندهم هو : " & (85 / (CmbGold.Text / 24)) & " غ"         LblPriceGold.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه حسب مذهب الحنفية لذهب عياره " & CmbGold.Text & " هي : " & (TxtGoldGram.Text * (2.5 / 100)) * TxtGoldMoney.Text & " " & LblGoldYourMoney.Caption         TxtExplicationGold.Text = "# بالنسبة للحنفية : فهم يعتبرون أن عيار الذهب إذا ما كان أكبر من العيار 12 أو يساويه فإنه يعامل عندئذٍ معاملة الذهب الخالص الذي عياره 24 ، فمتى ما وصل الذهب إلى 85 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة." & vbNewLine & _         "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته غير رائج في بلدك حسب اختيارك ، وبالتالي لا تجب فيه الزكاة كونه لم يبلغ النصاب عندهم ، فنصاب الذهب غير الرائج عندهم يعتبر متى ما بلغ خالص العيار من الذهب بعد التصفية النصاب." & vbNewLine & _         "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وفي هذه النقطة اتفقوا مع مذهب المالكية كما وضحنا سابقاً ، وهذا هو الرأي الراجح والموافق لظاهر النصوص ، والله أعلم."       Else         'الحنفية والمالكية         LblResultGold.Caption = "حسب مذهب الحنفية والمالكية يتوجب عليك إخراج : " & (TxtGoldGram.Text * (2.5 / 100)) & " غرام من الذهب عيار " & CmbGold.Text         LblResultGold.Caption = LblResultGold.Caption & vbNewLine & "أما عند الشافعية والحنابلة فلم يبلغ ذهبك نصاب الزكاة بعد فنصاب الذهب عيار " & CmbGold.Text & " عندهم هو : " & (85 / (CmbGold.Text / 24)) & " غ"         LblPriceGold.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه حسب مذهب الحنفية والمالكية لذهب عياره " & CmbGold.Text & " هي : " & (TxtGoldGram.Text * (2.5 / 100)) * TxtGoldMoney.Text & " " & LblGoldYourMoney.Caption         TxtExplicationGold.Text = "# بالنسبة للحنفية : فهم يعتبرون أن عيار الذهب إذا ما كان أكبر من العيار 12 أو يساويه فإنه يعامل عندئذٍ معاملة الذهب الخالص الذي عياره 24 ، فمتى ما وصل الذهب إلى 85 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة." & vbNewLine & _         "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته هو العيار الرائج في بلدك حسب اختيارك ، وبالتالي تجب فيه الزكاة متى ما كان ما تملكه أكثر من 85 غ من الذهب." & vbNewLine & _         "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وهذا هو الرأي الراجح والموافق لظاهر النصوص ، والله أعلم."       End If 'المالكية فقط ElseIf TxtGoldGram.Text >= 85 And TxtGoldGram.Text < (85 / (CmbGold.Text / 24)) And Val(CmbGold.Text) < 12 And OptWidespreadGold.Value = True Then       LblResultGold.Caption = "حسب مذهب المالكية يتوجب عليك إخراج : " & (TxtGoldGram.Text * (2.5 / 100)) & " غرام من الذهب عيار " & CmbGold.Text       LblResultGold.Caption = LblResultGold.Caption & vbNewLine & "أما عند الجمهور (الشافعية والحنابلة والحنفية) فلم يبلغ ذهبك نصاب الزكاة بعد فنصاب الذهب عيار " & CmbGold.Text & " عندهم هو : " & (85 / (CmbGold.Text / 24)) & " غ"       LblPriceGold.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه حسب مذهب المالكية لذهب عياره " & CmbGold.Text & " هي : " & (TxtGoldGram.Text * (2.5 / 100)) * TxtGoldMoney.Text & " " & LblGoldYourMoney.Caption       TxtExplicationGold.Text = "# بالنسبة لمذهب المالكية : فقد أوجبوا الزكاة في هذه الحالة لأن العبرة عندهم في عيار الذهب هو الرواج ، فمتى ما راج عيار الذهب اعتبر مثله مثل الذهب الذي عياره 24 ، وبالتالي تجب فيه الزكاة عندما يكون أكثر من 85 غ ، وهذا ينطبق على حالتك هذه." & vbNewLine & _       "# أما الحنفية : فهم يعتبرون أن عيار الذهب إذا كان أقل من 12 فلا تجب فيه الزكاة حتى يبلغ خالص العيار من الذهب بعد التصفية النصاب." & vbNewLine & _       "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وفي هذه النقطة اتفقوا مع مذهب الحنفية كما وضحنا سابقاً ، وهذا هو الرأي الراجح والموافق لظاهر النصوص ، والله أعلم." Else    If Val(CmbGold.Text) = 24 Then       LblResultGold.Caption = "باتفاق الجمهور (الشافعية والحنابلة والحنفية والمالكية) لم يبلغ ذهبك نصاب الزكاة بعد" & vbNewLine & "ونصاب الذهب عيار " & CmbGold.Text & " عند الجمهور هو : 85 غ"       TxtExplicationGold.Text = "لا يوجد خلاف بين جمهور العلماء حول نصاب الذهب عيار 24 كونه يعتبر عندهم ذهباً خالصاً غير مخلوطٍ بشيءٍ ، وبالتالي متى ما كان ما تملكه من الذهب أقل من 85 غ فلا يتوجب عليك إخراج شيءٍ منه بالاتفاق."    ElseIf Val(CmbGold.Text) >= 12 And Val(CmbGold.Text) < 24 Then       If OptWidespreadGold.Value = False Then          LblResultGold.Caption = "لم يبلغ ذهبك نصاب الزكاة بعد ونصاب الذهب عيار " & CmbGold.Text & " عند الحنفية هو : 85 غ"          LblResultGold.Caption = LblResultGold & vbNewLine & " أما عند الجمهور (الشافعية والحنابلة والمالكية) فهو : " & (85 / (CmbGold.Text / 24)) & " غ"          TxtExplicationGold.Text = "باتفاق جمهور العلماء لا يتوجب عليك إخراج الزكاة ، ولكن سنوضح لك سبب اختلاف النصاب بين مذهب الحنفية ومذهب الجمهور :" & vbNewLine & _          "# بالنسبة للحنفية : فهم يعتبرون أن عيار الذهب إذا ما كان أكبر من العيار 12 أو يساويه فإنه يعامل عندئذٍ معاملة الذهب الخالص الذي عياره 24 ، فمتى ما وصل الذهب إلى 85 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة." & vbNewLine & _          "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته غير رائج في بلدك حسب اختيارك ، وبالتالي لا تجب فيه الزكاة كونه لم يبلغ النصاب عندهم ، فنصاب الذهب غير الرائج عندهم يعتبر متى ما بلغ خالص العيار من الذهب بعد التصفية النصاب." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وفي هذه النقطة اتفقوا مع مذهب المالكية كما وضحنا سابقاً."       Else          LblResultGold.Caption = "لم يبلغ ذهبك نصاب الزكاة بعد ونصاب الذهب عيار " & CmbGold.Text & " عند الحنفية والمالكية هو : 85 غ"          LblResultGold.Caption = LblResultGold & vbNewLine & " أما عند الشافعية والحنابلة فهو : " & (85 / (CmbGold.Text / 24)) & " غ"          TxtExplicationGold.Text = "باتفاق جمهور العلماء لا يتوجب عليك إخراج الزكاة ، ولكن سنوضح لك سبب اختلاف النصاب بين مذهب الحنفية والمالكية من جهة ومذهب الشافعية والحنابلة من جهة أخرى :" & vbNewLine & _          "# بالنسبة للحنفية : فهم يعتبرون أن عيار الذهب إذا ما كان أكبر من العيار 12 أو يساويه فإنه يعامل عندئذٍ معاملة الذهب الخالص الذي عياره 24 ، فمتى ما وصل الذهب إلى 85 غ فأكثر وجبت فيه الزكاة ، ولكن حسب حالتك لم يصل ما تملكه إلى 85 غ ، ولذلك لم يتوجب عليك إخراج الزكاة عندهم." & vbNewLine & _          "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته بالرغم من أنه هو العيار الرائج في بلدك حسب اختيارك ، لكن لم تجب فيه الزكاة لأن ما تملكه أقل من 85 غ من الذهب." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم."       End If    ElseIf Val(CmbGold.Text) < 12 Then       If OptWidespreadGold.Value = True Then          LblResultGold.Caption = "لم يبلغ ذهبك نصاب الزكاة بعد ونصاب الذهب عيار " & CmbGold.Text & " عند المالكية هو : 85 غ"          LblResultGold.Caption = LblResultGold & vbNewLine & " أما عند الجمهور (الشافعية والحنابلة والحنفية) فهو : " & (85 / (CmbGold.Text / 24)) & " غ"          TxtExplicationGold.Text = "باتفاق جمهور العلماء لا يتوجب عليك إخراج الزكاة ، ولكن سنوضح لك سبب اختلاف النصاب بين مذهب المالكية ومذهب الجمهور :" & vbNewLine & _          "# بالنسبة للمالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته بالرغم من أنه هو العيار الرائج في بلدك حسب اختيارك ، لكن لم تجب فيه الزكاة لأن ما تملكه أقل من 85 غ من الذهب." & vbNewLine & _          "# أما الحنفية : فهم يعتبرون أن عيار الذهب إذا كان أقل من 12 فلا تجب فيه الزكاة حتى يبلغ خالص العيار من الذهب بعد التصفية النصاب ، وحسب حالتك لم يبلغ ما تملكه من الذهب النصاب عندهم." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وفي هذه النقطة اتفقوا مع مذهب الحنفية كما وضحنا سابقاً."       Else          LblResultGold.Caption = "لم يبلغ ذهبك نصاب الزكاة بعد" & vbNewLine & "ونصاب الذهب عيار " & CmbGold.Text & " عند الجمهور (الشافعية والحنابلة والحنفية والمالكية) هو : " & (85 / (CmbGold.Text / 24)) & " غ"          TxtExplicationGold.Text = "# بالنسبة للحنفية : خالص ما تملكه من الذهب حسب العيار الذي اخترته لم يبلغ نصاب الزكاة." & vbNewLine & _           "# وبالنسبة للمالكية : فخالص ما تملكه من الذهب حسب العيار الغير رائج في بلدك والذي اخترته لم يبلغ نصاب الزكاة عندهم." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بذهبٍ خالصٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الذهب الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ؛ لأنه لم يبلغ ما تملكه من الذهب نصاب الزكاة."       End If    End If    LblPriceGold.Caption = "لا يتوجب عليك إخراج أي قيمة بسبب عدم بلوغ ذهبك نصاب الزكاة" End If TxtGoldGram.Text  ترمز للمربع الذي وضعت فيه مقدار الذهب الذي تملكه. TxtGoldMoney.Tex يرمز لمربع قيمة غرام الذهب. CmbGold.Text يرمز لمربع سرد يحوي عيارات الذهب (العيارات هي : 24 – 22 -21 – 20 - 18 -15 – 14 – 12 – 10 – 09 – 08). OptWidespreadGold.Value يرمز لمربع اختيار يدل على أن العيار المختار هو العيار الرائج. OptNoWidespreadGold.Value يرمز لمربع اختيار يدل على أن العيار المختار هو العيار الغير رائج. LblResultGold.Caption يرمز لمربع النتيجة. LblPriceGold.Caption يرمز لمربع القيمة بالنقود لما يتوجب عليك إخراجه. TxtExplicationGold.Text يرمز لمربع شرح النتيجة. وإليكم كود حساب زكاة الفضة :  'جميع المذاهب متفقة If TxtSilverGram.Text >= (595 / (CmbSilver.Text / 1000)) Then    If Val(CmbSilver.Text) = 1000 Then      LblResultSilver.Caption = LblResultSilver & "باتفاق الجمهور (الشافعية والحنابلة والحنفية والمالكية) يتوجب عليك إخراج : " & (TxtSilverGram.Text * (2.5 / 100)) & " غرام من الفضة عيار " & CmbSilver.Text      LblPriceSilver.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه لفضة عيارها " & CmbSilver.Text & " هي : " & (TxtSilverGram.Text * (2.5 / 100)) * TxtSilverMoney.Text & " " & LblSilverYourMoney.Caption      TxtExplicationSilver.Text = "لا يوجد خلاف بين جمهور العلماء حول نصاب الفضة عيار 1000 كونه يعتبر عندهم فضةً خالصةً غير مخلوطةٍ بشيءٍ ، وبالتالي متى ما كان ما تملكه أكثر من 595 غ من الفضة أو يساويه وجبت عليك فيه الزكاة باتفاق العلماء."    Else      LblResultSilver.Caption = LblResultSilver & "باتفاق الجمهور (الشافعية والحنابلة والحنفية والمالكية) يتوجب عليك إخراج : " & (TxtSilverGram.Text * (2.5 / 100)) & " غرام من الفضة عيار " & CmbSilver.Text & " أي ما يعادل " & (TxtSilverGram.Text * (2.5 / 100)) * (CmbSilver.Text / 1000) & " غ من الفضة الخالصة عيار 1000"      LblPriceSilver.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه لفضة عيارها " & CmbSilver.Text & " هي : " & (TxtSilverGram.Text * (2.5 / 100)) * TxtSilverMoney.Text & " " & LblSilverYourMoney.Caption & vbNewLine & "أي ما يعادل " & TxtSilverMoney.Text * ((TxtSilverGram.Text * (2.5 / 100)) * (CmbSilver.Text / 1000)) & " " & LblSilverYourMoney.Caption & " من الفضة الخالصة عيار 1000"      TxtExplicationSilver.Text = "مقدار ما تملكه من الفضة لا يدخل ضمن خلاف الفقهاء حول تقدير نصاب الفضة المعتبر ، وبالتالي يتوجب عليك إخراج الزكاة باتفاق جمهور العلماء."    End If ElseIf TxtSilverGram.Text >= 595 And TxtSilverGram.Text < (595 / (CmbSilver.Text / 1000)) And Val(CmbSilver.Text) >= 500 Then       'الحنفية فقط       If OptWidespreadSilver.Value = False Then         LblResultSilver.Caption = "حسب مذهب الحنفية يتوجب عليك إخراج : " & (TxtSilverGram.Text * (2.5 / 100)) & " غرام من الفضة عيار " & CmbSilver.Text         LblResultSilver.Caption = LblResultSilver.Caption & vbNewLine & "أما عند الجمهور (الشافعية والحنابلة والمالكية) فلم تبلغ فضتك نصاب الزكاة بعد فنصاب الفضة عيار " & CmbSilver.Text & " عندهم هو : " & (595 / (CmbSilver.Text / 1000)) & " غ"         LblPriceSilver.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه حسب مذهب الحنفية لفضة عيارها " & CmbSilver.Text & " هي : " & (TxtSilverGram.Text * (2.5 / 100)) * TxtSilverMoney.Text & " " & LblSilverYourMoney.Caption         TxtExplicationSilver.Text = "# بالنسبة للحنفية : فهم يعتبرون أن عيار الفضة إذا ما كان أكبر من العيار 500 أو يساويه فإنه يعامل عندئذٍ معاملة الفضة الخالصة التي عيارها 1000 ، فمتى ما وصل الفضة إلى 595 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة." & vbNewLine & _         "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته غير رائج في بلدك حسب اختيارك ، وبالتالي لا تجب فيه الزكاة كونه لم يبلغ النصاب عندهم ، فنصاب الفضة غير الرائجة عندهم يعتبر متى ما بلغ خالص العيار من الفضة بعد التصفية النصاب." & vbNewLine & _         "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وفي هذه النقطة اتفقوا مع مذهب المالكية كما وضحنا سابقاً ، وهذا هو الرأي الراجح والموافق لظاهر النصوص ، والله أعلم."       Else         'الحنفية والمالكية         LblResultSilver.Caption = "حسب مذهب الحنفية والمالكية يتوجب عليك إخراج : " & (TxtSilverGram.Text * (2.5 / 100)) & " غرام من الفضة عيار " & CmbSilver.Text         LblResultSilver.Caption = LblResultSilver.Caption & vbNewLine & "أما عند الشافعية والحنابلة فلم تبلغ فضتك نصاب الزكاة بعد فنصاب الفضة عيار " & CmbSilver.Text & " عندهم هو : " & (595 / (CmbSilver.Text / 1000)) & " غ"         LblPriceSilver.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه حسب مذهب الحنفية والمالكية لفضة عيارها " & CmbSilver.Text & " هي : " & (TxtSilverGram.Text * (2.5 / 100)) * TxtSilverMoney.Text & " " & LblSilverYourMoney.Caption         TxtExplicationSilver.Text = "# بالنسبة للحنفية : فهم يعتبرون أن عيار الفضة إذا ما كان أكبر من العيار 500 أو يساويه فإنه يعامل عندئذٍ معاملة الفضة الخالصة التي عيارها 1000 ، فمتى ما وصل الفضة إلى 595 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة." & vbNewLine & _         "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته هو العيار الرائج في بلدك حسب اختيارك ، وبالتالي تجب فيه الزكاة متى ما كان ما تملكه أكثر من 595 غ من الفضة." & vbNewLine & _         "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وهذا هو الرأي الراجح والموافق لظاهر النصوص ، والله أعلم."       End If 'المالكية فقط ElseIf TxtSilverGram.Text >= 595 And TxtSilverGram.Text < (595 / (CmbSilver.Text / 1000)) And Val(CmbSilver.Text) < 500 And OptWidespreadSilver.Value = True Then       LblResultSilver.Caption = "حسب مذهب المالكية يتوجب عليك إخراج : " & (TxtSilverGram.Text * (2.5 / 100)) & " غرام من الفضة عيار " & CmbSilver.Text       LblResultSilver.Caption = LblResultSilver.Caption & vbNewLine & "أما عند الجمهور (الشافعية والحنابلة والحنفية) فلم تبلغ فضتك نصاب الزكاة بعد فنصاب الفضة عيار " & CmbSilver.Text & " عندهم هو : " & (595 / (CmbSilver.Text / 1000)) & " غ"       LblPriceSilver.Caption = "القيمة بالنقود لما يتوجب عليك إخراجه حسب مذهب المالكية لفضة عيارها " & CmbSilver.Text & " هي : " & (TxtSilverGram.Text * (2.5 / 100)) * TxtSilverMoney.Text & " " & LblSilverYourMoney.Caption       TxtExplicationSilver.Text = "# بالنسبة لمذهب المالكية : فقد أوجبوا الزكاة في هذه الحالة لأن العبرة عندهم في عيار الفضة هو الرواج ، فمتى ما راج عيار الفضة اعتبر مثله مثل الفضة التي عيارها 1000 ، وبالتالي تجب فيه الزكاة عندما يكون أكثر من 595 غ ، وهذا ينطبق على حالتك هذه." & vbNewLine & _       "# أما الحنفية : فهم يعتبرون أن عيار الفضة إذا كان أقل من 500 فلا تجب فيه الزكاة حتى يبلغ خالص العيار من الفضة بعد التصفية النصاب." & vbNewLine & _       "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وفي هذه النقطة اتفقوا مع مذهب الحنفية كما وضحنا سابقاً ، وهذا هو الرأي الراجح والموافق لظاهر النصوص ، والله أعلم." Else    If Val(CmbSilver.Text) = 1000 Then       LblResultSilver.Caption = "باتفاق الجمهور (الشافعية والحنابلة والحنفية والمالكية) لم تبلغ فضتك نصاب الزكاة بعد" & vbNewLine & "ونصاب الفضة عيار " & CmbSilver.Text & " عند الجمهور هو : 595 غ"       TxtExplicationSilver.Text = "لا يوجد خلاف بين جمهور العلماء حول نصاب الفضة عيار 1000 كونه يعتبر عندهم فضةً خالصةً غير مخلوطةٍ بشيءٍ ، وبالتالي متى ما كان ما تملكه من الفضة أقل من 595 غ فلا يتوجب عليك إخراج شيءٍ منه بالاتفاق."    ElseIf Val(CmbSilver.Text) >= 500 And Val(CmbSilver.Text) < 1000 Then       If OptWidespreadSilver.Value = False Then          LblResultSilver.Caption = "لم تبلغ فضتك نصاب الزكاة بعد ونصاب الفضة عيار " & CmbSilver.Text & " عند الحنفية هو : 595 غ"          LblResultSilver.Caption = LblResultSilver & vbNewLine & " أما عند الجمهور (الشافعية والحنابلة والمالكية) فهو : " & (595 / (CmbSilver.Text / 1000)) & " غ"          TxtExplicationSilver.Text = "باتفاق جمهور العلماء لا يتوجب عليك إخراج الزكاة ، ولكن سنوضح لك سبب اختلاف النصاب بين مذهب الحنفية ومذهب الجمهور :" & vbNewLine & _          "# بالنسبة للحنفية : فهم يعتبرون أن عيار الفضة إذا ما كان أكبر من العيار 500 أو يساويه فإنه يعامل عندئذٍ معاملة الفضة الخالصة التي عيارها 1000 ، فمتى ما وصل الفضة إلى 595 غ فأكثر وجبت فيه الزكاة حسب هذه الحالة." & vbNewLine & _          "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته غير رائج في بلدك حسب اختيارك ، وبالتالي لا تجب فيه الزكاة كونه لم يبلغ النصاب عندهم ، فنصاب الفضة غير الرائجة عندهم يعتبر متى ما بلغ خالص العيار من الفضة بعد التصفية النصاب." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وفي هذه النقطة اتفقوا مع مذهب المالكية كما وضحنا سابقاً."       Else          LblResultSilver.Caption = "لم تبلغ فضتك نصاب الزكاة بعد ونصاب الفضة عيار " & CmbSilver.Text & " عند الحنفية والمالكية هو : 595 غ"          LblResultSilver.Caption = LblResultSilver & vbNewLine & " أما عند الشافعية والحنابلة فهو : " & (595 / (CmbSilver.Text / 1000)) & " غ"          TxtExplicationSilver.Text = "باتفاق جمهور العلماء لا يتوجب عليك إخراج الزكاة ، ولكن سنوضح لك سبب اختلاف النصاب بين مذهب الحنفية والمالكية من جهة ومذهب الشافعية والحنابلة من جهة أخرى :" & vbNewLine & _          "# بالنسبة للحنفية : فهم يعتبرون أن عيار الفضة إذا ما كان أكبر من العيار 500 أو يساويه فإنه يعامل عندئذٍ معاملة الفضة الخالصة التي عيارها 1000 ، فمتى ما وصل الفضة إلى 595 غ فأكثر وجبت فيه الزكاة ، ولكن حسب حالتك لم يصل ما تملكه إلى 595 غ ، ولذلك لم يتوجب عليك إخراج الزكاة عندهم." & vbNewLine & _          "# أما المالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته بالرغم من أنه هو العيار الرائج في بلدك حسب اختيارك ، لكن لم تجب فيه الزكاة لأن ما تملكه أقل من 595 غ من الفضة." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم."       End If    ElseIf Val(CmbSilver.Text) < 500 Then       If OptWidespreadSilver.Value = True Then          LblResultSilver.Caption = "لم تبلغ فضتك نصاب الزكاة بعد ونصاب الفضة عيار " & CmbSilver.Text & " عند المالكية هو : 595 غ"          LblResultSilver.Caption = LblResultSilver & vbNewLine & " أما عند الجمهور (الشافعية والحنابلة والحنفية) فهو : " & (595 / (CmbSilver.Text / 1000)) & " غ"          TxtExplicationSilver.Text = "باتفاق جمهور العلماء لا يتوجب عليك إخراج الزكاة ، ولكن سنوضح لك سبب اختلاف النصاب بين مذهب المالكية ومذهب الجمهور :" & vbNewLine & _          "# بالنسبة للمالكية : فالعبرة عندهم الرواج ، والعيار الذي اخترته بالرغم من أنه هو العيار الرائج في بلدك حسب اختيارك ، لكن لم تجب فيه الزكاة لأن ما تملكه أقل من 595 غ من الفضة." & vbNewLine & _          "# أما الحنفية : فهم يعتبرون أن عيار الفضة إذا كان أقل من 500 فلا تجب فيه الزكاة حتى يبلغ خالص العيار من الفضة بعد التصفية النصاب ، وحسب حالتك لم يبلغ ما تملكه من الفضة النصاب عندهم." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ، وفي هذه النقطة اتفقوا مع مذهب الحنفية كما وضحنا سابقاً."       Else          LblResultSilver.Caption = "لم تبلغ فضتك نصاب الزكاة بعد" & vbNewLine & "ونصاب الفضة عيار " & CmbSilver.Text & " عند الجمهور (الشافعية والحنابلة والحنفية والمالكية) هو : " & (595 / (CmbSilver.Text / 1000)) & " غ"          TxtExplicationSilver.Text = "# بالنسبة للحنفية : خالص ما تملكه من الفضة حسب العيار الذي اخترته لم يبلغ نصاب الزكاة." & vbNewLine & _           "# وبالنسبة للمالكية : فخالص ما تملكه من الفضة حسب العيار الغير رائج في بلدك والذي اخترته لم يبلغ نصاب الزكاة عندهم." & vbNewLine & _          "# أما الشافعية والحنابلة : فيعتبرون هذا العيار الذي اخترته مختلطاً بغيره كونه ليس بفضةٍ خالصةٍ ، وبالتالي لا تجب فيه الزكاة حتى تبلغ نسبة الفضة الموجودة في هذا العيار نصاب الزكاة ، وبالتالي لا يتوجب عليك إخراج الزكاة عندهم ؛ لأنه لم يبلغ ما تملكه من الفضة نصاب الزكاة."       End If    End If    LblPriceSilver.Caption = "لا يتوجب عليك إخراج أي قيمة بسبب عدم بلوغ فضتك نصاب الزكاة" End If TxtSilverGram.Text  ترمز للمربع الذي وضعت فيه مقدار الفضة التي تملكها. TxtSilverMoney.Tex يرمز لمربع قيمة غرام الفضة. CmbSilver.Text يرمز لمربع سرد يحوي عيارات الفضة (العيارات هي : 1000 – 980 -958 – 950 - 925 – 900 – 835 – 833 – 830 – 800). OptWidespreadSilver.Value يرمز لمربع اختيار يدل على أن العيار المختار هو العيار الرائج. OptNoWidespreadSilver.Value يرمز لمربع اختيار يدل على أن العيار المختار هو العيار الغير رائج. LblResultSilver.Caption يرمز لمربع النتيجة. LblPriceSilver.Caption يرمز لمربع القيمة بالنقود لما يتوجب عليك إخراجه. TxtExplicationSilver.Text يرمز لمربع شرح النتيجة. ثالثاً : زكاة الأموال وعُرُوض التجارة : عروض التجارة : وهي كل ما أعد للبيع والشراء لأجل الربح. نصاب زكاة المال وعُرُوض التجارة : تُقوّم بأحد النقدين الذهب أو الفضة ، فإذا بلغت القيمة نصاباً وجب فيها ربع العشر أي 2.5%. ويرى كثيرٌ من علماء العصر أن النقود تُقدّر بسعر الفضة احتياطاً لمصلحة الفقراء ، لأن ذلك أنفع لهم. إذن نحن أمام ثلاث حالاتٍ ، هي : الحالة الأولى : حساب زكاة المال حسب نصاب الذهب : وهنا يجب أن نأخذ بعين الاعتبار أن العلماء قصدوا الذهب الخالص الذي عياره 24 قيراطاً كما ذكرنا في زكاة النقدين وفصّلنا ذلك ووضّحنا أن نصابه هو 85 غ ، وحساب زكاة المال حسب نصاب الذهب أمر سهل للغاية ، وعند حساب زكاة المال يجب أن تأخذ بعين الاعتبار النقاط الآتية : 1- سعر غرام الذهب اليوم. 2- عيار الذهب الذي وضعت سعر غرامه اليوم. 3- مقدار المال الذي يملكه الشخص. كما قلنا حساب زكاة المال قياساً على الذهب سهل جداً ، فإذا كان المبلغ المالي الذي يملكه الشخص أكبر من أو يساوي سعر غرام الذهب اليوم * (85 / (عيار الذهب / 24)) فعندئذٍ تتوجب عليه الزكاة وإلا فلا ، وإليك الكود : If TxtGoldSum.Text >= TxtGoldGramMoney.Text * (85 / (CmbGoldMoney.Text / 24)) Then    LblPriceGoldMoney.Caption = TxtGoldSum.Text * (2.5 / 100) & " " & LblGoldMoneyGram.Caption    LblPriceGoldMoney.Caption = "المبلغ الذي يتوجب عليك إخراجه : " & LblPriceGoldMoney.Caption    LblResultGoldMoney.Caption = "نصاب زكاة المال حسب سعر غرام الذهب عيار " & CmbGoldMoney.Text & " هو : " & TxtGoldGramMoney.Text * (85 / (CmbGoldMoney.Text / 24)) & " " & LblGoldMoneyGram.Caption    TxtExplicationGoldMoney.Text = "المبلغ الذي تملكه داخل ضمن النصاب الواجب شرعاً كما ترى ، لذلك يتوجب عليك إخراج زكاته كما هو موضح في الأعلى." Else    LblPriceGoldMoney.Caption = "لا يتوجب عليك دفع الزكاة فالمبلغ الذي تملكه أقل من النصاب الواجب شرعاً"    LblResultGoldMoney.Caption = "نصاب زكاة المال حسب سعر غرام الذهب عيار " & CmbGoldMoney.Text & " هو : " & TxtGoldGramMoney.Text * (85 / (CmbGoldMoney.Text / 24)) & " " & LblGoldMoneyGram.Caption    TxtExplicationGoldMoney.Text = "لم يبلغ ما تملكه من المال النصاب الشرعي حسب سعر الذهب للعيار الذي اخترته ، فالمبلغ الذي تملكه كما ترى أقل من النصاب الواجب شرعاً حسب نصاب الذهب ، واحتياطاً لمصلحة الفقراء يُفضّل أن تقوم بحساب زكاة مالك ( حسب أقل النصابين ) من الذهب أو الفضة ، فقد يكون ذلك الأنفع والأحظ للفقراء." End If TxtGoldGramMoney.Text  ترمز للمربع الذي وضعت فيه سعر غرام الذهب اليوم. CmbGoldMoney.Tex يرمز لمربع سرد يحوي عيارات الذهب (العيارات هي : 24 – 22 -21 – 20 - 18 -15 – 14 – 12 – 10 – 09 – 08). TxtGoldSum.Tex يرمز لمربع المبلغ المالي الذي تملكه. LblResultGoldMoney.Caption يرمز لمربع النتيجة. LblPriceGoldMoney.Caption يرمز لمربع القيمة بالنقود لما يتوجب عليك إخراجه. TxtExplicationGoldMoney.Text يرمز لمربع شرح النتيجة. الحالة الثانية : حساب زكاة المال حسب نصاب الفضة : وهنا كذلك يجب أن نأخذ بعين الاعتبار أن العلماء قصدوا الفضة الخالصة والتي عيارها 1000 كما ذكرنا في زكاة النقدين وفصّلنا ذلك ووضّحنا أن نصابها هو 595 غ ، وحساب زكاة المال حسب نصاب الفضة أمر سهل للغاية ، وعند حساب زكاة المال يجب أن تأخذ بعين الاعتبار النقاط الآتية : 1- سعر غرام الفضة اليوم. 2- عيار الفضة الذي وضعت سعر غرامه اليوم. 3- مقدار المال الذي يملكه الشخص. كما قلنا حساب زكاة المال قياساً على الفضة سهل جداً ، فإذا كان المبلغ المالي الذي يملكه الشخص أكبر من أو يساوي سعر غرام الفضة اليوم * (595 / (عيار الذهب / 24)) فعندئذٍ تتوجب عليه الزكاة وإلا فلا ، وإليك الكود : If TxtSilverSum.Text >= TxtSilverGramMoney.Text * (595 / (CmbSilverMoney.Text / 1000)) Then    LblPriceSilverMoney.Caption = TxtSilverSum.Text * (2.5 / 100) & " " & LblSilverMoneyGram.Caption    LblPriceSilverMoney.Caption = "المبلغ الذي يتوجب عليك إخراجه : " & LblPriceSilverMoney.Caption    LblResultSilverMoney.Caption = "نصاب زكاة المال حسب سعر غرام الفضة عيار " & CmbSilverMoney.Text & " هو : " & TxtSilverGramMoney.Text * (595 / (CmbSilverMoney.Text / 1000)) & " " & LblSilverMoneyGram.Caption    TxtExplicationSilverMoney.Text = "المبلغ الذي تملكه داخل ضمن النصاب الواجب شرعاً كما ترى ، لذلك يتوجب عليك إخراج زكاته كما هو موضح في الأعلى." Else    LblPriceSilverMoney.Caption = "لا يتوجب عليك دفع الزكاة فالمبلغ الذي تملكه أقل من النصاب الواجب شرعاً"    LblResultSilverMoney.Caption = "نصاب زكاة المال حسب سعر غرام الفضة عيار " & CmbSilverMoney.Text & " هو : " & TxtSilverGramMoney.Text * (595 / (CmbSilverMoney.Text / 1000)) & " " & LblSilverMoneyGram.Caption    TxtExplicationSilverMoney.Text = "لم يبلغ ما تملكه من المال النصاب الشرعي حسب سعر الفضة للعيار الذي اخترته ، فالمبلغ الذي تملكه كما ترى أقل من النصاب الواجب شرعاً حسب نصاب الفضة ، واحتياطاً لمصلحة الفقراء يُفضّل أن تقوم بحساب زكاة مالك ( حسب أقل النصابين ) من الذهب أو الفضة ، فقد يكون ذلك الأنفع والأحظ للفقراء." End If TxtSilverGramMoney.Text  ترمز للمربع الذي وضعت فيه سعر غرام الفضة اليوم. CmbSilverMoney.Tex يرمز لمربع سرد يحوي عيارات الفضة (العيارات : 1000 – 980 -958 – 950 - 925 – 900 – 835 – 833 – 830 – 800). TxtSilverSum.Tex يرمز لمربع المبلغ المالي الذي تملكه. LblResultSilverMoney.Caption يرمز لمربع النتيجة. LblPriceSilverMoney.Caption يرمز لمربع القيمة بالنقود لما يتوجب عليك إخراجه. TxtExplicationSilverMoney.Text يرمز لمربع شرح النتيجة. الحالة الثالثة : حساب زكاة المال حسب أقل النصابين من الذهب والفضة : هذه الحالة مهمة بل هي أهم الحالات ؛ لأنها أنفع للفقراء ، وسأوضح ذلك بمثال تطبيقيٍ : نفرض أن هنالك شخصٌ يمتلك 500.000 ليرةٍ سوريةٍ يريد إخراج زكاتها ، فهل تجب عليه الزكاة ؟ وكم هو المقدار الواجب عليه إخراجه ؟ لو حسبنا زكاة ماله حسب الذهب فلن يكون عليه زكاة ، لماذا ؟ سأوضح لك : سعر غرام الذهب اليوم في سورية هو 6000 ليرةٍ سوريةٍ للذهب الذي عياره 21 قيراطاً ، وبعد أن عرفنا سعر غرام الذهب اليوم دعونا نستخرج النصاب عبر المعادلة الآتية : 6000 * (85 / (21 / 24)) = 582857.14 ليرة سورية تقريباً ، وهذا المبلغ هو نصاب المال حسب سعر غرام الذهب ، ولكن ما يملكه الشخص أصغر من ذلك فهو يملك 500.000 ليرةٍ سوريةٍ ؛ لذا لا يتوجب عليه إخراج الزكاة ؛ لأن ماله لم يبلغ النصاب حسب سعر غرام الذهب. ولكن لو حسبنا زكاة ماله حسب الفضة فسيكون عليه زكاة ، لماذا ؟ سأوضح لك : سعر غرام الفضة اليوم في سورية هو 300 ليرةٍ سوريةٍ للفضة التي عيارها 925 ، وبعد أن عرفنا سعر غرام الفضة اليوم دعونا نستخرج النصاب عبر المعادلة الآتية : 300 * (595 / (925 / 1000)) = 192972.972 ليرة سورية تقريباً ، وهذا المبلغ هو نصاب زكاة المال حسب سعر غرام الفضة اليوم ، وهو أصغر من المبلغ الذي يملكه الشخص فهو يملك 500.000 ليرةٍ سوريةٍ ، لذا يتوجب عليه إخراج الزكاة ، وزكاته هي : 500000 * (2.5 /100) = 12500 ليرةٍ سوريةٍ إذن الأنفع والأفضل للفقراء أن نحسب زكاة المال في هذه الحالة حسب الفضة ، وهذا ما ذهب إليه الكثير من العلماء ؛ لذلك عندما تريد حساب زكاة المال فإن الأفضل أن تأخذ بعين الاعتبار النقاط الآتية : 1- سعر غرام الذهب اليوم. 2- عيار الذهب الذي وضعت سعر غرامه اليوم. 3- سعر غرام الفضة اليوم. 4- عيار الفضة الذي وضعت سعر غرامه اليوم. 5- مقدار المال الذي يملكه الشخص. ثم تضع متغيرين تحسب في الأول زكاة المال حسب الفضة وفي الثاني زكاة المال حسب الذهب ، ثم تجري مقارنةً بين هذين المتغيرين من جهةٍ وبين المبلغ الذي يمتلكه الشخص من جهةٍ أخرى : - فإن كان المبلغ الذي يملكه الشخص أكبر من المتغير الذي يحسب الزكاة حسب الذهب والمتغير الذي يحسب الزكاة حسب الفضة ، فعندئذٍ تجب عليه الزكاة حسب النصابين. - وإن كان المبلغ الذي يملكه الشخص أكبر من المتغير الذي يحسب الزكاة حسب الذهب فقط ، فعندئذٍ تجب عليه الزكاة حسب نصاب الذهب فقط ؛ لأنه الأفضل للفقراء. - وإن كان المبلغ الذي يملكه الشخص أكبر من المتغير الذي يحسب الزكاة حسب الفضة فقط ، فعندئذٍ تجب عليه الزكاة حسب نصاب الفضة فقط ؛ لأنه الأفضل للفقراء. - وإن كان المبلغ الذي يملكه الشخص أصغر من المتغير الذي يحسب الزكاة حسب الذهب والمتغير الذي يحسب الزكاة حسب الفضة ، فعندئذٍ لا تجب عليه الزكاة حسب النصابين. وإليك الكود : Dim TxtGold, TxtSilver As String 'حسب الذهب TxtGold = TxtGoldSilverGramMoneyG.Text * (85 / (CmbGoldSilverMoneyG.Text / 24)) 'حسب الفضة TxtSilver = TxtGoldSilverGramMoneyS.Text * (595 / (CmbGoldSilverMoneyS.Text / 1000)) 'يتوجب عليك دفع الزكاة حسب نصاب الذهب والفضة If TxtGoldSilverSum >= Val(TxtGold) And TxtGoldSilverSum >= Val(TxtSilver) Then    LblPriceGoldSilverMoney.Caption = TxtGoldSilverSum.Text * (2.5 / 100) & " " & LblGoldSilverMoneyGramG.Caption    LblPriceGoldSilverMoney.Caption = "المبلغ الذي يتوجب عليك إخراجه : " & LblPriceGoldSilverMoney.Caption    LblResultGoldSilverMoney.Caption = "ونصاب زكاة المال حسب سعر غرام الفضة عيار " & CmbGoldSilverMoneyS.Text & " هو : " & TxtGoldSilverGramMoneyS.Text * (595 / (CmbGoldSilverMoneyS.Text / 1000)) & " " & LblGoldSilverMoneyGramS.Caption    LblResultGoldSilverMoney.Caption = _    "نصاب زكاة المال حسب سعر غرام الذهب عيار " & CmbGoldSilverMoneyG.Text & " هو : " & TxtGoldSilverGramMoneyG.Text * (85 / (CmbGoldSilverMoneyG.Text / 24)) & " " & LblGoldSilverMoneyGramG.Caption & vbNewLine & LblResultGoldSilverMoney.Caption    TxtExplicationGoldSilverMoney.Text = "كما تشاهد يتوجب عليك دفع الزكاة حسب النصاب الشرعي للذهب والفضة ، فالمبلغ الذي تملكه يتجاوز النصاب الشرعي لكل من الذهب والفضة." 'يتوجب عليك دفع الزكاة حسب نصاب الفضة فقط ElseIf TxtGoldSilverSum >= Val(TxtSilver) Then    LblPriceGoldSilverMoney.Caption = TxtGoldSilverSum.Text * (2.5 / 100) & " " & LblGoldSilverMoneyGramS.Caption    LblPriceGoldSilverMoney.Caption = "المبلغ الذي يتوجب عليك إخراجه : " & LblPriceGoldSilverMoney.Caption    LblResultGoldSilverMoney.Caption = "الأحظ والأنفع للفقراء نصاب الفضة ، ونصاب زكاة المال حسب سعر غرام الفضة عيار " & CmbGoldSilverMoneyS.Text & " هو : " & TxtGoldSilverGramMoneyS.Text * (595 / (CmbGoldSilverMoneyS.Text / 1000)) & " " & LblGoldSilverMoneyGramS.Caption    TxtExplicationGoldSilverMoney.Text = "الأحظ والأنفع للفقراء أن نحسب نصاب زكاة المال حسب سعر غرام الفضة ، فلم يبلغ ما تملكه من المال النصاب الشرعي حسب سعر غرام الذهب للعيار الذي اخترته ، لأن نصاب زكاة المال حسب سعر غرام الذهب عيار " & _    CmbGoldSilverMoneyG.Text & " هو : " & TxtGoldSilverGramMoneyG.Text * (85 / (CmbGoldSilverMoneyG.Text / 24)) & " " & LblGoldSilverMoneyGramG.Caption & _    " لذا فالأحظ والأنفع للفقراء أن تحسب زكاة مالك حسب سعر غرام الفضة وتزكي بالمبلغ المذكور في الأعلى ، وهذا ما ذهب إليه الكثير من العلماء." 'يتوجب عليك دفع الزكاة حسب نصاب الذهب فقط ElseIf TxtGoldSilverSum >= Val(TxtGold) Then    LblPriceGoldSilverMoney.Caption = TxtGoldSilverSum.Text * (2.5 / 100) & " " & LblGoldSilverMoneyGramG.Caption    LblPriceGoldSilverMoney.Caption = "المبلغ الذي يتوجب عليك إخراجه : " & LblPriceGoldSilverMoney.Caption    LblResultGoldSilverMoney.Caption = "الأحظ والأنفع للفقراء نصاب الذهب ، ونصاب زكاة المال حسب سعر غرام الذهب عيار " & CmbGoldSilverMoneyG.Text & " هو : " & TxtGoldSilverGramMoneyG.Text * (85 / (CmbGoldSilverMoneyG.Text / 24)) & " " & LblGoldSilverMoneyGramG.Caption    TxtExplicationGoldSilverMoney.Text = "الأحظ والأنفع للفقراء أن نحسب نصاب زكاة المال حسب سعر غرام الذهب ، فلم يبلغ ما تملكه من المال النصاب الشرعي حسب سعر غرام الفضة للعيار الذي اخترته ، لأن نصاب زكاة المال حسب سعر غرام الفضة عيار " & _    CmbGoldSilverMoneyS.Text & " هو : " & TxtGoldSilverGramMoneyS.Text * (595 / (CmbGoldSilverMoneyS.Text / 1000)) & " " & LblGoldSilverMoneyGramS.Caption & _    " لذا فالأحظ والأنفع للفقراء أن تحسب زكاة مالك حسب سعر غرام الذهب وتزكي بالمبلغ المذكور في الأعلى ، وهذا ما ذهب إليه الكثير من العلماء." 'لا يتوجب عليك دفع الزكاة Else    LblPriceGoldSilverMoney.Caption = "لا يتوجب عليك دفع الزكاة فالمبلغ الذي تملكه أقل من النصاب الواجب شرعاً للذهب والفضة"    LblResultGoldSilverMoney.Caption = "ونصاب زكاة المال حسب سعر غرام الفضة عيار " & CmbGoldSilverMoneyS.Text & " هو : " & TxtGoldSilverGramMoneyS.Text * (595 / (CmbGoldSilverMoneyS.Text / 1000)) & " " & LblGoldSilverMoneyGramS.Caption    LblResultGoldSilverMoney.Caption = _    "نصاب زكاة المال حسب سعر غرام الذهب عيار " & CmbGoldSilverMoneyG.Text & " هو : " & TxtGoldSilverGramMoneyG.Text * (85 / (CmbGoldSilverMoneyG.Text / 24)) & " " & LblGoldSilverMoneyGramG.Caption & vbNewLine & LblResultGoldSilverMoney.Caption    TxtExplicationGoldSilverMoney.Text = "كما تشاهد لايتوجب عليك دفع الزكاة حسب النصاب الشرعي للذهب والفضة ، فالمبلغ الذي تملكه لايتجاوز النصاب الشرعي لكل من الذهب والفضة." End If End Sub TxtGoldSilverGramMoneyG.Text  ترمز للمربع الذي وضعت فيه سعر غرام الذهب اليوم. CmbGoldSilverMoneyG.Tex يرمز لمربع سرد يحوي عيارات الذهب (العيارات هي : 24 – 22 -21 – 20 - 18 -15 – 14 – 12 – 10 – 09 – 08). TxtGoldSilverGramMoneyS.Text  ترمز للمربع الذي وضعت فيه سعر غرام الفضة اليوم. CmbGoldSilverMoneyS.Tex يرمز لمربع سرد يحوي عيارات الفضة (وهي: 1000 – 980 -958 – 950 - 925 – 900 – 835 – 833 – 830 – 800). TxtGoldSilverSum.Tex يرمز لمربع المبلغ المالي الذي تملكه. LblResultGoldSilverMoney.Caption يرمز لمربع النتيجة. LblPriceGoldSilverMoney.Caption يرمز لمربع القيمة بالنقود لما يتوجب عليك إخراجه. TxtExplicationGoldSilverMoney.Text يرمز لمربع شرح النتيجة. رابعاً : زكاة الزروع والثمار : الواجب في زكاة الزروع والثمار : # العُشر (10%) : فيما سُقي بلا كلفة ، كأن يكون قد سُقي بماء المطر. # نصف العُشر (5%) : فيما سُقي بكلفةٍ. نصاب زكاة الزروع والثمار : قال أبو حنيفة : النصاب ليس بشرطٍ لوجوب العشر ، بل هي واجبةٌ في القليل والكثير ما لم يكن أقل من نصف صاعٍ (حوالي : 1.088 كغ). وقال الصاحبان وجمهور الفقهاء : النصاب شرطٌ ، فلا تجب الزكاة في شيءٍ من الزروع والثمار حتى تبلغ خمسة أوسقٍ وهي (653 كغ) ؛ لقوله صلى الله عليه وسلم : "لَيْسَ فِيمَا دُونَ خَمْسَةِ أَوْسُقٍ صَدَقَةٌ" أخرجه البخاري ومسلم. قبل أن نكتب الكود ما رأيكم أن نصيغ آراء الفقهاء بطريقةٍ علميّةٍ بحيث يستنتج البرنامج آلياً الحالات التي يتفق فيها العلماء والحالات التي يختلفون فيها ، وعندها سنكون أمام عدة حالاتٍ ، هي : # وجوب إخراج الزكاة باتفاق جمهور العلماء ، وذلك في حالةٍ واحدةٍ : إذا كان مقدار الخارج من الأرض أكثر من أو يساوي 653 كغ. # وجوب إخراج الزكاة حسب رأي أبي حنيفة فقط ، وذلك في حالةٍ واحدةٍ : إذا كان مقدار الخارج من الأرض أكثر من 1.088 كغ وأقل من 653 كغ. # عدم وجوب إخراج الزكاة باتفاق جمهور العلماء ، وذلك في حالةٍ واحدةٍ : إذا كان مقدار الخارج من الأرض أقل من 1.088 كغ. وبعد ذلك نأخذ بعين الاعتبار النقاط الآتية : 1- وزن الزرع بالكيلو غرام. 2- هل سُقي الزرع بكلفةٍ أم سُقي بغير كلفةٍ ؟ وإليك الكود : 'باتفاق الكل مع أبي حنيفة تجب عليه الزكاة If Trim(TxtPlant.Text) >= 653 Then    If OptDiscomfortOk.Value = True Then       LblResultPlant.Caption = TxtPlant.Text * (5 / 100) & " كغ"       TxtExplicationlPlant.Text = "# بالنسبة للإمام أبي حنيفة : فالنصاب ليس بشرطٍ لوجوب الزكاة في الزروع والثمار ، فتجب الزكاة في كثير الخارج وقليله ما لم يكن أقل من نصف صاع ، أي 1.088 كغ." & vbNewLine & _       "# أما عند الجمهور : فالنصاب شرط لوجوب الزكاة في الزروع والثمار ، فلا تجب الزكاة في شيءٍ منها حتى تبلغ خمسة أوسق ، أي 653 كغ ومرزوعاتك بلغت هذا النصاب عندهم ، لذا يتوجب عليك إخراج الزكاة حسب رأيهم." & vbNewLine & _       "# المقصود بقولنا ^^ سقي بكلفة ^^ : أي أنك أنفقت وتكلفت مادياً من أجل وصول الماء إليه ، والواجب عليك في هذه الحالة هو : نصف العُشر ، أي : 5%."    Else       LblResultPlant.Caption = TxtPlant.Text * (10 / 100) & " كغ"       TxtExplicationlPlant.Text = "# بالنسبة للإمام أبي حنيفة : فالنصاب ليس بشرطٍ لوجوب الزكاة في الزروع والثمار ، فتجب الزكاة في كثير الخارج وقليله ما لم يكن أقل من نصف صاع ، أي 1.088 كغ." & vbNewLine & _       "# أما عند الجمهور : فالنصاب شرط لوجوب الزكاة في الزروع والثمار ، فلا تجب الزكاة في شيءٍ منها حتى تبلغ خمسة أوسق ، أي 653 كغ ومرزوعاتك بلغت هذا النصاب عندهم ، لذا يتوجب عليك إخراج الزكاة حسب رأيهم." & vbNewLine & _       "# المقصود بقولنا ^^ سقي بغير بكلفة ^^ : أي أنك لم تنفق ولم تتكلف مادياً من أجل وصول الماء إليه ، إنما سقي بماء المطر ونحوه ، والواجب عليك في هذه الحالة هو : العُشر ، أي : 10%."    End If    LblResultPlant.Caption = "باتفاق جميع العلماء تجب عليك الزكاة ، ومقدار الواجب عليك إخراجه هو : " & vbNewLine & LblResultPlant.Caption & " من وزن المزروعات" 'فقط عند أبي حنيفة تجب عليه الزكاة ElseIf Trim(TxtPlant.Text) >= 1.088 Then    If OptDiscomfortOk.Value = True Then       LblResultPlant.Caption = TxtPlant.Text * (5 / 100) & " كغ"       LblResultPlant.Caption = "فقط عند الإمام أبي حنيفة تجب عليك الزكاة ، ومقدار الواجب عليك إخراجه هو : " & vbNewLine & LblResultPlant.Caption & " من وزن المزروعات"       TxtExplicationlPlant.Text = "# بالنسبة للإمام أبي حنيفة : فالنصاب ليس بشرطٍ لوجوب الزكاة في الزروع والثمار ، فتجب الزكاة في كثير الخارج وقليله ما لم يكن أقل من نصف صاع ، أي 1.088 كغ." & vbNewLine & _       "# أما عند الجمهور : فالنصاب شرط لوجوب الزكاة في الزروع والثمار ، فلا تجب الزكاة في شيءٍ منها حتى تبلغ خمسة أوسق ، أي 653 كغ ومرزوعاتك لم تبلغ هذا النصاب عندهم ، لذا لا يتوجب عليك إخراج الزكاة حسب رأيهم." & vbNewLine & _       "# المقصود بقولنا ^^ سقي بكلفة ^^ : أي أنك أنفقت وتكلفت مادياً من أجل وصول الماء إليه ، والواجب عليك في هذه الحالة هو : نصف العُشر ، أي : 5%."    Else       LblResultPlant.Caption = TxtPlant.Text * (10 / 100) & " كغ"       LblResultPlant.Caption = "فقط عند الإمام أبي حنيفة تجب عليك الزكاة ، ومقدار الواجب عليك إخراجه هو : " & vbNewLine & LblResultPlant.Caption & " من وزن المزروعات"       TxtExplicationlPlant.Text = "# بالنسبة للإمام أبي حنيفة : فالنصاب ليس بشرطٍ لوجوب الزكاة في الزروع والثمار ، فتجب الزكاة في كثير الخارج وقليله ما لم يكن أقل من نصف صاع ، أي 1.088 كغ." & vbNewLine & _       "# أما عند الجمهور : فالنصاب شرط لوجوب الزكاة في الزروع والثمار ، فلا تجب الزكاة في شيءٍ منها حتى تبلغ خمسة أوسق ، أي 653 كغ ومرزوعاتك لم تبلغ هذا النصاب عندهم ، لذا لا يتوجب عليك إخراج الزكاة حسب رأيهم." & vbNewLine & _       "# المقصود بقولنا ^^ سقي بغير بكلفة ^^ : أي أنك لم تنفق ولم تتكلف مادياً من أجل وصول الماء إليه ، إنما سقي بماء المطر ونحوه ، والواجب عليك في هذه الحالة هو : العُشر ، أي : 10%."    End If Else    If OptDiscomfortOk.Value = True Then       TxtExplicationlPlant.Text = "# بالنسبة للإمام أبي حنيفة : فالنصاب ليس بشرطٍ لوجوب الزكاة في الزروع والثمار ، فتجب الزكاة في كثير الخارج وقليله ما لم يكن أقل من نصف صاع ، أي 1.088 كغ ومرزوعاتك لم تبلغ هذا النصاب عنده." & vbNewLine & _       "# أما عند الجمهور : فالنصاب شرط لوجوب الزكاة في الزروع والثمار ، فلا تجب الزكاة في شيءٍ منها حتى تبلغ خمسة أوسق ، أي 653 كغ ومرزوعاتك لم تبلغ هذا النصاب عندهم ، لذا لا يتوجب عليك إخراج الزكاة حسب رأيهم." & vbNewLine & _       "# المقصود بقولنا ^^ سقي بكلفة ^^ : أي أنك أنفقت وتكلفت مادياً من أجل وصول الماء إليه ، والواجب عليك في هذه الحالة هو : نصف العُشر ، أي : 5%."    Else       TxtExplicationlPlant.Text = "# بالنسبة للإمام أبي حنيفة : فالنصاب ليس بشرطٍ لوجوب الزكاة في الزروع والثمار ، فتجب الزكاة في كثير الخارج وقليله ما لم يكن أقل من نصف صاع ، أي 1.088 كغ ومرزوعاتك لم تبلغ هذا النصاب عنده." & vbNewLine & _       "# أما عند الجمهور : فالنصاب شرط لوجوب الزكاة في الزروع والثمار ، فلا تجب الزكاة في شيءٍ منها حتى تبلغ خمسة أوسق ، أي 653 كغ ومرزوعاتك لم تبلغ هذا النصاب عندهم ، لذا لا يتوجب عليك إخراج الزكاة حسب رأيهم." & vbNewLine & _       "# المقصود بقولنا ^^ سقي بغير بكلفة ^^ : أي أنك لم تنفق ولم تتكلف مادياً من أجل وصول الماء إليه ، إنما سقي بماء المطر ونحوه ، والواجب عليك في هذه الحالة هو : العُشر ، أي : 10%."     End If    LblResultPlant.Caption = "لا يتوجب عليك إخراج أي شيءٍ ، فلم تبلغ مزروعاتك نصاب الزكاة بعد" End If TxtPlant.Text  ترمز للمربع الذي وضعت فيه كمية الزروع التي تمتلكها بالكيلو غرام. OptDiscomfortOk.Value يرمز لمربع اختيار يدل على أن الزرع سُقي بكلفةٍ. OptDiscomfortNo.Value يرمز لمربع اختيار يدل على أن الزرع سُقي بغير كلفةٍ. LblResultGoldSilverMoney.Caption يرمز لمربع النتيجة. TxtExplicationGoldSilverMoney.Text يرمز لمربع شرح النتيجة. يتفرع عن زكاة الرزوع والثمار (زكاة العسل) : آراء العلماء في زكاة العسل : # بالنسبة للشافعية والمالكية : فلا زكاة عندهم في العسل ، فحسب رأيهم لم يثبت نصٌّ في ذلك. # أما الحنفية والحنابلة : فقد اعتبروا أن للعسل زكاةٌ يجب أن يؤديها مالكه ، ثم اختلفوا في نصاب العسل : - فقال الحنابلة : نصاب زكاة العسل : عشر قِرَب أي 62 كيلو غرام. - وقال الحنفية : تجب الزكاة في قليله وكثيره دون تحديد نصابٍ له. قبل أن نكتب الكود ما رأيكم أن نصيغ آراء الفقهاء بطريقةٍ علميّةٍ بحيث يستنتج البرنامج آلياً الحالات التي يتفق فيها العلماء والحالات التي يختلفون فيها ، وعندها سنكون أمام عدة حالاتٍ ، هي : # وجوب إخراج الزكاة باتفاق الحنفية والحنابلة ، وذلك في حالةٍ واحدةٍ : إذا كان مقدار العسل أكثر من أو يساوي 62 كغ. # وجوب إخراج الزكاة حسب رأي الحنفية فقط ، وذلك في حالةٍ واحدةٍ : إذا كان مقدار العسل أكثر من 0 كغ وأقل من 62 كغ. وبعد ذلك نأخذ بعين الاعتبار النقطة الآتية ، وهي : مقدار وكمية العسل ، وإليك الكود : If TxtHoney.Text >= 62 Then    LblResultHoney.Caption = "حسب مذهب الحنفية والحنابلة يتوجب عليك إخراج : " & vbNewLine & TxtHoney.Text * (10 / 100) & " كيلو غرام من العسل" Else    Dim TxtHoneyWeight As String    TxtHoneyWeight = TxtHoney.Text * (10 / 100)    If TxtHoneyWeight < 1 Then       TxtHoneyWeight = TxtHoney.Text * (10 / 100) * 1000 & " غرام من العسل"    Else       TxtHoneyWeight = TxtHoney.Text * (10 / 100) & " كيلو غرام من العسل"    End If    LblResultHoney.Caption = "حسب مذهب الحنفية يتوجب عليك إخراج : " & TxtHoneyWeight & vbNewLine & _    "أما عند الحنابلة فلم يبلغ عسلك نصاب الزكاة بعد ، لأن نصاب زكاة العسل عندهم : عشر قِرَب أي 62 كيلو غرام" End If TxtExplicationlHoney.Text = "# بالنسبة للشافعية والمالكية : فلا زكاة عندهم في العسل ، فحسب رأيهم لم يثبت نص في ذلك." & vbNewLine & _ "# أما الحنفية والحنابلة : فقد اعتبروا أن للعسل زكاة يجب أن يؤديها مالكه ، ثم اختلفوا في نصاب العسل :" & vbNewLine & _ "- فقال الحنابلة : نصاب زكاة العسل : عشر قِرَب أي 62 كيلو غرام." & vbNewLine & _ "- وقال الحنفية : تجب الزكاة في قليله وكثيره دون تحديد نصاب له." TxtHoney.Text  ترمز للمربع الذي وضعت فيه كمية العسل التي تمتلكها بالكيلو غرام. LblResultHoney.Caption يرمز لمربع النتيجة. TxtExplicationlHoney.Text يرمز لمربع شرح النتيجة. خامساً : زكاة الكنز والرِّكَاز : تعريف الرِّكَاز : - لغة : بمعنى المركوز وهو من الرَّكْزِ أي الإثبات ، وهو المدفون في الأرض إذا خفي ، وَالرِّكْزُ بكسر الراء هو الصوت الخفي. - وفي الاصطلاح عند الجمهور : هو دفين الجاهلية من ذهبٍ أو فضةٍ أو غيرهما. الواجب في زكاة الكنز والرِّكَاز : والزكاة الواجبة في الكنز أو الرِّكَاز : الخمس ، أي : خمس الكمية التي وجدتها أي 20%. لعموم قوله صلى الله عليه وسلم : "وَفِي الرِّكَازِ الْخُمُسُ" أخرجه البخاري ومسلم. وليس له أي نصابٍ ، فمهما كان مقداره يجب إخراج الخمس منه أي 20%. خوارزميته سهلة جداً ، وإليك الكود : LblResultCache.Caption = "يتوجب عليك إخراج : " & TxtCache.Text * (20 / 100) & " من إجمالي الكنز" TxtExplicationlCache.Text = "# الرِّكَازُ : " & vbNewLine & _ "- لغة : بمعنى المركوز وهو من الرَّكْزِ أي الإثبات ، وهو المدفون في الأرض إذا خفي ، وَالرِّكْزُ بكسر الراء هو الصوت الخفي." & vbNewLine & _ "- وفي الاصطلاح عند الجمهور : هو دفين الجاهلية من ذهب أو فضة أو غيرهما." & vbNewLine & _ "# والزكاة الواجبة في الكنز أو الرِّكَاز : الخمس ، أي : خمس الكمية التي وجدتها." TxtCache.Text  ترمز للمربع الذي وضعت فيه كمية الكنز الذي وجدته. LblResultCache.Caption يرمز لمربع النتيجة. TxtExplicationlCache.Text يرمز لمربع شرح النتيجة.
  10. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ، وبعد: أقدم لكم اليوم أيها الإخوة شرحاً فلاشياً بعنوان : تشغيل البرنامج كمسؤول - درس فلاشي سنتعلم من خلال هذا الدرس الكثير من الأشياء التي تتعلق بتشغيل البرنامج كمسؤول في نظام ويندوز فيستا ونظام ويندوز سبعة وما بعدهما ، ومن هذه الأشياء : 1- كيف نقوم بتشغيل البرنامج كمسؤول برمجياً ؟ 2- كيف نطلب من المستخدم تشغيل البرنامج كمسؤول عندما تتطلب ميزة ما تشغيله كمسؤول ؟ 3- كيف نحقن برنامجاً ما ليعمل دوماً كمسؤول حتى وإن كنا لا نملك السورس كود الخاص به ؟ والكثير من الأشياء الجميلة التي تتعلق بتشغيل البرنامج كمسؤول لتحميل الدرس من صفحته الرسمية : http://www.shhada.net/articles.php?action=show&id=15 مرفق مع الدرس عدة سورسات وأكواد هامة وفريدة أتشرف أن أكون أول من يقوم بنشرها على الشبكة العنكبوتية السورسات مكتوبة بلغة الفيجوال بيسك 6 ولكن الدرس لا يخص لغة برمجة معينة بل يشمل جميع لغات البرمجة دون استثناء شكر خاص لملك الـ kernel الأستاذ : GamingMasteR
  11. Window Handler v2.0 Pro

    تم نشر الإصدار Window Handler v2.3 Pro التحميل من صفحة الأداة على الإنترنت : http://www.shhada.net/downloads.php?action=show&id=15
  12. تصحيح كود يختبر حقل من سجل في sql

    بارك الله فيك أخ فيصل الآن فهمت جيداً الاستعلام السابق قام بعد عدد مرات تواجد عبارات sndybad فوجدها 1 وبالجملة الشرطية نحن قلنا له إن كانت صفر (أي غير موجودة) فنفذ رائع !! لقد استنتجت من ذلك أنها لو كانت موجودة أكثر من مرة وكان شرطي أن تكون موجودة مرة واحدة حتى يتم الإضافة لوضعنا الرقم واحد مكان الصفر أي إن كانت موجودة مرة واحدة نفذ وإلا لا تنفذ .. بارك الله فيكم أيها الأساتذة وألف تحية لكم :)
  13. تصحيح كود يختبر حقل من سجل في sql

    الآن وصلت للحل وهو : $nums = mysql_num_rows($query); if ($nums == '0') { echo"السجل المطلوب غير موجود وسيتم الإضافة"; mysql_query("INSERT INTO book (name,author) VALUES ('".$name."', '".$author."')"); } else { echo"السجل المطلوب موجود ولن يتم الإضافة";}$query = mysql_query("SELECT * FROM `book` WHERE `name` = 'sndybad' ") ; وهو نفس الحل الذي أضافه الأخ aldesha989 مع تعديل في السطر الأول ومسح { الإضافية الموضوعة في آخر الكود :) شكراً لكم جميعاً وشكراً للأخ aldesha989 وتم ترشيح إجابتك ليتك توضح لي هذا السطر : if ($nums == '0') لماذا وضعنا الصفر ولم نضع رقمنا غيره ؟ بماذا يوحي الصفر ؟
  14. تصحيح كود يختبر حقل من سجل في sql

    أخ فيصل جربت ما تفضلت به ولكن لم ينجح لم أكن أعلم أن السؤال بهذه الصعوبة لقد وضعت لكم صورة لما أريده وهذه هي :