التفقيط في الفاست ريبورت والمجاميع
#1
السلام عليكم ورحمة الله

لكثرة السؤال عن هذا انشاءت هذا المثال ورفعته على المنتدى تجنبا للضياع وهو يشرح كل شئ

[صورة: attachment.php?aid=4434]

بداية المجموع SumByFastRepot يتم عن طريق الفاست ريبورت ستجد في الحقل

كود :
[<frxDBDataset2."cnt"> * <frxDBDataset2."price">]

ناتج ضرب الكمية في السعر لتعطي المجموع

ثانيا SumByAdodb يتم التجميع في الحقل Calculate لمكون الجدول خارج الفاست ريبورت

كود :
ADOTable2Total.Value:=ADOTable2cnt.Value * ADOTable2price.Value;

حيث تم انشاء حقل Calculate تم وضع فيه ناتج حقل الكمية في السعر

بعدها يتم تفقيط اجمالي المجموع من داخل الفاست ريبورت بواسطة Function يمكن وضعها في التقرير 

كود :
procedure Memo9OnAfterData(Sender: TfrxComponent); begin         Memo13.text:=NoToTxt(Memo9.value,'دينار','درهم');  end;

مع ملاحظة اننا استخدمنا الحدث AfterData اي بعد ان يتم احتساب الاجمالي واكتمال النتيجة


وايضا ستجدون دالة انشأناها خارج الفاست ريبورت وقمنا باضافتها للفاست ريبورت واستخدمناها

كود :
function  MyFunc(s: String): String;

والتي ترسل كلمة FastRepot فنضيف لها Well Come ويمكن استخدام هذه الطريقة في التفقيط او احتساب اي عمليات معقدة تستخدم وحدات او مكونات لا يمكن برمجتها او الاعلان عنها  داخل الفاست ريبورت

في الحدث GreatForm نضيف الدالة او الاجراء المطلوب

كود :
frxReport1.AddFunction('function MyFunc(s: String):string');

ثم في الحدث frxReport1UserFunction نقوم باصطياد الدالة المطلوبة

كود :
if MethodName = 'MYFUNC' then Result := MyFunc(Params[0])

وفي الدالة نضع اي برمجة نريد ونقتنص اي بارمترات مرسلة من الفاست ريبورت بحال كان هناك بارمترات

كود :
function TForm1.MyFunc(s: String): string; begin Result:='Well Come : ' + s; end;

ومن داخل الفاست ريبورت نستخدم الدالة بشكل طبيعي

كود :
Memo14.text := MyFunc('FastReport');


المثال بالمرفقات ويمكن تحميله


الملفات المرفقة
.rar   FastReportSum.rar (الحجم : 108.05 ك ب / التحميلات : 232)
.jpg   aaa.jpg (الحجم : 101.55 ك ب / التحميلات : 379)
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 5 users say قال شكرا ل Delphi4Us على المشاركة المفيدة
  • محمد عبد العزيز, h-farid, ALG2009, Mr.DOS, amar1997
الرد


الردود في هذا الموضوع
التفقيط في الفاست ريبورت والمجاميع - بواسطة Delphi4Us - 13-01-2021, 11:49 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم