سلام دوستان
در گزارشات و همچنین در dbgrid تاریخ به صورت میلادی نشون میده آیا راهی هست که بتونم آنها رو به صورت شمسی در گزارشام و dbgrid نشون بدم ممنون میشم راهنمایی ام کنید خیلی درگیرم
سلام دوستان
در گزارشات و همچنین در dbgrid تاریخ به صورت میلادی نشون میده آیا راهی هست که بتونم آنها رو به صورت شمسی در گزارشام و dbgrid نشون بدم ممنون میشم راهنمایی ام کنید خیلی درگیرم
بهترین راه برای نمایش تاریخ به صورت شمسی استفاده از Persian.dll هستش
کافیه کنار فایل اجرایی برنامه قرارش بدی و از توابع زیر داخل برنامه استفاده کنی
Function PrintDate : ShortString;
External 'persian.dll';
Function PrintNormal : ShortString;
External 'persian.dll';
سلام
شما می تونید در رویداد GetText فیلد بانکتون(همون فیلدی که تاریخ رو ذخیره کرده اید) دستوراتی رو بنویسید که فیلد مورد نظر به صورت دلخواه شما نمایش داده بشه.مثلا از Persian.dll که دوستمون در بالا معرفی کردن استفاده کنید و کد تغییر مقدار فیلد مورد نظر رو بنویسید.نتیجه دلخواه در زمان نمایش فیلد در DBGrid ظاهر خواهد شد.
موفق باشیم
سلام
دیتاست زمانیکه اطلاعات رو از بانک میخونه و می خواد نمایش بده مقدار فیلد مورد نظر رو در متغیر Text میریزه.حالا شما در رویداد OnGetText تعریف میکنید که چه کارهایی با مقدار Text انجام بده و در آخر چه چیزی نمایش بده.
رویداد OnSetText هم زمانیکه مقدار یک فیلد تفییر میکنه فراخوانی میشه.مثلا اگه شما میخواهید مقدا فیلد چیزی بغیراز اون مقداری باشه که نمایش داده میشه از این رویداد استفاده می کنید.
تنها کاری که شما میکنید اینه که در رویدادOnGetText مقدار فیلد مورد نظر رو با استفاده از همون Persian.dll تغییر بدید و در متغیرText بریزید
چون persian .dll رو نداشتم کد رو اینطوری نوشتم
procedure TForm1.ADOTable1DateGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text:=Sender.AsString+'test';
end;
موفق باشیم
کسی از این مورد استفاده نکرده؟
سلام
به نظر من بهتره تبدیل را با sql انجام بدی و به راحتی در هر query از اون استفاده کنی فارق از IDE, Compiler, Package,...
تبدیل تاریخ ...
سلام دوستان
ببخشید امکان داره نحوه استفاده از persian.dll را توضیح بدید ؟