PDA

View Full Version : چاپ فیلد Date



ali643
شنبه 09 خرداد 1383, 23:38 عصر
سلام

برو بچی که با Shdate کار کردند می دوند که وقتی تاریخ در Table ذخیره میشه به صورت تاریخ میلادی هست حالا اگه خواستیم یک گزارش بگیریم از Table باید چکار کنیم که تاریخ رو فارسی نمایش بده
تو مثال ها همراه پکیج Shdate که چیزی در مورد گزارش گیری نبود
تو سایت www.farsicomponents.com یک مثال به نام ShdateDemo هست که قابلیت ها این کامپوننت رو نشون می ده که همین گزارش گیری هم داخلش بود کسی سورسش رو داره ؟

در ضمن من از Quickreport استفاده می کنم :oops:
اینم یادم رفت بگم که فیلدی که تاریخ داخلش ذخیره می شود از نوع String هست
مرسی

Mohammad S
یک شنبه 10 خرداد 1383, 00:50 صبح
نمی شه از shDateToStr و shStrToDate استفاده کرد؟

ali643
یک شنبه 10 خرداد 1383, 01:19 صبح
این دو تا تابع کار میده اما روش استفادش مهمه :?:

vcldeveloper
یک شنبه 10 خرداد 1383, 02:29 صبح
اگه فیلد مورد نظر در گزارش شما در باند Detail وجود داره میتونید بجای QRDBLabel از QRLabel عادی استفاده کنید . بعد در رویداد BeforePrint باند Detail می تونید تاریخ رو به شمسی تبدیل کرده و مقدار اون رو به QRLabel.Caption اختصاص بدید:

یه چیزی شبیه این: (البته اگه منظورتون رو درست متوجه شده باشم :roll: )


procedure TReport_STAT1.DetailBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
QRLabel1.Caption := تابع_تبدیل_میلادی_به_شمسی (Table1.FieldByName('Date').AsInteger);

end;

ali643
یک شنبه 10 خرداد 1383, 12:44 عصر
نبود
گلادی . جیرجیرک شما که باهاش گزارش گرفتید چطوری روش کار

Gladiator
یک شنبه 10 خرداد 1383, 12:49 عصر
جان مادرت اون کامپوننت رو پس بده به فروشنده و خیال همه رو راحت کن . :mrgreen:

ali643
یک شنبه 10 خرداد 1383, 14:03 عصر
جون
از بس که خودت تبلیغ شو کردی من هم خاطرخاش شدم
قبلا ندیدم که تو رویدادbefore print باند Detail باید بنویسم

QRLabel9.Caption:=ShDateToStr(StrToDate(DBISAM_Qrp _Honarjo.FieldValues['Date_Tavalod']));
در ضمن درست شد
مرسی علی کشاورز

jirjirakk
سه شنبه 12 خرداد 1383, 11:33 صبح
برای چی تاریخ و به صورت میلادی ذخیره میکنی. (نه اینکه فیلد تاریخ از نوع رشته ای تعریف کردی) پس قبل از ورود اطلاعات به درون فیلد از تابع shDateToStr استفاده کن و تاریخ رو به صورت شمسی درون اون فیلد رشته ای ذخیره کن

مثلا این طوری


Appned;
...
FieldValue['forosh'] := shDateToStr(dpStart.Date);
...
Post;