تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
نوع بيانات جديد (تاريخ)
#1
كاتب الموضوع : FlyToAbd

بسم الله الرحمن الرحيم

الاولى: في التاريخ الهجري يحصل انه دولة معينة تعتمد شهر معين اطول من الحساب الفلكي المعتمد في الدوت نت وعليه سيتوقف المبرمج امام هذه المشكلة (السبب من فرض يوم صحيح فلكيا هو لحاجة الامكانية AddDays اضافة ايام كثير للتاريخ مثلا 70 يوم فلكي يجد التاريخ الصحيح بعد الاضافة عليه ان يعتمد القيم الفلكية لعدد ايام الشهر)

الثانية: حجم البيانات 8 بايت ويعتبر كبير حيث اننا لانستخدمه بكامل مواصفاته فمثلا في كثير من الاحوال نحن نستخدمه للتاريخ وهو فيه مكان للوقت وبذلك لانستفاد من هذا الفراغ وكذلك حدود التاريخ الممكنة هي من 1/1/1 الى 31/12/9999 ونحن لا نستخدم الا جزء صغير من هذا المجال الواسع في الكثير من برامجنا

نلاحظ وجود انواع عديدة لتخزين الاعداد الصحيحة مثل Byte(1), Short(2), Integer(4), Long(8), Decimal(16)
وكذلك SByte و UShort و UInteger و ULong عدى انواع البيانات التي تمثل الاعداد الحقيقية
وكل واحدة بمدى معين وانت تختار ما يناسبك فلماذا لا نعمل نوع جديد للتاريخ بحيث يكون حجمه اقل ومداه اقل
كذلك يتقبل قيمة اليوم خاطئة لكي يمكن حل المشكلة الاولى ولنخسر الامكانية AddDays فقط عندما يكون عدد الايام لدينا غير صحيح ونضيف له امكانية التحويل (مع تصحيح الخطأ) لنوع التاريخ المستخدم لدينا للاستفادة من باقي الامكانيات

اعتقد انه اصبح المبرر قوي لعمل هذا الكائن
اسم الكائن DateRange مجال تاريخ واقصد به نوع تاريخ ولكن ضمن مجال ملحوظ وهو حوالي 170 سنة وتحدد انت البداية المطاوبة له فمثلا تجعل البداية 1920 فسوف يغطى لغاية 2090
حجم الكائن 2 بايت حيث سيكون اول خمس بتات لليوم وسيتقبل من 0 الى 31 والبتات الاحدى عشر ستكون لعدد الاشهر اي 2^11 يساوي 2048 شهرا ولو قسمنا على 12 شهر للسنة الواحدة سيكون الناتج اكثر من 170 سنة

الخصائص العامة:
Day هذه الخاصية لقراءة وكتابة قيمة اليوم
Month لقراءة وكتابة قيمة الشهر
Year لقراءة وكتابة قيمة السنة

الطرق العامة:
ToString لقراءة قيمة التاريخ على شكل نص
ToShort لقراءة قيمة التاريخ على شكل رقم من 2 بايت
ToDate لقراءة قيمة التاريخ على شكل نوع تاريخ عام مع تصحيح خطأ اليوم ان وجد

IsFalseDate يرجع True اذا كان مقدار اليوم غير صحيح مع فرض ان الشهر والسنة صحيحتان

المشروع بالمرفقات
http://vb4arb.com/vb/uploaded/18_01349393612.zip
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [شرح] اتصال بقاعدة بيانات اكسيس , اضافة بيان , تعديل بيان , حذف بيان , عرض البيانات . ahmed salam 20 9,096 26-09-16, 08:12 AM
آخر رد: abumuhannadzym
  طباعة بيانات موجودة في برنامج على ( 2003 Microsoft Office Word ) abulayth 1 278 11-09-16, 07:20 AM
آخر رد: أبووسم
  مشكلة في الاتصال بقاعدة بيانات Mr.Fenix 2 187 19-08-16, 09:34 AM
آخر رد: Mr.Fenix
  [VB.NET] الأتصال بقاعدة بيانات اكسس2007 مع فجوال 2010 raaddawood 1 577 27-05-15, 03:40 PM
آخر رد: قناص المدينة
  [VB.NET] كيفية انشاء قاعدة بيانات برمجيا VB.net (صوت وصورة) أحمد النجار 0 726 18-01-15, 06:59 AM
آخر رد: أحمد النجار
  كيفية عمل برنامج للأذان + قاعدة بيانات لـ 252 دولة و 9512 مدينة ! : مبرمج أوتار 1 3,685 15-07-13, 04:36 PM
آخر رد: مبرمج بلا حدود
  دمج قاعدة بيانات SQL Server 2008 مع المشروع بالـ VBNET snipercoder 3 2,016 12-02-13, 03:39 PM
آخر رد: wael
  كونترول جديد من مايكروسوفت MsChart Control RaggiTech 1 549 05-10-12, 03:04 PM
آخر رد: RaggiTech
  ۩۞أفضل قاعدة بيانات للقرآن الكريم سهلة التعامل جداً ( لا تضيع الفرصة )۩۞ RaggiTech 1 1,094 04-10-12, 10:54 AM
آخر رد: RaggiTech
  جديد 2010- اكتب الكود الذي سيستخدم فئتك ثم قم بإنشائها RaggiTech 0 336 03-10-12, 12:27 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم