نمایش نتایج 1 تا 32 از 32

نام تاپیک: اضافه کردن تابع و یونیت به محیط FastReport

  1. #1
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039

    Question اضافه کردن تابع و یونیت به محیط FastReport

    چطوری میشه به محیط FastReport یه تابع یا یه یونیت مثل محیط دلفی اضافه کرد چون در حالت عادی این امکان نیست و باید حتما تابع مورد نظر را بنویسی مثلا وقتی در رویداد OnAfterData یه Memo لازم است از یه تابع که قبلا نوشتی استفاده کنی . نمی تونی ! و باید اون تابع رو در محیط FastReport بنویسی . راه حل لطفا ؟

  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    توصیه میکنم راهنمای Developers Guide مجموعه FastReport رو نگاهی بیاندازی. موردی رو که دنبالش هستی در اون راهنما کامل توضیح داده.
    میتونی راهنمای فوق رو بصورت رایگان از سایت مربوطه دریافت کنی.

  3. #3
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
     
    TfrxReport.OnUserFunction

  4. #4
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    این کد رو کجا باید نوشت؟ و در ادامه چطور تابع رو به اون بدهیم ؟

  5. #5
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494

    دوست عزیز OnUserFunction یکی از event های TfrxReport می باشد در هر unit ی که شامل
    object TfrxReport است می توانید این کد را بنویسید.
    ولی در ابتدای برنامه مثلا constructor form باید معرفی تابع (تابع شما که میخواهید در FR ...)را با
    تابع AddFunction به FR معرفی کنید .

     
    frxReport1->AddFunction("function MYFUNC(s : String) : Integer");
    .
    .
    .
    .
    .
    Variant __fastcall TForm1::frxReport1UserFunction(
    const AnsiString MethodName, Variant &Params)
    {
    Variant Result;
    if (MethodName == "MYFUNC")
    {
    AnsiString str;
    str = Params.GetElement(0);
    str = str.UpperCase();
    Result = str;
    }
    return Result;
    }
    آخرین ویرایش به وسیله sasan_vm : شنبه 05 شهریور 1384 در 17:49 عصر

  6. #6
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    من اینکارو کردم ولی جواب نداد . شاید یه جای کارم مشکل داشته . اگه ممکنه یه نمونه مثال برام آپلود کنید . خیلی ممنون

  7. #7
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام
    دوست عزیز اگر کدی رو که براتون فرستادم درست بکار برده باشید
    باید جواب بگیرید مضاف بر اینکه شما در گزارشتان باید تابع را درست
    استفاده کنید.


    فرضا در گزارش یک شیء TfrxMemoView برای نمایش دارید
    حالا باید property Memo ان را مقدار بدهید مانند :



    [MYFUNC(<FRXDBDATASET1."CITY">)]




    تابع MUFUNC با ارگومان فیلد City از DB فراخوانی میشود
    این ارگومان می تواند یک مقدار قابل شناسائی در FR باشد
    فیلد - متغیر - ...


    اگر جواب نگرفتید بگوئید تا یک مثال برایتان بفرستم
    البته مثال با C++‎ است.


    آخرین ویرایش به وسیله sasan_vm : دوشنبه 07 شهریور 1384 در 18:13 عصر

  8. #8
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    این هم مثال :)
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    از زحمتی که کشیدید ممنونم . میرم تست کنم

  10. #10
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    دوست من . متاسفانه من ++C بلد نیستم اگه ممکنه به زبان دلفی باشه ؟

  11. #11
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام
    من با delphi کار نمی کنم ولی حتما مثال delphi رو اینجا پیدا میکنی.

    http://www.fast-report.com/pbc_downl...rManual-en.chm

    موفق باشید

  12. #12
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    توضیح کامل داده ، میرم ببینم ازش چیزی مفهمم یا نه ؟ باز هم ممنون

  13. #13
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039

    Unhappy

    من یه کد نمونه مانند راهنما نوشتم ولی کار نمی کنه ! نمی دونم اشکال من چیه ؟ ( در ضمن من با روش اول این کارو کردم) . کد نمونه را گذاشتم لطفا دوستان راهنمایی کنند در این کد من خواستم یه عدد رو به حروف بصورت مبلغی بنویسه .
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام
    دوست عزیز کد شما چند ایراد دارد که برایتان مینویسم :


    procedure TForm1.Button1Click(Sender: TObject);

    begin

    frxReport1.AddFunction('function FloatToRialFarsi(i:Extended):string', 'ctString', 'The function always returns FloatToRialFarsi');

    frxReport1.ShowReport;

    end;

    end.



    1- گزارش باید load شود
    2- سپس از AddFunction استفاده کنید
    3- گزارش باید آماده شود ( قبل از نمایش )

     
    frxReport1.LoadFromFile('...');
    frxReport1.AddFunction('...');
    .
    .
    .
    frxReport1.PrepareReport();
    frxReport1.ShowReport();



    در ضمن در فایل گزارش باید تابع معرفی شده را درست بکار ببرید
    فایل گزارش را ارسال کن تا تست کنم.

    :)

  15. #15
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    ساسان عزیز از اینکه در پاسخگویی به من تلاش می کنی بسیار ممنونم
    تغییرات گفته شده را در کد دادم و فایل گزارش رو هم گذاشتم .
    واقعا این فست ریپورت خیلی گیج کننده است وگرنه کارهای عادی یه گزارش رو که همه کامپوننت های گزارش انجام میدند. راستی ReportBuilder این کارهارو راحت تر انجام نمیده ؟
    منتظرم

  16. #16
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    نمی دونم چرا فایلو پیوست نکرد در پست قبلی !
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Mahdi_S_T : جمعه 11 شهریور 1384 در 08:56 صبح

  17. #17
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام
    من با Report Builder کار نکردم ولی اگر نگاهی به Delphi Magazine بندازی ...


    Best Reporting Tool

    Race to the swift. It's been a long time coming, but FastReport (FastReports) has finally taken first place (42%), from Digital Metaphors' ReportBuilder (33%).





    http://delphizine.com/newsletterarti...200408jc_l.asp


    ...خوب و ایراد گزارش :
    نام تابع را در گزارش و AddFunction با حروف بزرگ بنویسید FLOATTORIALFARSI

    موفق باشید
    آخرین ویرایش به وسیله sasan_vm : جمعه 11 شهریور 1384 در 11:42 صبح

  18. #18
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    مگه به حروف حساسه ! آقا تست کردم ولی فرقی نکرد و جواب نداد ( ای خدا ! )

    راه دیگری به جز اضافه کردن تابع نیست که من بتونم یه مقداری رو بصورت عددی حروفی در فیش ها چاپ کنم ( اطلاعات از یه جدول گرفته میشه و رکوردها رو برای چاپ به فست ریپورت ارسال می کنم)
    آخرین ویرایش به وسیله Mahdi_S_T : شنبه 12 شهریور 1384 در 08:26 صبح

  19. #19
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام
    من نمیدونم مشکلت چیه چون گزارشی رو که فرستادی تست کردم و مشکلی نداشت
    ( البته با حروف بزرگ ).

    خوب یک راه ساده تر هم هستش به جای تابع از متغیر استفاده میکنی:

    1- در گزارش قسمت متغیرها یک متغیر با نام دلخواه تعریف میکنی دقت کن که همنام با توابع یا
    متغیرهای FR نباشه.
    2- event OnGetValue را از frxReport بصورت زیر بکار میبری :

     
    void __fastcall TForm1::frxReport1GetValue(const AnsiString VarName,
    Variant &Value)
    {
    if ( VarName == "Your_Variable" )
    Value = "Your_Value";
    }


    :لبخندساده

  20. #20
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    نه نمیشه چون من که رکوردها را یکی یکی برای چاپ نمی فرستم و در ضمن در هنگام نمایش برگه چاپی من چند فیلد را با هم جمع و تفریق کردم که فیلد مبلغ بدست آمده و آنوقت باید به مبلغ عددی حرفی تبدیل کنم. ظاهرا چاره فقط همون تابع است

    اگه آقای کرامتی مشکل رو بررسی می کرد خیلی عالی بود حتما به جواب می رسیدم ( البته کمک های دوست عزیز آقا ساسان پوشیده نیست فقط مشکل اینجاست که آقا ساسان با دلفی کار نمی کنه )

  21. #21
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039

    Unhappy

    من نمی دانم چرا باید این سوال بی جواب بمونه !؟ این همه اساتید برنامه نویس اینجا باشند ولی این کسی جوابی نده !

  22. #22
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039

    Unhappy

    اقلا یه کسی رو معرفی کنید تا کار من راه بیفته یا یه وبلاگی که در زمینه آموزش کار می کند ؟ متشکر
    آخرین ویرایش به وسیله Mahdi_S_T : چهارشنبه 16 شهریور 1384 در 12:36 عصر

  23. #23
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    استاد کرامتی یه حالی به این مشکل بده لطفا .

  24. #24
    راستش من هم نتوانستم با بخش متغیر ها کار کنم بنظر می رسد در Design مشکلی نیست اما در Run مشکل بوجود می آید

  25. #25
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    آقای وکیلی میگی چیکار کنم ؟ برم سربخت یه کامپوننت دیگه ؟
    در ضمن یه مشکل دیگه هم با این کامپوننت دارم که یه تاپیک در قسمت کامپونننت های چاپ ایجاد کرده ام با عنوان چاپ نشدن بعضی Memo ها . اون رو هم لطف کنید یه نگاهی بندازید. ممنون

  26. #26
    نمی دونم تا چه حد مشکل شما به تعریف متغییر ها وابسته است اما من برای جل این مشکل با استفاده از یک بانک مفروضات نه تنها ثابتها که متغیر ها و فرمولها را نیز در FastRep بدون مشکل حل کردم

  27. #27
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    با تشکر فراوان از استاد وکیلی

    عرض کنم که من باید پس از جمع و تفریق چند فیلد در محیط فست ریپورت ( که این کار به راحتی انجام می شود و مشکلی ندارم) مقدار حاصل از آن را به مقدار حرفی ریالی تبدیل کنم ( راحت تر بگم این یه برنامه برای چاپ قبوض مصرفی مخابرات است) و در هنگام چاپ مبلغ باید آنرا به صورت حرفی ریالی هم بنویسد ( 1250 ==> هزارو دویست و پنجاه ریال) و مشکل در همین جاست که تابعی که لازم است اینکارو انجام بده را نمی توانم در محیط فست ریپورت بنویسم چون به تعریف آرایه ها - int64 - و .... اشکال می گیرد و در تنیجه باید در محیط دلفی آنرا تعریف کنم و سپس در محیط فست ریپورت از آن استفاده کنم و این کارو انجام دادم ولی در هنگام اجرا و پیش نمایش هیچ عملی انجام نمی دهد در مورد تبدیل به حرفی ریالی ( قبلا مثال را آپلود کردم)

    و این شرح کامل مشکل من بود ؟ اگه امکان دارد من را راهنمایی نمایید ( شاید هم یه اشکال پیش پا افتاده باشد که من متوجه نمی شم)

  28. #28
    ابتدایی ترین راه حل اینست که شما در بانک خروجی خود یک فیلد هم برای تلفظ ها ایجاد کنید
    به دوستان همکار نیز گفتم که مساله را پیگیری کنند اگر جوابی حاصل شد در همین تاپیک قید می کنم

  29. #29
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    ممنون مهندس . منتظر می مانم.

    در ضمن این مشکل دوم هم همراه همین مشکل برام پیش آمده اگه ممکنه یه نگاه بندازید
    http://www.barnamenevis.org/sh...ad.php?t=28133

  30. #30
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    (من دیروز یه پاسخ دادم ولی امروز که بازدید کردم اون جواب غیب شده)

    مهندس از توجه شما بسیار متشکرم . منتظر می مانم. در ضمن یه مشکل دیگه که در همین راستا پیش آمده در این تاپیک مطرح کردم که در صورت امکان لطفا یه نگاه به اون بندازید
    http://www.barnamenevis.org/sh...ad.php?t=28133

  31. #31
    کاربر دائمی آواتار Mahdi_S_T
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    خراسان رضوی
    پست
    1,039
    بلاخره این مشکل و حل کردم اما جالب توجه اینکه از موقعی که تابع را در محیط FastReport استفاده می کنم . تاثیر روی اندازه فونت های Memo ها کرده مثلا قبلا اندازه 8 بوده و الان با اندازه 6 باز هم حالت bold داره و این حالت هم درست نمیشه . فعلا خدا را شکر...

    امان از FastReport .... خیلی ها می گفتن معرکه ست !!!

  32. #32
    کاربر دائمی آواتار Mah6447
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    گرگان
    پست
    210

    نقل قول: اضافه کردن تابع و یونیت به محیط FastReport

    سلام
    آقا به ما هم یاد بدهید من مثال قبلی را دانلود کردم ولی نتیجه نکردم
    چطور اینکار را انجام دادید لطفا با مثال توضیح دهید

تاپیک های مشابه

  1. ایجاد گروه در Fastreport
    نوشته شده توسط sardar_ahmadi در بخش برنامه نویسی در Delphi
    پاسخ: 9
    آخرین پست: دوشنبه 13 شهریور 1385, 10:59 صبح
  2. fastreport
    نوشته شده توسط Bahmany در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 5
    آخرین پست: سه شنبه 17 مرداد 1385, 09:10 صبح
  3. سوال در مورد کار با fastreport
    نوشته شده توسط majid2004 در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: چهارشنبه 14 تیر 1385, 13:24 عصر
  4. پیغام fastreport
    نوشته شده توسط maisam57 در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 1
    آخرین پست: چهارشنبه 03 خرداد 1385, 09:32 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •