delphi4arab منتديات دلفي للعرب

نسخة كاملة : معرفة جميع مكونات (Components) لفورم Form
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ،
في الحقيقة كانت مناسبة هذا الموضوع هي كالتالي :
أستعمل الفاست ريبورت في مشروعي ، و أنا على مقربة من الانتهاء من البرمجة ، اكتشفت أنني تركت في تقاريري  امكانية التعديل عنه Sad 
أي أن الخاصية  Edit  للمكون frxReport  مفعلة ،
فانتابني اليأس على المرور في جميع النوافذ (Forms)  و تغيير خاصية جميع المكونات الفاست ريبورت ، واحدة واحدة...
ولك أن تتخيل التعب و النصب ، وربما أمر على مكون ما دون تغيير هذه الخاصية.... Angry
فانتابني سؤال و هو : كيف لي معرفة جميع المكونات من نوع FastReport  لكن برمجيا ، وكان هذا الحل :
للبحث عن جميع مكونات من نوع label :

كود :
Var i:Integer; begin   For i:=0 To ComponentCount-1 Do   If Components[i] Is TLabel Then     TLabel(Components[i]).Caption:='AAA'; end;

الأن مع الفاست ربورت و تغيير خاصية Edit :

كود :
For i:= 0 To ComponentCount-1 Do    If Components[i] Is TfrxReport Then       TfrxReport(Components[i]).PreviewOptions.Buttons := [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbNavigator, pbExportQuick] ;

أو حال آخر بسيط :
كود :
For i:= 0 To ComponentCount-1 Do     If Components[i] Is TfrxReport Then        TfrxReport(Components[i]).PreviewOptions.Buttons := TfrxReport(Components[i]).PreviewOptions.Buttons - [pbEdit];





وكانت النتيجة رائعة و فرحة كبيرة... Blush 
وضعتها هنا للاستفادة.
و عليكم السلام و رحمة الله و بركاته

لدي استفسار أستاذي: هل ComponentCount يشمل مكونات جميع الفورمات أم الفورم الحالي فقط ؟
يشمل الفورم الحالي فقط.
جزاك الله خيرا على المرور الطيب.
و ماذا لو اردت من حلقتي المرور على جميع مكونات جميع الفورمات, هل يمكن ؟

فكرت في أن أغير الـ Caption للمكونات حسب اللغة المختارة في برنامج متعدد اللغات, و كما ترى فحلقة من هذا الصنف تغني عن عمل كبير , ناهيك عن كمية البايتات المكتسبة في الملف التنفيذي و هي
الذاكرة حين التشغيل.

بارك الله لك في علمك و جزاك عن جهدك و يسر لك سعيك.

المعذرة على ثقل ظلي عليك.
السلام عليكم
بارك الله فيكما,
أخي اعتقد ان تجميع كل تقارير البرنامج إذا كانت كثيرة في فورم واحد تسميه تقارير مثلا سيسهل التعامل معها مستقبلا.
(31-05-2016, 09:30 PM)h-farid كتب : [ -> ]و ماذا لو اردت من حلقتي المرور على جميع مكونات جميع الفورمات, هل يمكن ؟

فكرت في أن أغير الـ Caption للمكونات حسب اللغة المختارة في برنامج متعدد اللغات, و كما ترى فحلقة من هذا الصنف تغني عن عمل كبير , ناهيك عن كمية البايتات المكتسبة في الملف التنفيذي و هي
الذاكرة حين التشغيل.

بارك الله لك في علمك و جزاك عن جهدك و يسر لك سعيك.

المعذرة على ثقل ظلي عليك.

السلام عليكم استخدم screen.formcount
http://delphi4arab.net/forum/showthread.....formcount
عجز اللسان (أو بالأصح الكيبورد Big Grin ) عن شكرك أستاذ فاتح.
شكرا.