تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
با سلام. فرض کاربر می تواند در قسمت تنظیمات چاپ برنامه (قسمتی از یک برنامه دلخواه) اندازه حاشیه دور کاغذ را به دلخواه خود (یعنی مثلا با توجه به کاغذ سربرگ دار خودش) تغییر دهد. حال در زمانی که برنامه می خواهد گزارش فست ریپورت گرفته شده را به چاپگر ارسال کند، بایستی این تنظیمات حاشیه در ریپورت اعمال شود. حالا چطر توسط کد نویسی می توان این تنظیمات را انجام داد؟
با تشکر
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
توی رویداد Onbeforprint مقادیر topMargin و leftMargin , Rightmargin را دستی مقدار دهی کنید
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
با سلام. دوست عزیز tiphooo
با تشکر از راهنمائی شما . ولی نتونستم بهش مقدار بدهم. ممکنه یه کم راهنمائید کنید؟ یعنی منظورتون اینه که باید بنویسم frxReport1.onebeforprint.topmargin:=5
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
نقل قول:
یعنی منظورتون اینه که باید بنویسم frxReport1.onebeforprint.topmargin:=5
!!! :متعجب: نه! یعنی اینکه در رویداد یا Event مربوط به FastReport با نام OnBeforePrint (که دقیقاً قبل از شروع چاپ فراخوانی میشه) اون خصیصه (Property)ها رو مقداردهی کنید. با FastReport کار نکردم ولی فکر کنم اینجوری باشه : FastReport.Margins.Top := 40;
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
روی صفحه اصلی گزارش کلیک کنید و در قسمت رویدادها ( F11 را بزنید) رویدادی (events)با نام onbeforprint دارد روی آن DBClick کرده و کدی را گفیتم تایپ کن frxReport1.onebeforprint.topmargin:=5 و FastReport.Margins.Top := 5; دستورات مورد قبول نیستند.
Page1.LeftMargin:=1;
Page1.TopMargin:=1;
Page1.RightMargin:=1;
همین
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
با سلام خدمت دوستان
این کد را نوشتم ولی جواب نداد. یعنی نه خطا گرفت و نه تنظیمات بر اساس مقادیر اجرا شد. چرا؟
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
page1.RightMargin:=5;
page1.LeftMargin:=5;
page1.TopMargin:=5;
end;
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
با عرض پوزش منظورم از صفحه اصلی گزارش خود گزارش را انتخاب کنید توی منوی خصوصیات از باکس بالا آیتمی که از نوع frxReport است انتخاب کرده و در رویداد OnStartReport آن همان کدها را بنویسید ولی فراموش نکنید که اگر منظورتان 5 سانتیمتر است 50 بنویسید در خاصیت پیش فرض بر حسب سانتیمتر است ولی با کد نویسی بر حسب میلیمتر است
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
با سلام خدمت دوستان
با این کد هم جواب نداد:
کد HTML:
frxReport1.OnStartReport:=frxReport1.Pages[1].TopMargin:=150;
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
procedure frxReport1OnStartReport(Sender: TfrxComponent);
begin
page1.RightMargin:=50;
page1.LeftMargin:=50;
page1.TopMargin:=50;
end;
شما نمی توانید با کد نویسی کدها را به رویدادها نسبت دهید باید اسم رویداد در لیست رویدادهای شما وجود داشته باشد.
شما frxReport1 را انتخاب کرده و سپس در قسمت رویدادها روی OnStartReport دو بار کلیک کرده و سپس کدهای فوق را بنویسید.
نمی دانم تا چه اندازه با رویدادها و خصوصیات آشنا هستید ولی F11 را بزنید و از ComboBox شی اصلی گزارش frxReport1 را انتخاب کنید اگر نام دیگری دارد آن را انتخاب کنید ولی روبروی آن نام کلاس آن وجود دارد کلاس آن از نوع TfrxReport است و فقط یک مورد وجود دارد
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
با سلام و تشکر از همه دوستان.
دوست عزیز tiphooo . توضیح آخرتون را دقیقاً گرفتم ولی با این کار مشکل من حل نمیشه. چون من می خواهم از داخل فرم دلفی بهش مقدار بدهم.
در فرم دلفی من 4 تا EditBox گذاشتم که کاربر مقدار حاشیه را در آن وارد میکنه و بعد وقتی دکمه Print را از روی فرم میزنه انتظار داره که حاشیه گزارش چاپ شده به اندازه حاشیه تایپ شده اون باشه.
با این راهنمائی که شما فرمودین من قادر به این کار نیستم، چون در داخل گزارش ساز FastReport که نمی تونم آدرس یک Edit از داخل فرم دلفی را بدهم. آیا این کار امکان پذیر هست؟
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
نقل قول:
نوشته شده توسط
tiphooo
procedure frxReport1OnStartReport(Sender: TfrxComponent);
begin
page1.RightMargin:=50;
page1.LeftMargin:=50;
page1.TopMargin:=50;
end;
شما نمی توانید با کد نویسی کدها را به رویدادها نسبت دهید باید اسم رویداد در لیست رویدادهای شما وجود داشته باشد.
شما frxReport1 را انتخاب کرده و سپس در قسمت رویدادها روی OnStartReport دو بار کلیک کرده و سپس کدهای فوق را بنویسید.
نمی دانم تا چه اندازه با رویدادها و خصوصیات آشنا هستید ولی F11 را بزنید و از ComboBox شی اصلی گزارش frxReport1 را انتخاب کنید اگر نام دیگری دارد آن را انتخاب کنید ولی روبروی آن نام کلاس آن وجود دارد کلاس آن از نوع TfrxReport است و فقط یک مورد وجود دارد
دوست عزیز سلام
OnStartReport در تب پراپرتی قرار دارد نه در تب Events . به همین دلیل با دو بار کلیک کردن بر روی آن پنجره کد نویسی باز نمیشود!! . چیزی که به نظر عجیب میآید این است که چرا این رویداد به جای قرار گرفتن در تب Events در تب property قرار داده شده است؟ و اینکه چرا با دو بار کلیک کردن رویداد مورد نظر آماده برای کد نویسی نمیشود؟ متشکرم.
1 ضمیمه
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
این تصویر نمونه برای استفاده از این رویداده حالا اگر مشکلی هست یا در نحوه نصب FastReport می باشد یا در نحوه استفاده دردلفیضمیمه 82870
نقل قول: تنظیم حاشیه کاغذ توسط کدنویسی در فست ریپورت FastReport
نقل قول:
نوشته شده توسط
tiphooo
این تصویر نمونه برای استفاده از این رویداده حالا اگر مشکلی هست یا در نحوه نصب FastReport می باشد یا در نحوه استفاده دردلفی
ضمیمه 82870
سلام میشه لطفا منم کمک کنید هر چی پیام دادم براتون ارسال نشد
لطفا به جیمیلم پیام بدید ممنون
majiddin417@gmail.com