حبايبنا
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



 
الرئيسيةأحدث الصورالتسجيلدخول

 

 مقدمه في الفيجوال سي++

اذهب الى الأسفل 
كاتب الموضوعرسالة
MegaZX

فريق العمل
 فريق العمل
MegaZX


عدد الرسائل : 164
العمر : 36
المكان : جمهورية مصر العربية
تاريخ التسجيل : 05/06/2007

مقدمه في الفيجوال سي++ Empty
مُساهمةموضوع: مقدمه في الفيجوال سي++   مقدمه في الفيجوال سي++ Icon_minitimeالسبت يونيو 23, 2007 10:13 am

بسم الله الرحمن الرحيم ...

اذا كنت تريد البدايه في البرمجه تحت الفيجول سي++ ، وبناء تطبيقات 32 بت .. فهذا المقال موجه اليك !!



وسوف أجاوب على هذه الاسئله التي قد تكون خطرت على بالك عندما شاهدت عنوان
الدرس .. بالاضافه الى بعض الاسئله ، ايضا في حال توفرت لديك بعض الاسئله
ولن تشاهدها هنا فبادر بطرحها على الفور !


مقدمه في الفيجوال سي++ N





================
ما هو الفيجول سي++ ؟

Console Mode VS Win32 Mode

لماذا اتعلم فيجول سي++ ؟

كيف اتعلم فيجول سي++ ؟

اسئله بسيطه ؟؟

مثال بسيط ؟ برنامج فقط وليس سورس ؟



================





ما هو الفيجول سي++ ؟


ببساطه انه بيئه تطوير متكامله

Integrated Development Environment ويطلق عليه اختصارا IDE .. ما ذا يعني هذا الكلام : اي انه تم وضع المترجم والرابط ومحرر النصوص ومحرر الادوات Resource Editor كلهم في اطار واحد او بيئه واحده (راجع درس : سي++ ما وراء الكواليس ، في هذا القسم . لمزيد من المعلومات حول الـ IDE) .


مقدمه في الفيجوال سي++ N






Console Mode VS Win32 Mode:


بالتأكيد ، انك تعلمت سي++ وحاليا وقمت بكتابه بعض البرامج البسيطه ..
ولكن الشئ الذي يقلقك ويشغلك هو انك سمعت من احد اصدقائك او من الاحد
المحترفين ان "اغلب برامج الويندوز مكتوبه بالسي++" .. مثلا برنامج
الماسنجر مكتوب بالسي++ ايضا برنامج الفوتوشوب وبرنامج 3 دي ماكس وو الخ
.. اغلب البرامج ان لم تكن جميعها تكتب بالسي++ .. ايضا الالعاب اغلبها
مكتوبه بالسي++ ..


بالتأكيد ، هذا هو السؤال الذي تطرحه .. "كيف يمكن كتابه مثل هذه البرامج بالسي++ " ؟؟

الجواب :

عندما تعلمت سي++ ، تعلمتها تحت بئيه الكونسول


Console Mode ..
وهذه البرامج تعمل تحت الدوز (في الحقيقه محاكي للدوز) .. هذه البرامج لا
تستطيع التعامل مع الفأره ، ايضا لن تستطيع التعامل مع الاحداث .. ايضا
تسير تحت تسلسل واحد اي انك لن تستطيع عرض المخرجات كلها دفعه واحده .. بل
عليك الانتظار حسب ما يؤديه برنامجك ...


في الحقيقه ، تستطيع برمجه الفأره في هذه البيئه .. ولكن عليك ان تعمل تحت بيئه 16 بت وليس 32 بت ... ما معنى هذا الكلام ؟؟


حسنا ، لتسهيل الامر عليك .. عندما تكتب برنامج ما وتترجمه باستخدام احد
المترجمات مثلا بفيجول سي++ او بولاند سي++ او ديف Dev - C++ .. كل هذه
المترجمات تنتج تطبيق كونسول ، ولكنه في الحقيقه تطبيق 32 بت ...
(الويندوز بدا من الاصدار ويندوز 98 اصبح 32 بت ، اما الاصدارات القديمه
والدوز هي 16 بت) .... وعندما تستخدم بيئه 32 بت لن يمكنك برمجه الفأره
باستخدام مقاطعات الدوز التي يجب ان يكون التطبيق 16 بت ...


نعود الى برامج مثل الرسام واي برنامج اخر ذو واجهه.. ونترك الدوز قليلا مقدمه في الفيجوال سي++ 0056 ..

هذه البرامج 32 بت كتبت بالسي او السي++ .. لكن باستخدام ما يعرف بواجهه برمجه التطبيقات



Application Programming Interface واختصارا
API ... وايضا يطلق عليها win32 (لانها تعمل داخل انظمه 32 بت ، قديما كان
هناك win16 ولكنها اصبحت لاغيه ... الجدير بالذكر ، انه كل اصدار من هذه
الدول API يتم اضافه دوال جديده ، ولكن مع الاحتفاظ باسامي الدوال القديمه
كما هي وذلك لكي يستطيع المبرمجين القدامي الانتقال بسهوله الى البيئه
الجديده ... )


ماهي هذه API ؟

هي مجرد دوال موجوده في داخل ملفات تنتهي بالامتداد .dll وموجوده في مجلد النظام لديك (

c:windowssystem)
... هي باختصار نظام التشغيل ويندوز ... مثلا عندما ترى مستطيل فاعرف انه
تم استدعائه من هذه الدوال .. عندما ترى قائمه ،وو كل شيئ تقريبا ...


حسنا ، عندما تستخدم هذه الدوال في برنامج تستطيع فعل ما تريد .. نعم ما
تريد .. ويمكن استخدام هذه الدوال في اي لغه كانت سي ، سي++ ، فيجول بيسك
، وغيرها من اللغات . وفي الحقيقه عندما تتعامل مع اللغات ذات الوجهات
مثلا دلفي او فيجول بيسك مثلا قمت برسم زر Command فهذه اللغه تستدعي
الداول نيابه عنك لتسهيل الامر ..


نعم لتسهيل الامر ، فالأمر ليس بهذه البساطه ، معرفه الدوال امر مستحيل
وصعب للغايه .. لذلك اغلب البرمجين لن يستخدموا تللك الدوال لوحدها فقط ..
لكن مع لغه البرمجه مثلا VB يمكنك استدعاء تلك الدوال عندما اللغه لا
تستطيع على فعل شيء (مثلا فتح السيدي ، معرفه معلومات الجهاز) في هذه
الحاله سوف تستخدمها ..


عدد الدوال كبير جدا ، اذا مثلا كيف تريد معرفه داله ما .. ببساطه افتح



MSDN وهو
موقع يحتوي على جميع الدوال .. ويمكنك تنزيله على شكل كتاب (تقريبا) ومن
خلاله تستطيع معرفه اي داله وطريقه عملها ، بالاضافه الى مثال في بعض
الدوال ..


اذا اردت تعلم دوال API مع لغه سي (سي وليست سي++) .. هناك كتاب

Windows Programming للمؤلف
Petzold (وهو موجود في قسم الكتب لو اردت تحميله) وهو كتاب يعلمك كيف ترسم
اشكال ، قوائم ، تتعامل مع الماوس والكيبورد ، وغيرها من الكثير من
المواضيع ، بل حتى يتعدى الاساسيات ويدخل مواضيع متقدمه في البرمجه مثل
Multithreading و Memory Managment وغيره .. بالمناسبه البرمجه باستخدام هذه الطريقه غالبا ما يشار لها بالـ SDK -Style .



من هنا ، قامت مايكروسوفت بعمل كلاسات Classes وكبسلت هذه الدوال في هذه
الكلاسات .. واصبحت هناك مكتبه متكامله من الكلاسات وسمتها MFC (وهي
اختصار


Microsoft Foundation Class ) . اي ان التعامل معها بطريقه البرمجه الموجهه للكائنات Object Oriented Programming .. من هنا نستنتج انه لعمل برامج MFC يجب ان تكون ملم باساسيات السي++ بشكل جيد .. !! انتبه ...


في فيجول سي++ ، تستطيع عمل برامج بكلا الانواع سواء Console او win32 او
MFC ... وطبعا الاخيره مقتصره فقط على الفيجول سي++ .... وتستطيع استخدام
win32 في اي نوع من الانواع ... لذلك سوف نتعلم MFC ونستخدم هذه الداول
عندما نحتاجها .

مقدمه في الفيجوال سي++ N

لماذا اتعلم فيجول سي++ ؟


اذا كنت تريد عمل برامج ذات واجهات






Graphical User Inteface GUI

اذا كنت تريد عمل تطبيقات انترنت وبرامج شبكيه
Internet development, Network Programming

اذا كنت تريد بناء وصول لقواعد البيانات
database access

اذا كنت تريد عمل تطبيقات
component technology


وكنت تعرف في سي++ ، اذا عليك تعلمها ... مقدمه في الفيجوال سي++ 0056


مقدمه في الفيجوال سي++ N









كيف اتعلم فيجول سي++ ؟


هذا يعتمد عليك اولا واخيرا ... فالمكتبه MFC مليئه جدا جدا .. ويصعب
شرحها بشكل كامل .. هناك الكثير من الكتب المتوفره في هذا الموضوع .. ايضا
يمكنك متابعه المواضيع هنا في العاصفه (ان بدئت) ... لكن لا تعتمد عليها
فقط !! في حال اردت التعلم يجب ان يكون لديك على الاقل مرجع واحد تستطيع
القرائه منه بشكل يومي ...


والفتره التي يقولها اغلب المؤلفين ... انه لكي تحترفها عليك على الاقل سته شهور من القراءه والتطبيق المستمر مقدمه في الفيجوال سي++ 0056 ... اعلم انه شيء صعب كثيرا .. لكن للقوه ضريبتها ، فهي اقوى لغه لذلك عليك ان تستحملها ...






مقدمه في الفيجوال سي++ N








اسئله بسيطه

ماهي الـ QT ولماذا البعض يفضلها على الـ MFC ؟

حسنا ، التطبيق الذي سوف تنتجه باستخدام mfc سوف يعمل فقط داخل انظمه
ويندوز ... لانه مبني بالاعتماد على داول API كما ذكرنا .. وكل نظام تشغيل
له دوال تختلف عن الاخر ..




ايضا التعامل مع Qt اسهل كما ذكر البعض (من انصار اللينكوس) ....


بالنسبه لي .. لا اعبئ كثيرا بهذا النظام .. لاني لا احبه ابدا مقدمه في الفيجوال سي++ 0056
.. لذلك سوف اتوجهه للـ MFC ... الكثير من اللى اعرفهم انتقلوا الى هذه
المكتبه لانك تستطيع البرمجه بها من داخل ويندوز ولينوكس ... وتستطيع
استخدامها في فيجول سي++ !! (لا تقل لي انك تريد تعلهما مقدمه في الفيجوال سي++ 0056 ) ...


مقدمه في الفيجوال سي++ N





Qt ، هي مكتبه متكامله شبيه بال MFC ... ولكن مع فارق بسيط انها تعمل في
داخل لينوكس وويندوز ... اي ان البرنامج المكتوب بها سوف يعمل بدون اي
مشاكل في اللينكوس وحتى الماكنتوش ... لانها اصلا من لغات التطوير في
لينكوس ..






هل استخدم فيجول سي++ ام فيجول بيسك ( لا يزعل علينا ريد كاسبر) مقدمه في الفيجوال سي++ 0056 ؟


اذا تعلمت VC فهو شيء جيد ، اذا تعلمت VB فهو شئ جيد ايضا ، اذا تعلمتهما الاثنين فهو شيء رائع جدا ..


إن اختيارك للغة يعتمد بشكل كبير على البرامج التي أنت في صدد كتابتها .
فبرمجة الموسوعات و قواعد البيانات هو أسهل في الفيجوال بيسك ، برمجة
برامج التحكم والرسوميات و برامج تتعامل مع الويندوز وال API بكثرة هي
أقوى وأسهل في الفيجوال سي . فهناك أمور تبرمج في الفيجوال سي بسهولة أكثر
عن الفيجوال بيسك والعكس صحيح .



سوف أضرب لك مثال :

لدينا برنامج رسم مثل ال Corel Draw ولكن على شكل مبسط .. فأي لغة تختار :

إذا اخترت ال VB فسوف يأخذ معك وقت أكثر وجهد أكثر وسوف يكون البرنامج بطئ جدا .

أما إذا اخترت ال VC فسوف تجد مرونة تامة في برمجة الخوارزميات والسرعة الهائلة بالمقارنة مع تلك والاستخدام الاقتصادي للذاكرة .


الملخص أنه يوجد العديد من الأشياء التي يمكنك أن تفعلها في VC ولا يمكنك فعلها في باقي اللغات ، والعكس صحيح !!


مقدمه في الفيجوال سي++ N

طيب ما هي ميزات الفيجول سي++ ، اي الاشياء التي تميزها عن غيرها من اللغات ؟


إن كل سطر تكتبه في VC هو أسرع بمقدار عشر مرات من لغة ال VB وبحوالي 2 إلى 5 مرات من الدلفي ..


ال VC التي تعتمد على لغة ++C هي أفضل بكثير من بقية اللغات ولا تقارن
معهم ويكفي أنك تبرمج في بيئة OOP مائة في المائة . فهل يمكنك مثلا في
الدلفي أن تعمل تحميل للعوامل












Operator Overloading أو Multiple Inhiretince وغيرها الكثير .


يوجد في ++C مكتبة قياسية STL وهي تحتوي على العديد من الأمور المعدومة في
باقي اللغات مثل بناء linked list و hash table أو map table ، والعديد
غيرها وهي جاهزة من أجل الاستخدام . (جافا تحتوي ايضا ) .


استخدامك للمؤشرات بصورة سهلة جدا هو لوحده يكفي .


بالنسبة إلى برمجة الواجهات فهي مثل باقي اللغات وإن كانت باقي اللغات
أسهل لما تقدمه من الكائنات الجاهزة . ولكنك يمكنك استخدام العديد من ال
Classes أو الكائنات الجاهزة في برامجك .


"بالنسبة إلى قواعد البيانات فهي نفسها عن باقي اللغات . وإن كانت ال VB
أسهل فإن ال VC إذا أتقنتها فلن تحس بأي مشكلة في برمجة قواعد البيانات
باستخدام أي من التقنيات OLE DB أو ODBC أو DAO أو ADO .


هل سألت نفسك إن كانت ال VB تدعم بناء برامج قواعد البيانات مباشرة
باستخدام OLE DB . طبعا هذا مستحيل !! إن استخدامك لل OLE DB مباشرة هو
اختصار الطريق واهمال لطبقة ال ADO التي في المنتصف .


هل سألت نفسك إن كنت تستطيع بناء OLE DB Provider في ال VB طبعا لا . وهذا هو عبارة عن مقدم خدمات لقواعد البيانات . "


"







الفقره السابقه ، هو كلام احد الخبراء في فيجول سي++ ، لذلك ارفقت كلامه بين قوسين " .


مقدمه في الفيجوال سي++ N


حسنا ، ما هو الفيجول سي++ . نيت ؟؟Visual C++.NET

هو احدث الاصدارات من هذه البيئه .. على العموم لا اعرف الكثير عنها لكن
تم وضع لغه جديده من السي++ وهي C++/CLI وهي لغه السي++ الخاصه بالدونت
نيت !! ايضا كان هناك Managed C++ (وهي اول سي++ في اول اصدار لدوت نيت ،
لكن الان تم استبدالها بالـ C++/CLI) ..


غير متأكد من MC++ وانه تم استبداله لكن سأبحث في هذا الشأن ... خاصه انه
سي++ من اهم اللغات فلازم نجاري التطور ولو حتى فقط بمعرفه الاخبار ...












لماذا لا يكثر الحديث عن Visual C++.NET بالنسبه الى C# او جافا ؟؟


لأن اكثر ما يدور حاليا لدى المبرمجين فهو بناء التطبيقات .. وفي هذه
الحاله السي++ تخسر الكثير بسبب الصعوبه بعكس لغات vb.net او جافا ...




اذا من اجل بناء تطبيقات عاديه == لديك vb.net او c# او delphi

من اجل بناء تكنلوجيا وانظمه كبيره جدا == فجيول سي++ ، سي++ ، سي

من اجل بناء برامج منخفضه المستوي === فجيول سي++ ، سي ، اسمبلي

"رأي شخصي 100%" مقدمه في الفيجوال سي++ 0056 .


اخيرا ،،

هذه المكتبه بصحيح للمحترفين !! نعم .. لا يوجد الكثير من يعرفها لانها
صعبه على البعض .. لكنها عجتني لذلك سأكمل فيها حتى اخر رمق !!! Wink
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
مقدمه في الفيجوال سي++
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

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