ورود

View Full Version : بدست آوردن سن از طریق تاریخ



soonami
جمعه 20 خرداد 1390, 01:28 صبح
دوستان یه برنامه هست که کاربرتاریخ تولد و فامیل طرف میگیره بعد وسط صفحه نمایش نشون میده
__________________________________________________ ________________________

خوب من اسم و فامیل میگیرم با تاریخ بعد وسط صفحه نشون میدم
__________________________________________________ ____

مشکل اینجا ست که چطوری سن طرف با استفاده از تاریخ نشون بدم

* تاریخ سیستم میگیرم بعد تاریخ تولد میخ واهم کم کنم ارور میده بلد نیستم :دی

__________________________________________________ ___________

الان مشکل من اینکه کاربر تاریخ تولد زد سنشو وسط صفحه نشان بده

unknown.unforgiven
جمعه 20 خرداد 1390, 08:54 صبح
سلام
اول سالی که از تاریخ سیستم گرفتی رو از سالی که کاربر وارد کرده کم کن و تو یه متغیر (مثلاً سن) ذخیره کن، بعدش ماهی که از تاریخ سیستم گرفته رو با ماهی که کاربر وارد کرده مقایسه کن. سه حالت پیش میاد:
1. ماهی که از تاریخ سیستم گرفته کمتر از ماهیه که کاربر وارد کرده. در این صورت از سن یه واحد کم کن (تمام)
2. ماهی که از تاریخ سیستم گرفته با ماهی که کاربر وارد کرده برابرن. در این صورت 2 حالت پیش میاد:
الف. روزی که از تاریخ سیستم بدست اومده کمتر از روزی باشه که کاربر وارد کرده. در این صورت از سن یه واحد کم کن (تمام)
ب. روزی که از تاریخ سیستم بدست اومده بزرگتر یا مساوی روزی باشه که کاربر وارد کرده. در این صورت سنی که بدست آوردی دست نخورده باقی میمونه
3. ماهی که از تاریخ سیستم گرفته بزرگتر از ماهیه که کاربر وارد کرده. در این صورت سن بدست اومده دست نخورده باقی میمونه
با این تفاصیر فقط باید شرط های 1 و 2.الف رو چک بکنی

soonami
جمعه 20 خرداد 1390, 09:38 صبح
دوست عزیز گیج شدم :متعجب:

من گفتم بلد نیستم اینطوری که شما گفتید ------------!!!!!!!!

طرف ماه وارد نمی کند خدمتتون گفتم وارد میکند 1364 به طور مثال

حال چطوری نشان بده سن

تاریخ سیستم میگیرم تاریخ تولد میگیرم نمی تونم کم کنم اگر مقدوره با کد یا شبه کد بگید چی کار کنم

unknown.unforgiven
جمعه 20 خرداد 1390, 09:43 صبح
واسه گرفتن تاریخ سیستم از INT 21h/2Ah استفاده میکنی دیگه؟ عددی رو که کاربر وارد میکنه (مثلاً همون 1364) بریز تو ax، بعد cx رو منهای ax بکن (sub cx,ax)

soonami
جمعه 20 خرداد 1390, 10:01 صبح
همین > ؟؟؟؟ بله

من می ریختم تو ah حالا باید بجاش بریزم تو ax و سپس طبف رمایش شما کم کنم ؟


mov ah,2ah
int 21h

unknown.unforgiven
جمعه 20 خرداد 1390, 10:19 صبح
البته یه چیز رو یادم رفت بگم، اول یا باید تاریخ شمسی رو به میلادی تبدیل کنی یا میلادی رو به شمسی. چون تاریخ سیستم میلادیه ولی تاریخ کاربر شمسی

soonami
جمعه 20 خرداد 1390, 10:31 صبح
خوب دوست عزیز من تو جزوه هام میگردم تبدیل شمسی پیدا میکنم اگر کاربر یه میلادی وارد کنه

همونطوری که من گفتم باید انجام بدم ؟

unknown.unforgiven
جمعه 20 خرداد 1390, 10:42 صبح
باید براش شرط بذاری که به یه فرم وارد بکنه، نمیتونی کاری بکنی که هم میلادی هم شمسی جواب بده مگر اینکه قبلش از کاربر بپرسی و برنامه رو متناسب با ورودی اجرا بکنی.

mov ah,2ah
int 21h
mov ax,1985 ;ya har tarikhe miladi ke karbar vared karde
sub cx,ax

soonami
جمعه 20 خرداد 1390, 10:49 صبح
ویرایش شد ....................................

unknown.unforgiven
جمعه 20 خرداد 1390, 10:53 صبح
بیخیال Ax! برنامه ای که بالا گذاشتم واسه تاریخ میلادیه


mov ah,2ah
int 21h
این واسه گرفتن تاریخ سیستمه، با این کاری نداشته باش

soonami
جمعه 20 خرداد 1390, 12:00 عصر
دوست عزیز اینو بلدم

طرف میزنه 1986 بعد تاریخ سیستم کم میشه میشه سن طرف

unknown.unforgiven
جمعه 20 خرداد 1390, 12:05 عصر
دوست عزیز اینو بلدم

طرف میزنه 1986 بعد تاریخ سیستم کم میشه میشه سن طرف

خب الآن مشکل چیه؟:متفکر: کجای برنامه گیر کردی؟

soonami
جمعه 20 خرداد 1390, 12:12 عصر
برنامه کار نمی کنه با emu مینویسم

میخوام کاربر هر تاریخی وارد کنه سنشو نشان بده

unknown.unforgiven
جمعه 20 خرداد 1390, 12:13 عصر
برنامه رو بذار اینجا. داده هایی رو که وارد کردی هم بگو

soonami
جمعه 20 خرداد 1390, 13:31 عصر
دوست عزیز پیغام خصوصی دادم