السلام عليكم
هذا البرنامج يقوم بحساب العمر بي الضبط + اي يوم ولدت
ملاحظة : البرنامج للمبتدائيين
السلام عليكم
هذا البرنامج يقوم بحساب العمر بي الضبط + اي يوم ولدت
ملاحظة : البرنامج للمبتدائيين
تم تعديل هذه المشاركة بواسطة sahraoui17 في 26 نوفمبر 2011 في 21:40
علاء الصالحي كتب:جميل جداً
لماذا لا تحدثنا عن أفكارك في البرنامج؟
تحياتي
السلام عليكم
شكرا اخ علاء على اهتمامك بي الموضوع لانك اول رد منذ اسبوع "تحية لي اهل غزة و كل فلسطين 'نحن في الجزائر سعيدين جدا بي الوحدة :yes: عقبال جميع المسلمين إن شاء الله' "
اسف لخروجي عن الموضوع
في الحقيقة ليست فكرتي
كنت انظر لي احدى الاجندات و وجدت في احدى صفحاتها جدول يمكنك من معرفة اي يوم ولدت فيه , فاردت ان اعمله برنامج , ثم اردت ان اطوره لي يعطيك عمرك بي التحديد
فتفجاءت ان هناك عدة مواقع سبقتنى الى الفكرة مثلا http://www.agecalc.net/default.aspx "ولد الحرام لم يتركو لي ولد الحلال حاجة ههههههه"
************
لحساب العمر ناخذ القيم من المستخدم في ننشى GregorianCalendar بهذه القيم , انا سميتها bd
ثم انشى Calendar تمثل الوقت في هذه اللحظة عن طريق الدالة Calendar.getInstance() "كان بامكانى اضافة العمر بي المليثانية و الثانية و الدقيقة..... مثلما فعل الموقع لكن اضن ان تلك الفكرة سخيفة"
ثم قمت بحساب الفارق بينهما بستعمال الجدول monthday
هذا الجزء الاول من البرنامج ام الجزء الثانى فهو كتالى
الجدول mois يحتوى على 12 عمود و هي تمثل عدد اشهر السنة
و فيه 28 سطر
القرن التاسع عشر يبداء من السطر الاول و العشرين يبداء من السطر الخامس و القرن الواحد و العشرين يبداء من السطر 21 , "و هو المتغير offset في البرنامج"
لاحظ ان الجدول به 28 سطر و لهذا استعملت باقي القسمة %
تاخذ سنة ميلدك + offset حسب القرن الذي ولدت فيه , باقى قسمة هذا العدد على 28 يمثل السطر في الجدول mois
لناخذ مثال
و ليكن 1833
offset=0 لانه القرن 19
33+0%28 يساوى5
اي السطر الخامس و هو (2,5,5,1,3,6,1,4,0,2,5,0)
هذه القيم تمثل في اي يوم كان او الشهر بلنسبة لي الاحد
مثلا لحظ القيمة التاسعة اي شهر سبتمبر تساوي الصفر اي ان 1 سبتمبر من سنة 1833 كان يوم الاحد
بختصار تاخذ اخر رقمين من سنة ميلادك ثم تضيف لها 0 اذا كنت مولود في القرن 19 او 5 اذا كنت مولود في القرن 20 او 21 اذا كنت مولود في القرن 21
العدد المحصل من باقي قسمة هذا العدد على 28 يمثل رقم السطر , و الشهر الذي ولدت فيه يمثل رقم العمود . تذهب الى القيمة المحددت في الجدول mois ثم تضيف لها يوم ميلدك , باقي قسمة هذا العدد على 7 يمثل اي يوم ولدت فيه
1 يمثل الاحد
2 يمثل الاننين .......
و هي وظيفة الدالة Which_day في البرنامج
**********
ام باقي البرنامج فهو سهل للفهم
الدالة Date_valid للتاكد من ان التاريخ المدخل من المستخدم صحيح
جرب ادخال التاريخ 30 فيفري و سترى ماذا سيحصل
*****
استخدمت الكلاس YearField ثم اضفته الى palette لكي اجبر المستخدم على ادخال 4 ارقام فقط في خانة السنة
جرب ادخال اكثر من 4 ارقام لن تستطيع
*******
الكلاس colck خاص بي الساعة و التاريخ اللذان اعلى البرنامج
**********
ImagePanel و TransparentPanel لي اضافة صورة للخلفية
تم تعديل هذه المشاركة بواسطة sahraoui17 في 3 ديسمبر 2011 في 13:43
كل الشكر والتقدير