|
مقدمه:
در این نوشته
کوتاه سعی دارم که توابع استفاده شده در یونیت (Unit) با
نام UFarsiDate را توضیح بدم.
این یونیت که
به صورت فایل از طریق این سایت قابل دریافت است، برای تبدیل تاریخ میلادی به شمسی
و برعکس مورد استفاده قرار می گیرد. از آنجایی که در داخل این فایل هیچ توضیحی وجود ندارد
بر آن شدم تا مقاله در مورد کاربرد آن بنویسم. امیدوارم مورد توجه شما قرار گیرد.
در ضمن می
توانید برای دریافت فایل به بخش
دریافت
ابزارهای دلفی بروید و یا مستقیما از این لینک استفاده کنید:FarsiDate.zip
اصل مطلب:
توجه: در این
توابع TfarDateTime با TDateTime هیچ فرقی ندارد. فقط برای اینکه تاریخ فارسی از
تاریخ میلادی تمییز داده شود مورد استفاده قرار گرفته است.
از اصلی ترین
توابع شروع می کنم:
تابع
MiladyToShamsi:
Function MiladyToShamsi
(DTime:tdateTime):TfarDateTime;
| تاريخ ميلادي در قالب TDateTime |
ورودی: |
| تاریخ شمسی در قالب TDateTime |
خروجی: |
| تبدیل تاریخ میلادی به شمسی در قالب استاندارد دلفی (TDateTime) |
کاربرد: |
تابع
ShamsiToMilady:
Function ShamsiToMilady
(DTime:TfarDateTime):TDateTime;
| تاریخ شمسی در قالب TDateTime |
ورودی: |
| تاريخ ميلادي در قالب TDateTime |
خروجی: |
| تبدیل تاریخ شمسی به میلادی در قالب استاندارد دلفی (TDateTime) |
کاربرد: |
تابع
MiladyToShamsistr:
Function MiladyToShamsistr
(DTime:tdateTime):String;
| تاريخ ميلادي در قالب TDateTime |
ورودی: |
| تاریخ شمسی در قالب رشته (string)
مثلا: 1384/9/29 |
خروجی: |
| تبدیل تاریخ میلادی به شمسی به صورت
رشته برای زمانهایی که با نوع رشته نیازمندید. |
کاربرد: |
تابع
MiladyToShamsiInt:
Function MiladyToShamsiInt
(DTime:tdateTime;var Year,Month,Day:word):TfarDateTime;
| تاريخ ميلادي در قالب TDateTime
!توجه کنید که پارامتر DTime فقط ورودی می باشند. |
ورودی: |
| تاریخ شمسی هم به صورت به صورت جدا
جدا و عددی و هم در قالب TDateTime |
خروجی: |
| تبدیل تاریخ میلادی به شمسی |
کاربرد: |
تابع
FarEncodeDate:
function FarEncodeDate (Year,
Month, Day: Word): TfarDateTime;
| تاریخ شمسی به صورت سال، ماه، روز |
ورودی: |
| تاريخ شمسي در قالب TDateTime |
خروجی: |
| تبديل تاريخ شمسي به میلادی از حالت
جداگانه (روز، ماه، سال) به قالب استاندارد دلفي (TDateTime) |
کاربرد: |
تابع
FarDecodeDate:
procedure FarDecodeDate (const
DateTime: TDateTime; var Year, Month, Day: Word);
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| تاريخ شمسي به صورت جداگانه |
خروجی: |
| تبديل قالب استاندارد دلفي
(TDateTime) به مقادير روز، ماه، سال |
کاربرد: |
تابع
farDateToStr:
function farDateToStr
(dateTime:TfarDateTime):string;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| تاريخ شمسي به صورت رشته (string) |
خروجی: |
| تبدیل نوع تاریخ شمسی از قالب
استاندارد دلفی (TDateTime) به صورت رشته(string) |
کاربرد: |
تابع
farDateTimeToStr:
function farDateTimeToStr (const
DateTime: TfarDateTime): string;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| تاريخ شمسي به صورت رشته (string)
همراه با زمان |
خروجی: |
| در صورتی که نیاز باشد که تاریخ و
زمان در کنار هم باشند از این تابع استفاده کنید. |
کاربرد: |
تابع
farFormatDateTime:
function farFormatDateTime (const
Format: string; DateTime: TfarDateTime): string;
| قالب تاریخ خروجی به صورت رشته (مثلا
yyyy/mm/dd) و تاريخ شمسي در قالب TDateTime |
ورودی: |
| تاریخ شمسی در قالب تعیین شده |
خروجی: |
| برای اینکه تاریخ را در قالب های
مختلف در بیاورید از این تابع استفاده کنید. مثلا 1383:9:29 |
کاربرد: |
تابع
farStrToDateDef:
function farStrToDateDef (const
S: string; const Default: TfarDateTime): TDateTime;
| رشته حاوی تاریخ فارسی و تاریخ
پیش فرض برای مواقع بروز خطا |
ورودی: |
| قالب استاندارد دلفي (TDateTime) |
خروجی: |
| تبدیل رشته (string) به قالب
استاندارد دلفي (TDateTime). در صورتی که به علت استاندارد نبودن رشته حاوی
تاریخ خطلایی بروز کند، مقدار پارامتر default
برگردانده خواهد شد. |
کاربرد: |
تابع
farStrToDate:
function farStrToDate (const S:
string): TfarDateTime;
| رشته حاوی تاریخ فارسی |
ورودی: |
| قالب استاندارد دلفي (TDateTime) |
خروجی: |
تبدیل رشته (string) به قالب
استاندارد دلفي (TDateTime).
هشدار: این تابع بسیار حساس می باشد و در صورت
درست نبودن رشته ورودی پیغام خطا خواهد داد. حتی به قالب رشته ورودی در ویندوز
های مختلف حساس بوده باعث بروز خطا می شود. (مثلا 1383/9/30
ممکن فقط در یک ویندوز برای آن تابع معتبر باشد و ویندوز دیگر با خطا روبرو
شوید).
توصیه می شود از رشته هایی که توسط تابع farDateToStr تولید میشود به عنوان
ورودی استفاده نمایید. |
کاربرد: |
تابع
farYearOf:
function farYearOf (const AValue:
TfarDateTime): Word;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| سال تاریخ شمسی |
خروجی: |
| برای استخراج و یا فهمیدن سال از
قالب TDateTime مورد استفاده می باشد. |
کاربرد: |
تابع
farMonthOf:
function farMonthOf (const
AValue: TfarDateTime): Word;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| ماه از سال |
خروجی: |
| برای بدست آوردن ماه مورد استفاده می
باشد. |
کاربرد: |
تابع
farWeekOf:
function farWeekOf (const AValue:
TfarDateTime): Word;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| هفته از سال |
خروجی: |
| برای بدست آوردن هفته جاری در
پارامتر ورودی مورد استفاده می باشد. |
کاربرد: |
تابع
farDayOf:
function farDayOf(const AValue:
TfarDateTime): Word;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| روز از ماه |
خروجی: |
| برای بدست آوردن روز جاری در پارامتر
ورودی مورد استفاده می باشد. |
کاربرد: |
تابع
farDayOfTheWeek:
function farDayOfTheWeek(const
AValue: TfarDateTime): Word;
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| روز از هفته |
خروجی: |
| برای بدست آوردن روز از هفته مورد
استفاده می باشد. |
کاربرد: |
تابع
farDecodeDateWeek:
procedure farDecodeDateWeek(const
AValue: TfarDateTime; out AYear,AWeekOfYear, ADayOfWeek: Word);
| تاريخ شمسي در قالب TDateTime |
ورودی: |
| سال شمسی ، هفته از سال و روز از
هفته |
خروجی: |
| تبدیل قالب TDateTime به موارد فوق |
کاربرد: |
با تشکر
از توجه شما
سالار
خلیل زاده
|