واضح آرشیو وب فارسی:سایت ریسک: View Full Version : مشكل در فيلدهاي نوع Date/Time Malihe_H15-02-2008, 01:34 AMسلام. يه مشكلي توي فيلدهاي نوع Date/Time دارم لطفا كمك كنيد. در مورد Time، يه فيلد ساعت شروع دارم كه تو اكسس با فرمت Short time ذخيره شده و ساعت رو درست نشون ميده (مثلا 14:30) ولي توي دلفي توي DBGrid با تاريخ و ب.ظ و ق.ظ و حتي ثانيه رو هم نشون ميده. اينجوري (20/11/1899 14:30:00 ب.ظ). چيكار بايد كرد تا مثل همون اكسس زمان رو نشون بده. و در مورد Date، هم اينكه حتما بايد موقع وارد كردن تاريخ اول سال بعد ماه و بعد روز رو وارد كرد يا نه ميشه برعكس هم وارد كرد؟ من وقتي ميخوام تاريخ رو توي DBEdit وارد كنم اگه از راست وارد كنم Error ميده.(is not valid date and time) فيلد تاريخ رو هم توي اكسس با فرمت Short Date ذخيره كردم. اگه درست ميشه كه هيچي ولي اگه از راست وارد كردن تاريخ بايد error بده چطوري ميشه اين error رو تبديل به يه مسيج باكس كرد تا كاربر متوجه بشه كه تاريخ رو برعكس وارد كرده و تصحيحش كنه؟ F A R H A D15-02-2008, 07:51 AMسلام. اگر دلیل خاصی برای استفاده از این datatype وجود نداره برای فیلد تاریخ و ساعت از string استفاده کنید. قبلا زیاد بحث شده و مشکلاتی که پیش اومده با string حل میشه. Malihe_H15-02-2008, 10:41 AMسلام. يعني راه ديگه اي نداره كه نوعش رو تغيير ندم چون هر دفعه كه توي بانكم تغييراتي ميدم با دردسر مواجه ميشم. گفتن يه خصوصيت Mask داره كه ميشه مشكل رو حل كرد. ولي من پيداش نكردم. تو رو خدا اگه راهي غير از اين هست بگيد. Mahmood_N15-02-2008, 10:57 AMهمون طور كه دوستمون گفتند شما تاريخ رو به صورت String از كاربر دريافت كنيد و در بانكتون ذخيره كنيد ، مشكلات همه حل ميشه ... هم مشكل محاسبه و هم مشكل تاريخ شمسي حل ميشه ... البته در برخي از موارد ( بسته به نوع كاري كه ميخوايد انجام بديد ) بايد از يك كامپوننت تاريخ شمسي براي كار با تاريختون استفاده كنيد ، چون تاريخ شمسي براي سيستم كه تاريخش ميلادي هست ، قابل قبول نيست ( در برخي موارد ) درست نشون ميده (مثلا 14:30) ولي توي دلفي توي DBGrid با تاريخ و ب.ظ و ق.ظ و حتي ثانيه رو هم نشون ميده. اينجوري (20/11/1899 14:30:00 ب.ظ). چيكار بايد كرد تا مثل همون اكسس زمان رو نشون بده. براي حل اين مشكل چندين راه وجود داره ، يك راه غير معمول اينه كه با توابعي نظير Monthof و DayOf و Yearof و ... به ترتيب ، ماه ، روز و سال رو جدا كنيد و ذخيره كنيد و يا با HourOf و MinuteOf و SecondOF اين كار رو براي ساعت انجام بديد ... كار با اين توابع ساده هست و نكته ديگه اين كه براي كار با اين توابع بايد يونيت DateUtils رو به قسمت Uses فرمتون اضافه كنيد ... ولي در كل راه حل بالا زياد معمول نيست و دردسر داره ، اما اگه نوع تاريخ رو به String تبديل كنيد ديگه مشكلي پيش نمي ياد ... براي مشكلتون ، ميتونيد يك كامپوننت تاريخ شمسي تهيه كنيد ، بعد زماني كه نياز به ذخيره اطلاعات هست ، تاريخ رو به وسيله اون تبديل به شمسي كنيد و اون رو به صورت String ذخيره كنيد ، كامپوننتهاي تاريخ شمسي توابعي دارن كه مي تونيد با اونها تاريخ رو به صورت جدا و بدون ساعت و يا " ق.ظ " و ... داشته باشيد ... يكي از كامپوننتهاي رايگان اينه كه آموزش استفادش هم هست: ( در همين سايت هم اگه جستجو كنيد يكي پيدا ميكنيد ) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگه باز هم مشكلتون حل نمي شه بگيد تا مثالي بزنم ... موفق باشيد ... Malihe_H17-02-2008, 03:17 PMسلام. مرسي از راهنمايي شما دوستان خوبم. نوعش رو به String تغيير دادم. خدا رو شكر برنامه اجرا شد و مشكلي پيش نيومد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 455]