• 0
Bachirsoft

حصر السن وحسابه

سؤال

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

أما بعد

لدي مشكل في برنامجي وهي

لدي تاريخ اجراء مسابقة(Date1) ، و تاريخ الميلاد (Date2)

حيث أن المترشح للمسابقة لا يجب أن يقل سنه عن 20 سنة ولا يفوق 30 سنة

المطلوب هو:

- كيف يتم حساب هذه العملية مع اعطاء مربع حوار في ان كان العمر اقل او اكبر من 20 او 30 سنة وكذا سن المترشح ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

وكل مشكور على المحاولة والتوجيه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

سلام عليكم

التاريخ والوقت في لغة الباسكال هو عبارة عن عدد حقيقي حيث يمثل الجزء الصحيح منه عدد الايام والجزء العشري يمثل الوقت أي 0.1 هي عشر يوم وتساوي 2 ساعة و40 دقيقة والصفر يمثل بالتارخ 30/12/1899 فما قبله يكون عددا سالبا وما بعده يكون عددا موجبا

يعرف التاريخ والوقت بالنوع Tdatetime وهو نوع يشابه Double

يستجلب تاريخ اليوم بالدالة now

التاريخ المدخل من طرف المشترك والذي هو تاريخ ميلاده سيكون على هيئة text dd/mm/yyyy

للحساب يجب عليك اولا تحويل هذا التاريخ إلى عدد حقيقي بالدالة

encodedate(yyyy,mm,dd)

ناتج الدالة هو عدد حقيقي من النوع TDateTime

آن قم بحساب فارق الزمن بين تاريخ اليوم وتاريخ الميلاد بالعملية

x:=now-encodedate(yyyy,mm,dd)

حيث x متغير معرف من قبل ب

var x:TdateTime

الآن بقي عليك أن تقارن الناتج بالقيمتين الثابتتين وهما 20 سنة و30 سنة وهما يعادلان العددين الحقيقين

20*365=7300

30*365=10950

في حدث الضغط على زر اكتب


if x > 10950 then showmessage('سنك أكبر من السن القانونية للاشتراك في المسابقة')
else
if x < 7300 showmessage('سنك اصغر من السن القانونية للاشتراك في المسابقة');

أرجو ان يكون واضحا

فإن كان

تم تعديل بواسطه linuxman
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الحل سهل اخي الكريم او بالاحرى عدة حلول

يمكنك استخدام استعلام التالي


Select ((table2.date2)-(table1.date1)/365) From Table1,Table2

وهو سهل اذا نقوم بطرح تاريخ المسابقة من تاريخ ميلاد المترشح ثم نقسم على عدد ايام السنة

اتمنى ان اكون قد وفقت في الشرح

وفقنا الله واياكم لما يحبه ويرضاه

تم تعديل بواسطه علي .ع
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الحل سهل اخي الكريم او بالاحرى عدة حلول

يمكنك استخدام استعلام التالي


Select ((table2.date2)-(table1.date1)/365) From Table1,Table2

وهو سهل اذا نقوم بطرح تاريخ المسابقة من تاريخ ميلاد المترشح ثم نقسم على عدد ايام السنة

اتمنى ان اكون قد وفقت في الشرح

وفقنا الله واياكم لما يحبه ويرضاه

تصحيح بسيط ولكنه ضروري


Select (((table2.date2)-(table1.date1))/365) From Table1,Table2

وهذه الطريقة أخي الفاضل تنفع في قواعد البيانات والسائل لم يذكر أنه يستعملها في برنامج

تقبل مروري... :happy:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم اخواني

اشكركم على الاقتراحات ولكن يبقى المشكل قائم حيث اريد مقارنة تاريخ الميلاد لفرد بتاريخ اجراء امتحان اي ليس السنة فقط بل اليوم والشهر والسنة

وكذالك يعرض عمر هذا الفرد وان كان اقل من 20 سنة او اكبر من 30 سنة فلا يقبل ذلك

اريد من الاخوة الكرام ولو مثال على ما يقترحون ...................ز واجركم على الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اين الردود فانا بامس الحاجة لهذا السورس وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .