ورود

View Full Version : پاس کردن پارامتر به FastReport



DataMaster
پنج شنبه 18 دی 1382, 07:13 صبح
سلام
چه طوری به FastReport پارامتر پاس کنم از هلپش چیزی سر در نیاوردم

مهدی کرامتی
پنج شنبه 18 دی 1382, 09:58 صبح
شما دقیقا میخواهید چی پاس کنید؟

baabi
پنج شنبه 18 دی 1382, 15:43 عصر
منم همین مشکلو دارم ، مثلا یکی از Title ها رو عوض کنی .
البته یه راه حل دارم و اینکه از یه table کمکی استفاده میکنم و مقدار فیلد های اونو به عنوان Title استفاده میکنم و فیلد ها رو تغییر میدم.

مهدی کرامتی
پنج شنبه 18 دی 1382, 15:55 عصر
FastReport یک زبان Scripting داره که بوسیله اون میتونید همه این کارها رو انجام بدید. البته اون زبان هم دقیقا همین Object Pascal خودمونه.

در ضمن، با استفاده از Object های FastReport میتوانید تمام جزئیاتی که بوسیله آن Script ها کنترل میشود را نیز کنترل کنید.

حالا دقیقا بفرمایید میخواهید چکار کنید تا در صورت امکان پاسخ داده شود.

baabi
پنج شنبه 18 دی 1382, 23:04 عصر
همونطور که گفتم ، مثلا عنوان در بالای یک فرم نمونه چاپ. خوب ما باید در زمان طراحی اونو بنویسیم و دقیقا مشخص کنیم که چیه . اگه بخوایم اونو تغییر بدیم ، باید چیکار کنیم. اصلا آیا راه من صحیحه؟

DataMaster
جمعه 19 دی 1382, 06:04 صبح
من توی فرم گزارش می خوام یه سری اطلاعاتی که توی فرم گزارش گیری تنظیم شده رو پاس کنم
اما هر ی بیشتر هلپش رو می خونم کمتر می فهمم

DataMaster
شنبه 20 دی 1382, 07:28 صبح
ای بابا! کس نخارد پشت من ، جز ناخن انگشت من
بعد سه روز الافی

procedure TForm1.Button1Click(Sender: TObject);
Var
Page: TfrPage;
v: TfrView;
begin
frReport1.LoadFromFile('Untitled.frf');
Page:=frReport1.Pages[0];
v:=Page.FindObject('Memo1');
v.Memo.Add('Test');
frReport1.ShowReport;
end;

مهدی کرامتی
شنبه 20 دی 1382, 09:07 صبح
ای بابا! کس نخارد پشت من ، جز ناخن انگشت من
از قدیم گفته‌اند جوینده یابنده است 8-)

omidsm
شنبه 20 دی 1382, 12:53 عصر
تو fast Report یه امکان جالب وجود اونم اینه که تو memo یا هر جایی که بشه متن نوشت از حالتهای محاسباتی استفاده کرد
که از بیرون به اون مقدار داد مثلا در متن memo بنویسید [ti_pass]فقط به یک مورد توجه کنید که جز مقدار های fast report نباشد
بعد در دلفی به اونت ongetValue در کامپوننت TFrReport دابل کلیک کنید در تابع ایجاد شده بنویسید

if sametext(ParName,'ti_pass') then
begin
parvalue:=''//مقداری که می خواهید نمایش دهید
end;
فقط دو مساله می ماند انهم اینکه
اولا هر پارامتری که در گزارش استفاده می کنید باید از این تابع مقدار بگیرد :twisted:
ثانیا در حال طراحی گزارش نمی توانید پیش نمایش بگیرید و فقط در حال اجرا درست کار می کند :evil:
خوش باشید 8)

امیر-نا
سه شنبه 04 فروردین 1383, 13:47 عصر
میتونین از ابزار Dialog که در خود Fast report استفاده کنین.
و با استفاده از اون متغیر را بگیرین و جایگزین کنین

fahimi
شنبه 08 اسفند 1383, 05:38 صبح
ارسال پارامتر در ورژن بالاتر 3 با روش فوق کامپایلر خطا میدهد


procedure TForm1.Button1Click(Sender: TObject);
Var
Page: TfrxPage;
v: TfrxView;
begin
frxReport1.LoadFromFile('Untitled.fr3');
Page:=frxReport1.Pages[0];
v:=Page.FindObject('Memo1');
v.Memo.Add('Test');
frxReport1.ShowReport;
end;

behrooz
شنبه 18 تیر 1384, 09:25 صبح
procedure TMain.SpeedButton13Click(Sender: TObject);
var
v: TfrxMemoView;
begin
v:=DataModule2.Main_rep.FindObject('Memo28') as TfrxMemoView;
v.Memo.Text:='test';
end;