الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه Bachirsoft في 31 أكتوبر 2012 · 5 رد · 1,420 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أما بعد

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

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

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

المطلوب هو:

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

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

#2

سلام عليكم

التاريخ والوقت في لغة الباسكال هو عبارة عن عدد حقيقي حيث يمثل الجزء الصحيح منه عدد الايام والجزء العشري يمثل الوقت أي 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 في 1 نوفمبر 2012 في 22:11

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#3

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

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

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

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

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

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

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

تم تعديل هذه المشاركة بواسطة علي .ع في 2 نوفمبر 2012 في 02:48

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#4
علي .ع كتب:

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

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

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

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

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

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

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

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

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

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

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

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#5

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

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

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

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

#6

السلام عليكم

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

مواضيع مشابهة