دمج ال form
#1
السلام عليكم ..


هل توجد طريقة دمج فورم من مشروع أخر دون مشاكل ..
حملت سورس كود من هنا هل أستطيع اخذ فقط مثلاً فروم الحقوق ومثال أضافته في مشروعي .. ؟
كيف يتم ذالك دون مشاكل والطريقة التقليدية نقل الاكواد هل اجد طريقة اخرى ؟
الرد
#2
يوجد عدة طرق لفعل ذلك بشكل غير مباشر

في البداية هل محتويات الـ Form الذي تريد نسخه ثابته ؟
يعني . انت راح تطبق عملية الدمج على نافذة واحدة لا تتغير محتويتها من ناحية المكونات
فمثلاً هذه النافذة
كود :
http://www.easyhome.in.th/images2/netcapt.gif
تحتوي على خمسة من الـ TLabels و زر واحد و TGroupBox و TImage
فإذا أردت نسخ هذه النافذة فقط ..

تستطيع محاكاتها من خلال عمل نفس المكونات في نافذة برنامجك
وبعد ذلك تستعمل دوال الـ API لتقوم بنسخ المعلومات الموجودة في الدوال

اما إذا اردت ان تعمل دالةتقوم بنسخ أي نافذة فيوجد طريقتين كذلك
الأول من خلال الحصول على الـ Parent الذ يمتلك او يحتوي المكونات
ثم بعد ذلك تقوم بقراءة الـ Chiledrn التي يمتلكها الـ Parent
ثم عمل محاكات للنافذة من خلال المعلومات التي حصلت عليها

وأما الطريقة الاخرى فيوجد دالة من دوال الـ WinAPI تمكنك من احتواء نافذة خارج البرنامج
وليس نسخها اي مثلاً لدي نافذة برنامج ويكن MSN فعندما اقوم بإستعمال الدالة عليها
تمكنني من إحتواه نافذة الـ MSN , لكن هذه الطريقة لها عدة عيوب .. فإذا اغلقت برنامح الـ MSN
لن تجد النافذة التي قمت بإحتواها"MSN" في برنامج

من ناحية سهوله هذه الطرق
فـ الحل الأول هو الأسهل
ثم الحل الاخير من الطريقة الثانية لكنه غير مرن ويجد به أخطاء كثيرة
ثم بعد ذلك الحل الاول من الطريقة الثانية

حدد الطريقة التي تريد ان تتبع ثم اخبرني Smile

اما إذا كنت تريد عمل دمج النافذة وانت تملك السورس كود .. فإنك تستطيع من خلال استعمال ملف dmf لإطالر VLC و fmx لإطار FMX

بالمناسبة قمت بكتابة الرد على اسااس انك تريد نسخ نافذة وانت لا تملك السورس كود xD
نلتقي لنرتقي
الرد
#3
نعم اخي تقريباًَ نفس الطلب ..

لأكن النافذه التي اتمنى نقلها او نسخها التي تحتوي على اكواد
هل فيه طريقة مختصره غير ذالك أذكر أن كان فيه طريقة ..
لأني اريييد أكثر من فورم

وشكراََ لكك عزيزي ولله يكثر من أمثالك
الرد
#4
تستطيع ذلك من

XE -> XE7 :
من نافذة Project Manger -> قم بالضغط على المشروع بالزر الأيمن -> قم باتختيار خيار Add
بعد ذلك اختر الـ Units التي تريد اضافتها سواً ملف واحد او عشرة ..

Delphi 7 :
من القائمة View -> قم بإختيار Project Manger -> بعد ذلك ستظهر لك نافذة Project manger -> من نافذة Project Manger -> قم بالضغط على المشروع بالزر الأيمن -> قم باتختيار خيار Add
بعد ذلك اختر الـ Units التي تريد اضافتها سواً ملف واحد او عشرة ..

ولا تنسا قبل إضافة الملف ان تضعه بنفس مجلد المشروع تجنباً للمشاكل
نلتقي لنرتقي
الرد
#5
تمممم يعطيككك الف الف عافية
الرد
#6
تستطيع الضغط على زر "شكراً" إذا افدتك
دون الحاجه لكتابة رد ^^
نلتقي لنرتقي
الرد
#7
السلام عليكم و رحمه الله وبركاته
استاذى المهند قمت بتنفيذ الخطوات المذكورة على مشروع تدريبى عندى بمعنى اوضح
قمت بانشاء فورم يحتوى على بعض الكمبوننت مثلا قمت باضاف وحدة خاصة بفورم مؤشر تحميل فى المشروع القديم و عند اضافتها و انااملك السورس الخاص بهذا المشروع ظهر لى خطاء وهو عدم وجود الكمبوننت الموجود بالمشروع المستورد منه الوحدة فى المشروع الجديد.
هل معنى هذا انه يجب اولا اضافة نفس الكمبوننت الخاصة بفورم هذه الوحدة فى المشروع السابق الى نفس مشروعى الجديد ؟ مثلا اضع على الفورم مؤشر تحميل ؟
**** ان يكون كلامى واضح لحضرتك
معانى الكلام تحمل على مراد المتكلم
الرد
#8
إقتباس :هل معنى هذا انه يجب اولا اضافة نفس الكمبوننت الخاصة بفورم هذه الوحدة فى المشروع السابق الى نفس مشروعى الجديد ؟
نعم .
من الطبيعي انه إذا اردت أن تستعمل فورم يحتوي على مكونات عير مثبته لديك .. تحصل على خطا يفيد بعدم وجود المكونات
حيث ان لغة البرمجة لا تستطيع التعامل مع مكون غير موجود ...


إقتباس :مثلا اضع على الفورم مؤشر تحميل ؟
لم افهم ماذا تقصد بهذا السؤال ...

إقتباس :**** ان يكون كلامى واضح لحضرتك
إذا ارددت ان يكون كلامك واضح ... اطرخ مضوعك على شكل نقاط , رؤس اقلام , وبتنسيق اكثر ^^
نلتقي لنرتقي
الرد


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


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