ورود

View Full Version : fast report + عکس + بدون فاصله



moonplant
پنج شنبه 10 مرداد 1387, 14:30 عصر
سلام دوستان
من برای چاپ عکسهای ذخیره شده در دیتابیسم از fastreport 2.5 + delphi7 استفاده می کنم. در فایل frf ام یک عدد masterdata دارم بعلاوه یک tfrpictureview روی آن.
الان وقتی پرینت می گیرم عکس ها را می بینم و تا اینجا همه چیز درست است.
فقط یک سوال:
برای من مهم هست که عکس ها بصورت پشت سر هم ، بدون هیچ فاصله ای بینشان چاپ شوند. از طرف دیگر ارتفاع عکس هایم می خواهم همان ارتفاعی باشد که عکس در دیتابیس ذخیره شده است و نمی خواهم عکس هایم را stretch کنم.
برای اینکار به نظرم میرسد که بایستی موقع چاپ شدن گزارش ارتفاع عکس ها را از دیتابیس بخوانم و بعد این مقدار را مساوی ارتفاع tfrpictureview و masterdata ام بکنم. البته مطمئن نیستم که آیا این روش، روش خوبی هست یا نه... اما اگر بخواهم از همین روش استفاده کنم، نمی دانم که چطوری از توی دلفی به property ارتفاع tfrpictureview دسترسی پیدا کنم.

ممنون میشوم اگر راهنماییم بکنید

hamed322
جمعه 11 مرداد 1387, 01:07 صبح
سلام
من هم یک سوال در مورد Fast Report دارم اگه کسی جواب بده ممنون میشم .
من یک بانک اطلاعاتی با اکسس دارم که با fast report از آنها گزارشگیری میکنم .فقط میخوام این گزارش ها طوری باشه که کاربر بتونه آن را ویرایش کنه و سپس ذخیره کنه (مسیر دلخواه )و بتونه از این فایل های ذخیره شده را در دفعات بعدی هم استفاده کند.
متشکرم

vcldeveloper
جمعه 11 مرداد 1387, 01:28 صبح
من هم یک سوال در مورد Fast Report دارم اگه کسی جواب بده ممنون میشم .
در تاپیک جداگانه ایی بپرسید. سوال شما ربطی به این تاپیک نداره.

vcldeveloper
جمعه 11 مرداد 1387, 01:29 صبح
نمی دانم که چطوری از توی دلفی به property ارتفاع tfrpictureview دسترسی پیدا کنم.

قبلا چندین بار درباره چگونگی دسترسی به اجزاء گزارش از داخل کد دلفی در همین بخش توضیح داده شده. لطفا جستجو کنید.

hamed322
جمعه 11 مرداد 1387, 23:10 عصر
سلام
آقای کشاورز اگر امکانش هست مرا راهنمایی کنید و بگویید سوالم را در کدام فروم بیان کنم؟
متشکرم

vcldeveloper
جمعه 11 مرداد 1387, 23:21 عصر
اگر امکانش هست مرا راهنمایی کنید و بگویید سوالم را در کدام فروم بیان کنم؟
در همین تالار "ابزارهای گزارش گیری"، فقط در یک تاپیک جدید.

moonplant
یک شنبه 13 مرداد 1387, 22:54 عصر
سلام
پس از جستجو در سایت و ...
من الان به اجزا گزارش از توی دلفی دسترسی دارم، منتها برای اینکار دارم از روشی استفاده می کنم که بنظرم خیلی درست نمی آید اما فعلاً راه حل دیگری هم به ذهنم نمی رسد.
کاری که می خواهم انجام دهم چاپ عکس ها بصورت پشت سرهم و با همان ارتفاع اصلیشان(ارتفاعشان موقع ذخیره شدن در DB) است. برای حل این مساله:
در فرمی که دکمه چاپ وجود دارد، یک عدد DBImage به صورت invisible گذاشته ام، اینکار را برای این انجام داده ام که بتوانم height عکس ذخیره شده در دیتابیسم را بدست بیاورم (http://barnamenevis.org/forum/showthread.php?t=115319). بعد می خواهم یک زمانی(؟) این کد را اجرا کنم:


Image1 := frReport1.FindObject('Picture1') as TfrPictureView;
Image1.Picture.Bitmap.Height := Form1.DBImage1.Picture.Height;


من این کد را در n جای مختلف برنامه ام تست کردم اما کار نمی کند.... در afterscroll کوئری مربوطه، در On before print, On progress,... .

برای این صورت مساله آیا روشم درست است؟ اگر درست است در کدام event باید کدم را بگذارم؟
اگر روشم روش خوبی نیست، لطفاً اگر نظری، ایده ای دارید مطرح نمایید.

-با تشکر

vcldeveloper
دوشنبه 14 مرداد 1387, 02:33 صبح
لزومی به انجام همچین کاری نبود، کافی هست که خصوصیت AutoSize از شی frxPictureView ، و خصوصیت Stretched از باند داده را True کنید؛ همین!

moonplant
دوشنبه 14 مرداد 1387, 19:45 عصر
سلام
از راهنماییتون ممنونم، اما متاسفانه مشکلم همچنان حل نشده است...
طبق راهنماییتون strech مربوط به databand را true کردم و strech مربوط به tfrpictureview را هم false کردم(من تو پراپرتی های tfrpictureview خصوصیت autosize رو ندیدم).
وقتی دکمه چاپ رو می زنم، در fastreport عکس ها با اندازه اصلیشان نمایش داده می شوند و تا اینجا همه چیز درست است، غیر از دو مشکل:
-عکس ها روی هم افتاده اند.
- وقتی با scroll کنار صفحه(در همان fastreport) می خواهم به صفحات بعدی گزارشم بروم که آنها هم حاوی ادامه همین عکس ها هستند، size عکس ها تغییر می کند!!!! یعنی ارتفاعشان کوچک و بزرگ می شود. برای هیچ event ای هم کدی ننوشته ام.
من برنامه را آپلودش کردم به همراه exe برنامه، اگر لطف کنید و آن را ببینید خیلی عالی می شود.

-ممنون

vcldeveloper
سه شنبه 15 مرداد 1387, 00:04 صبح
من تو پراپرتی های tfrpictureview خصوصیت autosize رو ندیدم
علتش استفاده از نسخه قدیمی FastReport هست. FastReport از نسخه 2.5 تا به امروز (که فکر کنم آخرین نسخه اش 4.6 یا 4.7 باشه) تغییرات بسیار زیادی کرده. شما بهتر هست که نسخه FastReport خود را ارتقاء بدید. ارتقاء نسخه هم که کاری نداره، فقط کافیه به یکی از این سایت های کرک سری بزنید.

moonplant
سه شنبه 15 مرداد 1387, 10:35 صبح
واقعاً دستتون درد نکنه. مشکلم حل شد :لبخندساده: