الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تصنع الدوال ؟؟؟؟؟

مغلق
بدأه Mr.Abdulilah في 7 أكتوبر 2005 · 4 رد · 434 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف تصنع الدوال؟؟ وكيف صنعت مايكروسوفت Form و textbox وغيرها من الادوات :D

هل يمكن صنعها بال ++C ??? :)

كيف؟؟؟ :D

#2

قمت بالرد على مثل هذا الموضوع سابقا :

المشكلة ليست فى اللغة بل يمكنك من لغة البسكال تصميم ادوات اكس بى المهم انك تعرف كيفية استخدام دوال النظام

اما عن كيف تم تصميم ادوات النظام

من لغة السى ويمكن من لغة البسكال ولكن بأ ستخدام خدمات المعالج

hamada hassan ali كتب:
عزيزىsemsem0737

ما رايك  انت ترى الويندوز وهو ذات الواجهة المرئية  هل تعلم ان كل هذا تم كتابتها بلغة السى والاسمبلى

ولكن  استخدام الاسمبلى  لكى يتم  التعامل المباشر مع الجهاز كمثل نقل البيانات والتحكم فى اجزاء فى الهارد  والللوحة الام عموما

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

-----------------------------------------------------------------

لا تنظر الى السى  وهى برامج الكونسل  انظر الى فيجوال ستديو  والفيجوال بيسك  فهو يدعم الواجهة  هل تعرف ان لغة الفيجوال بيسك

والفيجوال سى ++  6   تم تصميمهم  بلغة السى  والسى ++ القياسية

  ولكن   اعرف  ستقول   كيف وهى  تعمل  برامج كونسل  ؟

اولا يا عزيزى  عندما تختار البرمجة بلغة السى   فانك تحدد نوع المشروع  اذا كان كونسل  هذا معناه انك ستعمل فى النظام غير المحمى  وهو نظام  16 بت  اى ان ( سعة المسجل  cx --  bx  -- ax  تكون 16  بت ) 

اما معالجات   32 بت  فهى تدعم خدمة الواجهة والالوان   انظر الى اى برنامج او لعبة على بيئة 16 بت  سترى انها تقتصر على 15  الى 256  لون فقط

اما انظر الى الالعاب الذى تشعر وكأنك  فى عالم واقعى  ذات ابعاد سداسية وليس  ثلاثى الابعاد فهذه هى السى ايضا   ولكنها تستخدم خدمات المعالج 32 بت 

الان المعالجات انواع  16  بت  وهو الذى انت تقول عليه  ان الدوس انقرض

اما معالجات 32 بت  وهى معالجات  تدعم خدمات الرسومات فتحتوى على 16 مليون لون وهو ما تراه امامك من الوان الايقونات السحرية المجسمة

اعرف انك ستقول لى كيف يتم استخدام السى  فى بناء برامج ذات واجهة وليس الكونسل

عندما يتم تصميم نظام التشغيل فهو مكون من  عناصر  :

محرر ادوات كامل  به :

list box

form

dialog box

  وهى تعتمد على مبداء الوراثة بمعنى   تم تصميم نظام  تشغيل به  خدمات كمثل  فتح اتصال بينك وبين النت

يتم عمل نسخة من هذه الدالة  داخل مكتبة  تسمى مكتبة  خدمات النظام  API 

وهى تمكنك من تصميم برامج تدعم واجهة النظام  وامكانياته  والخدمات التى يوديها المعالج

بناء برامج كونسل فانك تستخدم خدمات على حدود  16 بت   لا اكتر

اذا كنت تنوى بناء برامج تدعم الواجهة الرسومية  والامكانيات والتحكم  فعليك استخدم مكتبة دوال API    مع لغة السى وللعلم  مكتبه خدمات النظام  مكتوبة ايضاوتم تصميمها  بلغة السى   عارف ليه  لان النظام  XP --  ME  -- 98 -- 95  2000  تم كتابتهم بلغة السى ايضا

هل اقتنعت الان بلغة السى 

لديك اداة محرر نص textbox تم تصميمها من اكواد الخاصة بالالوان بالمعالج اى كان نوعه 16 او 32 بت

اما النظام يسهل عليك تصميم الاداة فما عليك هو استدعائها فقط وسيقوم النظام بعمل نسخة من الدالة وتمريرها الى برنامجك

اعتقد انك فهمت ان التصنيع غير الاستخدام بمعنى

يمكنك تصميم ادوات تك الخاصة بك ولكن تتطلب منك معرفة جيدة بخدمات المعالج والوصول لها والتحكم فى نظام العرض على الشاشة والخدمات الذى توديها وهذا يتم تصميمه اثناء بناء وكتابة نظام التشغيل

تخيل لو لم يكن النظام يوفر لك هذه الخدمات api سوف تقوم انت بتصنيعها ثم اتعامل معها فى مرحلة الاستخدام

تم تعديل هذه المشاركة بواسطة hamada hassan ali في 7 أكتوبر 2005 في 23:28

_____________________________

C Language && Windwos_API

_____________________________

#3

ماذا تقصد بكيف يتم انشاء الدوال؟ هل تقصد ماذا يحدث عندما يقوم الكومبايلر بترجمتها الى لغة الالة مثلا؟ ام تقصد بالدوال الـ win32 api؟

فيما يتعلق بالدوات المرئية .. فهذه مشكلة لها جانبين: اولا جانب الرسم (كيف ترسم العنصر على الشاشة) ..

و المشكلة الثانية هي متابعة حالة العنصر ... مثلا في حالة مربع النصوص, لازم تتابع اين هو مكان المؤشر و ما هو النص المكتوب حاليا .. و اذا كان هناك عدة اسطر لازم تتعامل مع كيف ستضع الكلات في الاسطر .. الخ.

#4

مثلاُ أبغ أصنع أدات زر بالبرمجة بال ++C بدون مساعدة الوندز كييف؟؟

#5

خلي نبسط المسألة:

اكتب برنامج بالدايركت اكس او اي مكتبة تخليك ترسم الصور مباشرة ..

خلي برنامج full screen و خلى لون الشاشة كلها لون واحد (ازرق مثلا .. او اي شي)

احضر صورتين .. واحد للز و هو مضغوط, و الاخر للزر في وضعه العادي.

ارسم صورة للزر و هو في وضعه العادي.

قم بمراقبة حركة الماوس, و كلما يقوم المستخدم بضغط زر الماوس, قم بالتأكد من هل كان الماوس فوق صورة الزر ام لا؟ فإذا كان فوق صورة الزر, استبدل صورة الزر بصورة الزر المضغوط, و اذا لم يكن كذلك .. فاترك صورة الزر كما هو. طبعا لو حولت الصورة الى زر مضغوط, لازم بعدهاترجع الصورة الى الزر العادي عندما يقوم المستخدم بازالة الضغط من زر الماوس.

بإمكانك ان لا يقوم البرنامج بشيء سوى هذه المهمة: يعني مراقبة حركة الماوس, و القيام بتبديل صورة الزر بصورته و هو مضغوط عندما يضغط الماوس عليه.

هذا الموضوع مغلق.

مواضيع مشابهة