![]() |
|
الفاست ريبورت لاي يعمل برمجيا؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : الفاست ريبورت لاي يعمل برمجيا؟ (/showthread.php?tid=12404) |
الفاست ريبورت لاي يعمل برمجيا؟ - ALG2009 - 03-10-2023 السلام عليكم الفاست ريبورت يعمل عادي ولكن عندما حاولت إنشاؤه برمجيا لا يشتغل ولا يظهر مع العلم أنه يتم إنشاؤه في المجلد المحدد بإسم Myreport.fr3 ![]() كود : uses frxclass,frxDBset;
procedure TForm4.Button4Click(Sender: TObject);
var
rep:TfrxReport;
page:TfrxReportPage;
Band:TfrxBand;
Mem:TfrxMemoView;
DBset:TfrxDBDataset;
const
repName='C:\Users\HAT\Desktop\New folder\New folder\Myreport.fr3';
begin
rep:=TfrxReport.Create(self);
rep.SaveToFile(repName);
page:= TfrxReportPage.Create(rep);
with page do
begin
createuniquename;
setdefaults;
end;
band:=TfrxReportTitle.Create(page);
with Band do
begin
Height:=150;
frame.Typ:=[ftRight,ftLeft,ftTop,ftBottom];
Frame.Width:=1;
Frame.Style:=fsSolid;
Frame.Color:=clGreen;
end;مشكلة مع العلم أني أستخدم دلفي 10.3 RE: الفاست ريبورت لاي يعمل برمجيا؟ - ALG2009 - 03-10-2023 المثال هل ممكن أحد يجرب البرنامج ويخبرني هل إشتغل عنده أما لا لأعرف أن المشكل من الدلفي أو من ماذا الضغط على زر الطباعة هل يظهر عندكم الفاست ريبورت أما لا RE: الفاست ريبورت لاي يعمل برمجيا؟ - Delphi4Us - 04-10-2023 وعليكم السلام ورحمة الله بدون ان نجرب الكود هذا لازال ينقصه الكثير على سبيل المثال لا يوجد ShowReport المسؤول عن اظهار التقرير وايضا انت انشأت ReportTitle ولكن لم تضيفه للتقرير والذي هو هنا عندك بأسم rep هناك طريقتان وعليك ان تتبع احدهما اولى اما ان تصنع كامل التقرير بالكود ولا تنسى ان تضيف كل شئ في النهاية الى التقرير كما تضيف اي كنترول الى النموذج في دلفي عن طريق كود : Form.Controls.add(yourCountrol)والطريقة الثانية ان تصمم التقرير يديويا يعني مثل العنوان والجسم الذي سيتم وضع الحقول فيه ونهاية التقرير حيث التوقيع وما الى ذلك ويتبقى فقط ان تضيف الحقول التي تريد ويمكنك الوصول الى اي شئ فيه كالتالي: كود : MasterData := frxReport1.FindComponent('MasterData1') as TfrxMasterData;حيث ان MasterData هي : كود : MasterData: TfrxMasterData;اما الحقول فتعريفها كود : var
Memo: TfrxMemoView;وبعدها انشاءها كود : Memo := TfrxMemoView.Create(MasterData);وبعدها اضافة الحقول للمكان الذي تريد كود : Memo.Parent := MasterData;وايضا تحديد مكانه كود : Memo.SetBounds(0, 0, 0, 21);وبالنهاية اظهار التقرير Rep.ShowReport RE: الفاست ريبورت لاي يعمل برمجيا؟ - ALG2009 - 04-10-2023 الله يرضى عليك بالفعل لم أقم بعرض التقرير بـ Rep.ShowReport مع العلم أني أتابع فيديو للأستاذ أسامة غزال فلم أنتبه لهذا الأمر فتوقفت على الأمر جزاكم الله خير RE: الفاست ريبورت لاي يعمل برمجيا؟ - Delphi4Us - 04-10-2023 شكرا بقى فقط ملاحظة بسيطة يمكنك الاستغناء عن تصميم الصفحة بالكود من الصفر وحفظها بمسار على لاقرص الصلب كما يظهر في الكود عندك فوق وذلك بان تصمم التقرير مرئيا وتضع فيه كل ما تريد من الامور الاساسية ويتبقى فقط ترتيب الحقول داخله وطبعا عند حفظ المشروع سيتم حفظ التصميم بترويسة النموذج للمشروع وهذا سيوفر عليك الكثير من الجهد في اعداد التقرير بالكود RE: الفاست ريبورت لاي يعمل برمجيا؟ - ALG2009 - 04-10-2023 (04-10-2023, 06:17 PM)Delphi4Us كتب : وذلك بان تصمم التقرير مرئيا وتضع فيه كل ما تريد من الامور الاساسية ويتبقى فقط ترتيب الحقول داخله ولكن إذا أردت السماح للمستخدم تغيير ترتيب الأعمد وقت التشغيل ليتم طباعتها حسب رغبته كيف يتم ذلك؟هنا المشكل وهنا يجب تصميمه برمجيا أليس كذلك؟ RE: الفاست ريبورت لاي يعمل برمجيا؟ - Delphi4Us - 05-10-2023 أجل اذا كان التقرير معقد وفيه احتمالات كثيرة لايمكن تصميمها مرئيا يمكن اللجؤ الى الكود لمن لا يريد ان يصمم كل شئ بالكود اما الاعمدة فلم افهم لانها تشير الى عدة احتمالات ولو كانت تقسيم التقرير الى اعمدة فلست بحاجة الى استخدام الكود يمكن ببساطة اسناد قيمة الاعمدة في التقرير هل هم 2 او 3 او 4 وهكذا من الخاصية الخاصة للـ MasterData او اي كانت الحاوية يعني تقريبا لا يوجد مالا يمكن الوصول اليه وتغيير خصائصه بالتقرير . فانت ستصمم عنوان التقرير بالشعار والتاريخ وكل ما يحويه بالجزء العلوي وسوف تنشئ حاوية البيانات MasterData وستتركها فارغة طبعا وتربطها بمصدر البيانات وسوف تنشئ ترويسة التقرير حيث التوقيع والصور ومن انشاء التقرير وما الى ذلك وتحدد الهوامش وحجم الورق وهكذا امور فقط ان اعداد هذه الامور بالكود سيأخذ وقت لاول مرة مع انني لا ارى مشكلة في تصميم كل شئ بالكود فقط مجرد خيار تم طرحه فقط |