اين ۳ کلاس فيلد امکان
ارتباط با فيلدهای تاريخ-زمان در ديتابيسها را به صورت
هجری شمسی فراهم میکنند.
پس از تعريف فيلدهای تاريخ-زمان از نوع استاندارد در جدولها، با استفاده از
اين کلاس فيلدها در دلفی نمايش و ويرايش هجری شمسی از مقدار آن فيلدها
خواهيد داشت. کنترل اعتبار مقدارهای تاريخ-زمان هجری شمسی ورودی
به
طور داخلی
توسط اين کلاسها انجام شده و درستی دادهها نيز
بدون نياز به کدنويسی تضمين خواهد شد.
با انعطافپذيری موجود در
توابع تبديل رشته به تاريخ کاربر محدود به استفاده از يک قالب ثابت و
غيرمنعطف برای وارد کردن مقدارهای
نخواهد بود. در کنار اينها امکان تعيين فرمتهای دلخواه برای نمايش
مقدارهای
تاريخ-زمان نيز در دسترس است.
تمام کاری که لازم است در زمان طراحی در دلفی
انجام دهيد معرفی يک فيلد از نوع تاريخ يا تاريخ-زمان
هجری شمسی از طريق DataSet Editor و ديالوگ New Field است، و نياز به
نوشتن هيچ کدی نيست. تمام کنترلهای data-aware
متصل به اين فيلدها به طور خودکار هجری شمسی کار خواهند کرد.
پيشتر برخی برنامهنويسان و توسعهگران ايرانی برای نگهداری
مقدارهای زمان هجری شمسی در بانکهای اطلاعاتی به جای استفاده از نوعهای استاندارد برای تاريخ، از
فيلدهای نوع رشته حرفی (8 يا 10 کاراکتر) استفاده می کردهاند.
اصلیترين دليل اين امر نمايش پيشفرض
ميلادی برای نوعهای استاندارد و نبود پشتيبانی برای ارايه نمايش و ويرايش
هجری شمسی از مقادير اين نوع فيلدها بوده است. با وجود اين کلاس فيلدهای
جديد در دلفی اين امکان فراهم است که از
نوعهای
استاندارد تاريخ-زمان در ديتابيسها استفاده کنيد
و در سمت کاربر نمايش و ويرايش هجری شمسی را داشته باشيد. برای اطلاعات بيشتر
راجع به نوعهای استاندارد تاريخ-زمان و مزايای آنها
ببينيد: درباره فيلدهای تاريخ-زمان.
در نگارش ۲ چه چيزی جدید است؟
-
TShSQLTimeStampField
برای نمايش و ويرايش فيلدهای تاريخ/زمان با استفاده از dbExpress.
کاربردهای اصلی:
-
نمايش و ويرايش هجری شمسی برای فيلدهای تاريخ/تاريخ-زمان بانکهای اطلاعاتی.
نکات برجسته:
-
توسعه سريع کاربرد (RAD) وقتی تاريخ هجری شمسی در کاربردهای
ديتابيسی داريد.
- بینياز از کدنويسی جهت بررسی صحت و
اعتبار کاراکترها و تاريخهای وروردی.
- ويژگی قدرتمند قالبدهی نمايش، بسيار سودمند در ساخت گزارشها.
-
استفاده از نوع فيلدهای استاندارد برای ذخيره مقدارهای تاريخ-زمان.
-
بهترين
راه حل برای
توسعه کاربردهای دارای چند تقويم.
ويژگیها:
- نيازی به بررسی اعتبار کاراکترها در هنگام ويرايش
نيست. اين کار در داخل اين کلاسها انجام خواهد شد. نيازی
به استفاده از EditMask ها
برای سوق دادن کاربر به واردکرن مقدار معتبر نيست، اگر چه همچنان می توانيد
آنها را به کار بريد.
- نيازی به بررسی معتبر بودن عناصر تاريخ و تاريخ-زمان
نيست. اين کار در داخل اين کلاسها انجام خواهد شد و در
صورت وجود اشکال استثنا رخ خواهد داد. اصولا امکان ثبت
مقدار غيرمعتبر تاريخ در ديتابيس به هيچ طريقی وجود نخواهد
داشت.
- مجبور به داشتن قالب يکسان برای نمايش و ويرايش
فيلدهای تاريخ/تاريخ-زمان نيستيد.
با استفاده از خاصيت
DisplayFormat قراردادن يک قالب ويژه برای مقاصد نمايش
متفاوت از قالب ويرايش ممکن خواهد بود. اين در ساخت گزارشها بسيار مفيد است.
- شبيه به کلاس های TDateField و TDateTimeField. خاصيتها و رويدادهای يکسان با TDateTimeField (مثلا DisplayFormat
،EditMask ،CustomConstraint).
دستکاری؟
- اينها دو کلاس فيلد استاندارد جديد هستند.
- هيچگونه تغييری در جدولها يا دادههای
DataSetها و يا در
کنترلهای data-aware نيست.
- در هر زمان، میتوانيد نمايش پيشفرض مقدارها را داشته باشيد
(ميلادی).
پشتيبانی:
- محدوديتی در پشتيبانی ديتابيسهای مختلف نيست و هرآنچه دلفی
پشتيبانی میکند میتواند به کار رود (Paradox
؛ Access؛ InterBase؛
MS SQL Server و ...).
-
هيچ محدوديتی در کنترلهای data-aware که میتوانيد
استفاده کنيد وجود ندارد. میتوانيد هر يک از کنترلهای استاندارد
مثل DBGrid، DBEdit و ... يا هر کنترل سفارشی ديگر را با اين نوع
فيلدها به کار بريد. مقداری که در اين کنترلها نشان داده
يا ويرايش میشود، نمايش و ماهيت هجری شمسی خواهد داشت.
- Quick Reports،
Rave Reports، و هر توليدکننده گزارش
ديگر مجتمع شده با IDE دلفی پشتيبانی شدهاند.
- برای توليدکنندههای گزارش مستقل از IDE
دلفی، در صورت پشتيبانی از توابع تعريف شده
توسط کاربر، امکان پياده سازی پشتيبانی ويژه برای نمايش
مقادير تاريخ-زمان بصورت هجری شمسی خواهد بود. مانند Crystal Reports.
کاربر نهايی:
- از ديدن مقدارهای تاريخ/تاريخ-زمان قالبدهیشده به جای قالب
هميشگی yyyy/mm/dd لذت خواهد برد.
- او با يک سيستم آسانگير هوشمند روبرو است. میتواند وارد کند
۱۳۸۵/۱۱/۰۴ يا به سادگی ۱۱/۴ .
|