همون طور كه دوستمون گفتند شما تاريخ رو به صورت String از كاربر دريافت كنيد و در بانكتون ذخيره كنيد ، مشكلات همه حل ميشه ...
هم مشكل محاسبه و هم مشكل تاريخ شمسي حل ميشه ...
البته در برخي از موارد ( بسته به نوع كاري كه ميخوايد انجام بديد ) بايد از يك كامپوننت تاريخ شمسي براي كار با تاريختون استفاده كنيد ، چون تاريخ شمسي براي سيستم كه تاريخش ميلادي هست ، قابل قبول نيست ( در برخي موارد )
درست نشون ميده (مثلا 14:30) ولي توي دلفي توي DBGrid با تاريخ و ب.ظ و ق.ظ و حتي ثانيه رو هم نشون ميده. اينجوري (20/11/1899 14:30:00 ب.ظ). چيكار بايد كرد تا مثل همون اكسس زمان رو نشون بده.
براي حل اين مشكل چندين راه وجود داره ، يك راه غير معمول اينه كه با توابعي نظير Monthof و DayOf و Yearof و ... به ترتيب ، ماه ، روز و سال رو جدا كنيد و ذخيره كنيد و يا با HourOf و MinuteOf و SecondOF اين كار رو براي ساعت انجام بديد ...
كار با اين توابع ساده هست و نكته ديگه اين كه براي كار با اين توابع بايد يونيت DateUtils رو به قسمت Uses فرمتون اضافه كنيد ...
ولي در كل راه حل بالا زياد معمول نيست و دردسر داره ، اما اگه نوع تاريخ رو به String تبديل كنيد ديگه مشكلي پيش نمي ياد ...
براي مشكلتون ، ميتونيد يك كامپوننت تاريخ شمسي تهيه كنيد ، بعد زماني كه نياز به ذخيره اطلاعات هست ، تاريخ رو به وسيله اون تبديل به شمسي كنيد و اون رو به صورت String ذخيره كنيد ، كامپوننتهاي تاريخ شمسي توابعي دارن كه مي تونيد با اونها تاريخ رو به صورت جدا و بدون ساعت و يا " ق.ظ " و ... داشته باشيد ...
يكي از كامپوننتهاي رايگان اينه كه آموزش استفادش هم هست: ( در همين سايت هم اگه جستجو كنيد يكي پيدا ميكنيد )
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه باز هم مشكلتون حل نمي شه بگيد تا مثالي بزنم ...
موفق باشيد ...