تقييم الموضوع :
  • 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
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية عمل برنامج للأذان + قاعدة بيانات لـ 252 دولة و 9512 مدينة ! : مبرمج أوتار 2 8,407 25-11-17, 01:21 PM
آخر رد: محمد خالد
  [شرح] اتصال بقاعدة بيانات اكسيس , اضافة بيان , تعديل بيان , حذف بيان , عرض البيانات . ahmed salam 23 13,212 03-11-17, 09:27 PM
آخر رد: تنمية المعرفة
  حل مشكلة التهنيج عند قراءة بيانات ضخمة من مصفوفة silverlight 10 225 29-10-17, 01:38 PM
آخر رد: silverlight
Lightbulb [VB.NET] درس مبسط في الاتصال بقاعدة بيانات SQL Bin-Komet 3 130 23-10-17, 09:34 AM
آخر رد: مصمم هاوي
Rainbow [VB.NET] كلاس ResizeControls وطريقة جديد ومميزة لتكبير وتصغير ادوات الفورم تلقائيا الماجيك مسعد 11 1,001 30-05-17, 07:10 PM
آخر رد: alsouf
  تغيير تاريخ الحاسوب Basil Abdallah 2 386 25-02-17, 03:00 AM
آخر رد: sendbad100
  طباعة بيانات موجودة في برنامج على ( 2003 Microsoft Office Word ) abulayth 1 844 11-09-16, 07:20 AM
آخر رد: أبووسم
  مشكلة في الاتصال بقاعدة بيانات Mr.Fenix 2 425 19-08-16, 09:34 AM
آخر رد: Mr.Fenix
  [VB.NET] الأتصال بقاعدة بيانات اكسس2007 مع فجوال 2010 raaddawood 1 909 27-05-15, 03:40 PM
آخر رد: قناص المدينة
  [VB.NET] كيفية انشاء قاعدة بيانات برمجيا VB.net (صوت وصورة) أحمد النجار 0 1,103 18-01-15, 06:59 AM
آخر رد: أحمد النجار

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


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