اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى


الردود الموصى بها

السلام عليكم

شكرا للأخوين أبوسليمان وعبدالله سليمان لدعمهما ومساندتهما وتشجيعهما الكريم .

لقد تم تصحيح أكثر الأخطاء وسوف أقوم غدا ليلا إن شاء الله تعالى برفعها لكم .

تحياتي .

رابط هذا التعليق
شارك

  • الردود 94
  • Created
  • اخر رد

Top Posters In This Topic

السلام عليكم

المثال مرفق مرة أخرى بعد تعديلات كثيرة ( قياسية / نموذجية ) .

سأؤجل أجوبتي على تعليقاتكم إلى يوم آخر إن شاء الله تعالى حيث أني مرهق جدا .

تحياتي .

الملفات المرفقة

UmAlQura_20041023.rar ( 91.48ك ) عدد مرات التنزيل: 16

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

السلام عليكم

ملاحظة الأخ أبوسليمان

حل دالة DateAdd2 :

تعديل نوع هذا المتغير ليكون مطابق للدالة الأصل كالتالي :

ByVal Number As Double

وإضافة هذا السطر :

Number = Fix(Number)

ملاحظات الأخ عبدالله سليمان

1 – لقد حذفتها لاعتقادي الخاطئ أنها فقط نماذج/أمثلة ولم أعلم أنها تستخدم في النموذج :d

2 – الوحدة كانت لدوال ترجع تنسيق التاريخ القصير والطويل في الإعدادات الإقليمية .

3 – أعتقد أنها تحتاج إلى إعادة نظر وسوف أدرس إعادة كتابتها .

4 – كل الدوال يفترض أن تعيد التنسيق الإفتراضي ويمكن لمن يرغب استخدام دالة Test أو Hijri_Arabic لتحويل الإتجاه .

5 – جربها الآن واخبرنا .

6 – تعطي تسلسل اليوم ضمن السنة .

7 – أي حرف ليس من ضمن التنسيقات ستعيدها كما هو ولكن هناك تنسيق "tttt" للوقت الطويل .

8 – أعتقد الآن أنها 100% من الدقة وقد أتعبتني كثيرا وخصوصا أني في البداية كنت أقارنها بالهجري واكتشفت أن النتائج بالهجري غير سليمة ثم بدلت التقويم للميلادي وابتدأت الدراسة والمقارنة من جديد .

9 – تمت المعالجة .

10 – تحتاج إلى تحديد تفصيلي منك حتى أستطيع أن أعالج الأخطاء .

11 – تمت المعالجة .

12 – CDate2 و DateSerial2 و DateAdd2 ، ثلاث دوال تستطيع اختيار نوع الخارج/النتيجة إما نص بشكل تاريخ أو تاريخ بشكل رقم مسلسل .

أمر أخير لابد من ذكره - وإن كان بسيطاً - هو الانتباه إلى إعادة نوع التقويم حسب انوع المستعمل في قاعدة البيانات ، عند الخروج من الدالة قبل الوصول إلى سطر إعادة التقويم .

الحقيقة لم أفهما آمل التوضيح أكثر .

تحياتي .

رابط هذا التعليق
شارك

ما شاء الله عليك .. متمكن

أخي الأستاذ ابو هادي

حقيقة ما قمت به هو عمل جبار

وما لاحظته هو استخدامك لـ ( VbFirstWeekOfYear ) وفي القائمة vbFirstJan1

وهذا قد يشكل على المستخدم كيف يكون ذلك وهو يستخدم تقوم عربي ( تقويم أم القرى )

من أجل ذلك أرجو الاطلاع على الكود التالي( UmFirstWeekOfYear ) والنظر في مدى إمكانية استخدامه بدلاً VbFirstWeekOfYear

   Enum UmFirstWeekOfYear
     UmUseSystem = 0
     UmFirstMhrm = 1
     UmFirstFourDays = 2
     UmFirstFullWeek = 3
   End Enum
*** يمكن التعديل فيه كيف ما تشاء *** ( أعلم أنه أمر شكلي ولا يؤثر في النتائج ، ولكن اعتزازًا بتقويمنا الهجري) كما أرجو ملاحظة نتائج ما يلي:
Format2 ("1301/01/01","c")
' وكذلك الأمر مع "yyy"
' ولا تعمل عندما يكون التاريخ    1/1/1300


Format2 (UmDate,"y")      
 ' فإنها لا تعطي أي نتيجة بعد التعديل
' وكانت قبل التعديل  لا تعمل مع أيام سنة 1300

Greg2Um(30,23,1899)
um2Greg(27,8,1317)

اقتراح :

دالة Format الأصلية يمكنها تحويل الرقم إلى تاريخ

وأظن إمكان ذلك في دالة Format2 بعد اختبار وسيطة التاريخ إن كانت من نوع Variant أو Numeric

ومن ثم متابعة عمل الدالة ( وبهذا نقترب أكثر من مطابقة عمل الدالة الأصلية )

تلميذكم أبو سليمان

تم تعديل بواسطه أبوسليمان
رابط هذا التعليق
شارك

السلام عليكم

أخي العزيز أبوسليمان .. اقتراحاتك خطيرة ، أنجزت الأولى وأعمل على الثانية لأكثر من دالة وقد أتأخر عليكم قليلا برفع التعديلات الأخيرة حيث سأضيف على التعديلات تبديل أسماء كل الدوال بحيث تبدأ بحرفي Um بدلا من انتهائها برقم 2 .

حبيبي أبو هيثم .. تشرفت بوجودك بيننا وسعدت بمرورك الكريم ، أما موضوع إنزال الملفات فهي متاحة لكل الأعضاء دون استثناء ، حاول مرة أخرى باستخدام حفظ الهدف بإسم Save Targe As بعد الضغط على زر الفأرة اليمين .

تحياتي .

رابط هذا التعليق
شارك

أخي العزيز الأستاذ أبو هادي

أشكرك كل الشكر على الإطراء والاستفادة من اقتراحاتي في عمل تقويم أم القرى فهذا بالنسبة لي (شرف وفخر)

وأسأل الله العلي القدير أن يقويك في إكمال تقويم أم القرى ، وأن يجعل كل ما تبذله من جهد في ميزان حسناتك

ملاحظات أخرى أخي العزيز :

دالة Format2 والتي ستعدل إلى UmFotmat كما ذكرت بفكرة التعديل في مشاركتك السابقة

أرجو أن تتعامل مع خليط من المعلومات في الوسيطة UmDate

بأن تكون رقمًا أو وقتًا "تنسيق وقت" , تاريخًا "تنسيق تاريخ" ( هجري أو ميلادي ) ، أو أن تحوي عليها جميعًا

حيث الدالة تخرج من العمل بعد تمرير الوسيطة على Test لأنها ترجع قيمة "" - هذه واحدة -

وثانية : لعل وسيطة تحديد نوع المخرج في دالتي Cdate2 و DateSerial2

قد تسبب بعض الإحراج في حالة تداخل عمل الدوال وعدم تحديد نوع المخرج ReturnText بالقيمة True

كما في السطر التالي من دالة GetWeekNo

  DDiff = FirstDayOfWeek - Weekday2(DateSerial2(yy, 1, 1))
والحل " وأرجو أن أوفق في الاقتراح " أن تمرر الوسيطة UmDate إلى روتين فرعي ترجع مخرجات كل نوع في الوسيطة على حدا . يمكن تمريرها قبل تمريرها على دالة Test ؛ وفي هذا الحالة يجب تكرارها في كل دالة أو جعل تمرير الوسيطة إلى الروتين في دالة Test حتى لا يتكرر كتابة الروتين في كل دالة والأمر إليك أخي فأنت أخبر مني بأيها أصلح ولعلك تأتي باقتراح أفضل من هذا . ولعل هذا الاقتراح سوف يغنينا عن وسيطة نوع المخرج ReturnText في الدالتين المذكورتين أعلاه وذلك بتمرير ناتج الدالة على دالة فورمات للحصول على التنسيق المطلوب ولعل الأمر سكون على الصورة التالية
TheDate= UmFormat(UmCDate("12/09/1425"),"yyyy/mm/dd")

طبعًا هذه الصورة ستكون بعد التعديلات التي ذكرتها

**** لحظة للترويح *****

سر فلا كبا بك الفرس

هل تعلم سر هذه العبارة

**********************

أخوك وتلميذك المحب

أبوسليمان

تم تعديل بواسطه أبوسليمان
رابط هذا التعليق
شارك

السلام عليكم

تعديلات كثيرة منها أضافة بعض الدوال الجديدة وتصحيح الأخطاء وحل مشكلة تاريخ 30-12-1899 وسببها الفجوال .

وقد جعلت إرجاع قيمة نص هي التنسيق الإفتراضي .

أخي أبوسليمان .. بارك الله فيك على وقفتك المشرفة معي ولك بعض التعليقات :

1 - أرى أخي أن نتقيد بقدر المستطاع بالدوال الرئيسة واستقلالية كل منها بوظيفتها .

2 - فكرة دوال الوقت شبه اكتملت في رأسي ولكن سأؤجلها إلى مرة أخرى من التطويرات .

3 - يبقى هناك أمر واحد أميل إليه الآن وهو كما أعتقد كانت رغبتك ورغبة الأخ عبدالله سليمان وهو جعل الإتجاه الإفتراضي من اليمن إلى اليسار للتنسيق ، فإذا لا زالت هذه الرغبة قائمة قمت بتعديلها فورا .

4 - في النموذج عملت صندوق/مربع نص يقرأ التنسيق من خصائص المربع نفسه .. آمل الإطلاع .

5 - مودته تدوم لكل هول * وهل كل مودته تدوم ( هذه لأبي سليمان فقط ) .

تحياتي .

ملاحظة : لقد لاحظت الآن فقط أني قد نسيت التعديل في دالة Now فاعتبروها غير منتهية واستبعدوها من تجاربكم .

الملفات المرفقة

UmAlQura_20041026.rar ( 103.15ك ) عدد مرات التنزيل: 18

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

شكرًا لك أستاذ أبو هادي

واعتذر عن تأخري في المتابعة

فقد مررت بظروف منعتني من مراجعة الموضوع

قمت بإنزال الملف الآن ولم أطلع عليه بعد

وسأوافيك بالملاحظات إن وجدت ؛ في وقت لاحق إن شاء الله تعالى

وتقبل خالص تحياتي

أخوك أبوسليمان

رابط هذا التعليق
شارك

الأخ / أبو هادي تسلم على التعديلات الأخيرة ، وإن شاء الله نلقى الوقت لتجربتها .

وبرفقه رابط لتقويم أم القرى من عام 1 إلى عام 1450 :rol:

http://www.awalnet.net.sa/arabic/files/hijrical.asp?m=6&y=1

رابط هذا التعليق
شارك

السلام عليكم

شكرا لك أخي عبدالله سليمان .

فحصت نتائج سنة واحدة فقط وهي سنة 1300هـ فوجدتها تختلف عن نتائج التقويم لدينا الصادر من وزارة المالية والاقتصاد الوطني وهذا مما يدلل أن النتائج محسوبة بناء على الطريقة الجديدة أي ابتداء من عام 1420هـ ، وهذا سوف يؤدي إلى مشكلات عديدة حيث أن النتائج لن تطابق ما اعتمد استخدامه في الدولة وما أرخ فيه لكل الفترة الماضية .

عليه من وجهة نظري أن نستبعد إضافة السنوات ما قبل عام 1300هـ ، مجرد وجهة نظر وبانتظار رأيكم ورأي أخي أبوسليمان والمهتمين بالموضوع .

تحياتي .

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

الأستاذ المبدع / أبو هادي

أبدعت حقًا في الدوال .

وما استطعت فحصه هي دالة UmFormat فقط

ولم ألحظ عليه شيء حتى الآن في النتائج ، وهي - حسب الفحص المبدئي - متطابقة مع نتائح دالة Format .

ولم يسعفني الوقت لفحص عمل بقية الدوال

ولعلي أستأنف معكم بعد انقضاء هذا الشهر الفضيل إن شاء الله تعالى - أسأل الله أن يبلغنا تمامه - .

وبالنسبة لتنسيق التاريخ من اليمين إلى اليسار

ما دمت تميل إلى ذلك أخي أبو هادي فتوكل على الله .

وبالنسبة لمربع النص الذي يقرأ التنسيق من خصائص المربع نفسه

فقد أعجبت كثيرًا بهذه الطريقة وكنت منذ مدة أبحث عن كيفية الاستفادة من خيار "تنسيق" في خصائص مربع النص بالنسبة لتقويم أم القرى - وقد أفدتنا بارك الله فيك وأجزل لك المثوبة - .

مودته تدوم لكل هول * وهل كل مودته تدوم

أعجتبني عبارتك هذه كثيرًا وسررت بها أكثر ، وهي تكافئ :

سر فلا كبا بك الفرس

تكافئها في السر الذي قصدته ، وليس المعنى طبعًا ، فمعنى البيت جميل ولطيف ، ولا أجد ما أكافئك عليها .

أخي الأستاذ/ عبدالله سليمان

لك الشكر الجزيل على هذا الرابط والذي يزويدنا بالماضي من تقويمنا العزيز .

غير أني أميل إلى رأي الأستاذ أبو هادي

فاحتياجنا لمثل هذا العمق من التقويم قد يكون شبه منعدم ، إلا إذا ظهرت حاجة قوية إلى هذه الفترة .

تقبل الله الصيام والقيام

وكل عام وانتم بألف صحة عافية

وعساكم من عواده

أخوكم ومحبكم

أبو سليمان

تم تعديل بواسطه أبوسليمان
رابط هذا التعليق
شارك

أشكر لكما التواصل :

- لقد جربت الدوال في برنامج الوورد VBA ونجحت بالعمل مع بعض التعديلات على أحداث مربع النص قبل وبعد التحديث .ر

- تغيير أسماء الدوال توجه صحيح وقد كنت أفكر فيه لكن أبو هادي سبقني أليه .

- أبو هادي الأمر كما قلت فيجب أن يكون حساب التقويم في السنوات التي سبقت اعتماد تقويم أم القرى كما هو دون تغيير ، ولكن ألا يمكن أن نبدأ من اليوم الأول للتقويم الهجري . ولا أدري حقيقة ماذا سيكون وضع التواريخ الموجودة في كتب التاريخ المعتمدة هل ستخلف فيها التواريخ أو الأيام عن هذا التقويم . وما هو المرجع عند وجود الاختلاف هل هو من عاش الحدث وسجل اليوم والتاريخ أم نحن بتقويمنا .

- يرتبط بما سبق فكرة برمجة برنامج بالفيجول بيسك لتحويل التاريخ يكون متعددة الأفكار ( أم القرى والهجري والميلادي ) مع ملفات مساعدة توضح الفرق بين التقاويم .

- كما أنه في النهاية وعند اكتمال العميل يجب علينا تحويل جميع هذه الدوال إلى مكتبة (DLL) من يرغب في استخدامها يقوم بإضافتها إلى الأكسس بكل سهولة. مع عمل ملفات مساعدة لها .

- لعله بالإمكان بعد عمل المكتبة مراسلة مدينة الملك عبدالعزيز للعلوم والتقنية للأخذ شهادة منها بصحة بيانات الدوال التاريخية لهذه الدالة . بعد ذلك يمكن مراسلة شركة مايكروسوفت أو فرعها بالسعودية لتضاف هذه المكتبة وملفات المساعدة الخاصة بها إلى برامج الأوفيس ، مع حفظ حقوق أخينا أبو هادي الأدبية فيها.

أرجو ألا أكون قد شطحت بعيداً بأفكاري . :d

برفقه المثال بالدوال الجديدة مع بعض التعديلات البسيطة خاصة على طريقة العرض في النموذج .

الملفات المرفقة

UmAlQura_20041103.rar ( 83.96ك ) عدد مرات التنزيل: 22

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

نسيت أن أذكر أن دالة DateDiff تختلف فيها النتيجة بالسنة والأسبوع كما في المثال السابق عند تحويل التقويم إلى ميلادي ، ولعل الحل لهذه المشكلة هو تحويل التقويم إلى ميلادي في دالة UmDateDiff للتتطابق النتائج في السنة أم الأسبوع فهو مرتبط في السنة الميلادي بأمور أخرى كبداية أول أسبوع في السنة .

تم تعديل بواسطه عبدالله سليمان
رابط هذا التعليق
شارك

السلام عليكم

لعلي أستأنف معكم بعد انقضاء هذا الشهر الفضيل إن شاء الله تعالى - أسأل الله أن يبلغنا تمامه - .

أخي أبوسليمان .. بلغكم الله تمامه وأعاده عليكم أعواما مديدة وتقبل الله منكم صيامكم وقيامكم .

- يرتبط بما سبق فكرة برمجة برنامج بالفيجول بيسك لتحويل التاريخ يكون متعددة الأفكار ( أم القرى والهجري والميلادي ) مع ملفات مساعدة توضح الفرق بين التقاويم .

- كما أنه في النهاية وعند اكتمال العميل يجب علينا تحويل جميع هذه الدوال إلى مكتبة (DLL) من يرغب في استخدامها يقوم بإضافتها إلى الأكسس بكل سهولة. مع عمل ملفات مساعدة لها .

- لعله بالإمكان بعد عمل المكتبة مراسلة مدينة الملك عبدالعزيز للعلوم والتقنية للأخذ شهادة منها بصحة بيانات الدوال التاريخية لهذه الدالة . بعد ذلك يمكن مراسلة شركة مايكروسوفت أو فرعها بالسعودية لتضاف هذه المكتبة وملفات المساعدة الخاصة بها إلى برامج الأوفيس ، مع حفظ حقوق أخينا أبو هادي الأدبية فيها.

أخي عبدالله سليمان .. سأعود لك فيما بعد للتعليق على هذه الملاحظات :d وشكرا لجهودك الكريمة .

أنا الآن بصدد معالجة التاريخ ودوالها ، وقد طعت المرحلة الأصعب وسوف تكون هدية العيد إن شاء الله تعالى ولكنها ستحتاج وقت وقد يطول الوقت بعض الشيء ، فانتظروني .

تحياتي .

رابط هذا التعليق
شارك

  • 2 weeks later...

السلام عليكم و كل عام و أنتم بألف خير

أستاذنا أبو هادي لدي سؤال يتعلق بموضوع برنامج فواتير الكهرباء في السعوديه

و لكنه يتعلق بفقرة التواريخ .

فقد عملت برنامجا مشابها و لكنه أطول و أوسع , و لكن واجهتني مشكلة الفترة الزمنية

بين التاريخين السابق و الحالي , حيث أجد فروقات دائما .

و قد جربت في مثالك الذي أرفقته بخصوص برنامج الكهرباء في الموقع , و كانت النتائج

صحيحه بتوفيق الله

فهل استخدمت دوال أم القرى في ذلك البرنامج , مع أنه كان منذ حوالي أكثر من سنه ؟

و هل من الممكن أن أطبقها في برنامجي ؟

رابط هذا التعليق
شارك

السلام عليكم

أخي rudwan .. أنا لا أتذكر ماكتبته قبل أسبوع حتى أستطيع أن أتذكر ماكتبه قبل سنة :(

عموما إذا أردت دالة لحساب الفترات بشكل سنوات وشهور وأيام فالدوال من ضمنها دالة GetPeriod تقوم بذلك بكل دقة مع ملاحظة تمرير رقم3 لنوع التقويم . أما إذا أردتها بالأيام فتستطيع استخدام دالة Um2Greg لتحويل تاريخ أم القرى إلى ميلادي ثم تطرح التاريخين من بعضهما أو استخدام دالة UmDateDiff مباشرة .

فقد عملت برنامجا مشابها و لكنه أطول و أوسع

طيب أخ rudwan لماذا لا ترينا شيئا ولو يسيرا مما عملته فيما يخص هذا الموضوع فأنت كريم ونحن نستاهل :d

تحياتي .

رابط هذا التعليق
شارك

السلام عليكم

آسف على التأخير ،

مرفق المثال من جديد مع دعم الدوال بكل ما يخص الوقت .

بمعنى آخر أعتقد أنها الآن كاملة ومشابهة تماما للداول الأصل ماعدا التالي :

مدد/نتائج السنة والشهر والأسبوع لدالة UmDateDiff حيث تعتمد نتائجها على دالة GetPeriod والتي بدورها لا تعتمد العاملين :

1 - أول يوم في الأسبوع

2 - أول أسبوع في السنة

كما الدالة الأصل ، وهي لا تزال تحت الدراسة ولكنها تفي بالغرض إلى نسبة 99.99% .

أعتقد أن الدوال أصبحت أكثر تعقيدا وتحتاج التدقيق العنيف ولو أني ضد العنف ولكن الضرورة تقتضيه الآن :d

ملاحظة :

شاهدوا Query2 حيث تتعامل دوال التاريخ مباشرة مع التاريخ الميلادي أو الهجري دون الحاجة إلى تحويل وهذا قد يقنع بما فيه الكفاية من يقوم بتخزين التاريخ بشكل نصي أن يتراجع ويبدأ فورا باستخدام حقول التاريخ .

تحياتي .

الملفات المرفقة

UmAlQura_20041119.rar ( 132.42ك ) عدد مرات التنزيل: 13

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

أستاذي الفاضل ابو هادي

أشكرك من أعماق قلبي على الرد الجميل , و آسف ان كنت أخطأت التعبير عندما قلت أنني

عملت برنامجا أوسع و اشمل , فأنا بالتأكيد لم أقصد أنه أوسع و أشمل من الناحيه البرمجيه , ( مع الاعتذار للاستاذ أبو عقيل فالمثال كان له و ليس للآستاذ أبو هادي )

و لكنني باعتباري أعمل في شركة و أنظم فيها عملية دفع فواتير الكهرباء التي تتجاوز 300 فاتوره , فكان من الضروري القيام بعمل برنامج لضبطها , و أنا يشرفني وضعه في الموقع لكن كيف ؟

ثانيا جربت مثالك الموجود أعلاه على فاتوره , كان تاريخ بدايتها 9/7/1425

و النهايه 13/8/1425

حسب مثالك umdatediff الفتره الزمنيه 33 يوما

بينما في مثال الآستاذ أبو عقيل 34 يوما , و هو مطابق لحساب الفاتوره الفعلي من قبل

شركة الكهرباء

حساب فاتورة الكهرباء في السعوديه

لذا أتمنى أن أعرف الداله التي استخدمها الاستاذ أبو عقيل في مثاله

رابط هذا التعليق
شارك

السلام عليكم

لقد أنزلت مثال الأخ أبو عقيل وفحصت النتائج وكانت النتائج كالتالي :

- لا تقويم مستخدم في المثال أي أنه لا يستخدم التقويم الهجري ولا يستخدم تقويم أم القرى .

- لذلك هو يستخدم حقول نصية للتاريخ ويقوم باستخراج المدد باعتبار أن مدة كل الشهور 30 يوم .

- لذا فأن النتائج كلها تقريبية وتفتقد إلى الدقة .

- يمكن للأخ أبو عقيل الإقتراب إلى الدقة بشكل كبير بعمل التالي :

استخراج المدة بين تاريخين باستبعاد تاريخ البداية كالتالي :

  YearAvg = 354.366667
  Days = Round(((yy + (mm / 12)) * YearAvg) + (dd / 360 * YearAvg))
استخراج المدة بين تاريخين بتضمين تاريخ البداية كالتالي :
  Days = Round(((yy + (mm / 12)) * YearAvg) + ((dd + 1) / 360 * YearAvg))
أما دالة UmDateDiff فهي معدة لتقويم أم القرى وهي شبيهة لدالة DateDiff الأصل . واستخدامها كالتالي : استخراج المدة بين تاريخين باستبعاد تاريخ البداية كالتالي :
Days = UmDateDiff("d", "09/07/1425", "13/08/1425")
استخراج المدة بين تاريخين بتضمين تاريخ البداية كالتالي :
Days = UmDateDiff("d", "09/07/1425", "13/08/1425") + 1

تحياتي .

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

السلام عليكم

أستاذنا أيو هادي حفظك الله ,

أنا آسف لم اتمكن من تجربة الداله الا اليوم صباحا , و قد جربتها على عدة فواتير بتواريخ مختلفه و قد أعطت النتائج التاليه

  • - تاريخ من - تاريخ الى - الفترة حسب الفاتوره - الفتره حسب umdatediff
  • 23/6/25 -- 26/7/25 ----- 33 --------- 34
  • 14/7/25 -- 15/8/25 ----- 30 --------- 31
  • 30/6/25 -- 1/8/25 ----- 30 ---------- 31
  • 09/5/25 -- 10/6/25 ---- 30 ---------- 31
أما بقية النتائج فقد كانت متطابقه

و أنا أخشى أن تكون حساب الفتره لدى شركة الكهرباء نفسها غير صحيحه لأنني وجدت

الفاتورتين التاليتيين من قبل الشركة

من 20/7/25 الى 19/8/25 = 30 يوما

من 19/7/25 الى 19/8/25 = 30 يوما

و الواضح أن احدى النتيجتين غير صحيح لأن البدايه مختلفه

تم تعديل بواسطه rudwan
رابط هذا التعليق
شارك

السلام عليكم

شكرا لك أخي rudwan .. تجربتك ممتازة وتثبت أن الدالة تؤدي وظيفتها على ما يرام ، أما نتائج شركة الكهرباء فالخطأ واضح ولا يحتاج لبذل المزيد من التجارب .

فقط سأوضح لك متى تضيف يوم على المدة ومتى تمتنع عن إضافته .

بافتراض أن تاريخ انتهاء فاتورة ما هو 15/09/1425هـ :

- لو أن تاريخ البداية للفاتورة التالية هو نفسه 15/09/1425هـ فستستخدم الدالة UmDateDiff دون الحاجة إلى زيادة يوم .

- أما لو أن تاريخ البداية للفاتورة التالية 16/09/1425هـ فستضطر إلى إضافة يوم على نتيجة الدالة .

تحياتي .

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه



×
×
  • اضف...

Important Information