تفضل لتعرف فكرة مبسطة عن البرمجة

    • تفضل لتعرف فكرة مبسطة عن البرمجة

      ملاحضة سبق و طرحت الموضوع بمنتدى أخر وأستكمل معكم
      بهذه الساحة الرائعة


      أولا أنواع البرامج حسب تصنيف لغة الـ C++ 6
      Console Application
      البرامج التي لا تحتوي على نافذة و التي تنفذ مهماتها على منفذ الدوس عن طريق أوامر خاصة
      كل برنامج منها له أوامره الخاصة به و التي قام مبرمج البرنامج بتحديدها و نحصل على هذه
      الأوامر من تعليمات إستخدام البرنامج


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

      صورة لمنفذ الدوس و التي تنفذ عليه برامج أو تطبيقات Console


      Dialong Application أو MFC Application
      برامج النوافذ أو الإطارات و التي تشمل على أدوات تحكم مثل الأزرة Button أو القوائم List و
      الحقول Input و التي تمكن المستخدم من التحكم بالبرنامج و إنجاز مهماته البرمجية و هي البرامج
      العادية و التي نستخدمها مثل الفوتو شوب الرسام المادي بلاير .


      صورة لهذا النوع من البرامج


      هناك أسماء أخرى إنما في الأساس رغم تعدد التسميات أنواع البرامج نوعين برامج النوافذ و منها
      البرامج التي نستخدمها و تحتوي على إطار أو نافذة Form أو Windows و أدوات تحكم تسمى
      Control و النوع الأخر من البرامج هي البرامج التي لا تحتوي على نافذة و تنفذ على منفذ
      الدوس صور لبعض من أدوات التحكم .


      Button

      List

      Input

      EDIT محرر



      هناك أيضا و هي المكتبات البرمجية و منها مكتبات الويندوس البرمجية و تكون بملفات من نوع
      Dll موجودة في مجلد Window و أغلبها موجودة على مجلد system32 و المكتبات يصممها
      المبرمجين للمبرمجين و ليس للمستخدم العادي ومن هذه المكتبات و أكثرها أهمية Kernel32.dll
      و كذالك User32.dll والأخيرة من إسمها تختص بأدوات التحكم السابقة الذكر و التي يستخدمها
      المستخدم...هذه مكتبات رائيسية قام مبرمجين الويندوس بتصميمها إنما من الممكن لمبرمج عادي
      تصميم مكتبة برمجية لو أراد ذالك.


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


      صورة لإطار إختيار نوعية برنامج على محرر لغة سي بلس سته


      حول محررات اللغات البرمجية


      لكل لغة محرر مع إستثناء لبعض اللغات البرمجية مثل لغات السكاربت بأنواعها لماذا
      محرر و ماذا يعني محرر لغة برمجية هووه في الأساس برنامج يعمل على نظام
      التشغيل مثل نظام ويندوس ومهمته تصميم برنامج ماء و إخراجه في ملف تفيذي من نوع
      EXE وكذالك في ملف من نوع DLL بنسبة للمكتبات البرمجية .


      فعند مثلا ما نقول Microsoft Visual C++ 6.0 بالفعل هذا يعني لغة سي بلس سته
      إنما أيضا في الأساس هووه برنامج يختص بهذه اللغة و يستخدمه المبرمجين...كذالك
      سي بلس إصدارات خمسه و سته و أيضا السي بلس نت أو الدوت نت و هناك فرق
      كبير جدا كفرق بين لغة برمجية و أخرى بين سي بلس سته و سي بلس دوت نت كذالك
      لكل من سي بلس خمسة و سي بلس سته و سي بلس دوت نت محررها الخاص .


      محرر اللغة البرمجية طبعا برنامج ضخم ليس صغير وكذالك يتكون من أقسام...محررعادي مثل
      برنامج ميكروسوفت ورد أو النوت باد أو ورد باد يعني محرر لمعالجة النصوص إنما به إمكنيات
      لا نقارنها بأي محرر أخر مثل الإكمال التلقائي لنصوص الأوامر البرمجية أدوات بحث متطورة
      ألوان تميز بعض الكلمات المفتاحية و التي تدخل ضمن الأوامر البرمجية و الوظائف و الدوال .. و
      الكثير ... و هذا الجزء هووه الجزء الذي يكتب فيه المبرمج الأوامر البرمجية طبعا الأوامر أنواع
      متعددة و لها مراجع تشرح بلأمثله إستخدامها في مواقع شركة ميكروسوفت مثل الموقع الشهير مسدن
      MSDN.COM و غيرها من المواقع لشرح و التعلم مع أمثله وتطبيقات وكذالك موقع ميكروسوفت
      سبورت موقع أخر لشرح و ليس مرجعا للأوامر البرمجية مواقع المراجع لشركة ميكروسوفت فقط
      وللغاتها البرمجية مثل السي بلس و باقي برمجة ميكروسوفت المسيطرة بالطبع بسبب نظام التشغيل
      ويندوس ... كذالك هناك منتدى برمجي من ضمن موقع مسدن لإجابه على الإستفسارات .


      صورة لهذا الجزء من المحرر على لغة سي بلس 6


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


      صورة لهذا الجزء من المحرر على لغة سي بلس 6





      الأوامر البرمجية .. و أساسها الذي تعتمد عليه ... و اساسيات البرمجة بجميع اللغات .


      حينما نتحدث عن أوامر برمجية فنحن نتحدث عن المنطق و الريضيات ... العد العشري الثنائي
      الست عشري علاقات منطقية ... مثل يساوي يطابق أكبر من أصغر من (من إلى) (إذا) (كذالك)
      و كذالك المصفوفات المتغيرات مثل س ص كذالك الوظائف و الدوران و كذالك (الحالات) Case.
      تصور بأن كل ما نقوم به على برنامج هووه في الأساس منطق و علاقات رياضية طبعا هناك
      الوظائف البرمجية function


      الوظيفة : من إسمها هي مجموعة من أوامر برمجية لها قسم خاص وظيفتها أن تؤدي دور معين
      في برنامج ماء ... أي بإمكان المبرمج إنشاء وظيفة خاصه في برنامجه ... و لكن ما أردته بذكر
      الوظائف هووه أمر آخر .... سبق وقمت بذكر المكتبات البرمجية للويندوس ... كل المكتبات
      البرمجية في الأساس عبارة عن وظائف برمجية قام مصممين الويندوس بتصميمها كل وظيفة
      لها إختصاص معين ... طبعا لكل وظيفة نظام إستخدام و لها تعليمات إستخدام و لكل وظيفة
      تقريبا في موقع مسدن صفحة خاصة و مجموعها طبعا كبير جدا يصل للآلاف .


      امثله أولا وظائف API المجموعة الأساسية و المهمة طبعا تختص بها الكثير من المكتبات
      نأخذ مثال على ثلاث وظائف
      CreateFile Function
      إنشاء ملف
      صفحة الوظيفة في موقع مسدن
      msdn.microsoft.com/en-us/library/aa363858%28VS.85%29.aspx
      WriteFile Function
      ثم وظيفة الكتابة عليه صفحة الوظيفة
      msdn.microsoft.com/en-us/library/aa365747%28VS.85%29.aspx
      CloseHandle Function
      الصفحة
      msdn.microsoft.com/en-us/library/ms724211%28VS.85%29.aspx
      ثم وظيفة إغلاق الملف طبعا نحن في الأساس لا نفتحه كما نفتح الملفات على الويندوس
      لنقوم بإغلاقه و لكن يكون مرتبط بالبرنامج من بداية عملية الفتح او الإنشاء إلى أن نغلقه بمعنى
      لا يمكن أن يقوم المستخدم بحذف هذا الملف من الويندوس إلى أن نقوم بإغلاقه من خلال
      هذه الوظيفة و حتى نتم ما نريد القيام به من عمليات منطقية كالكتابة عليه .


      في أسفل كل صفحة ستجدون تعليمات في الأخير تبين المكتبة البرمجية و التي
      تختص بالوظيفة و هذا مثال لآخر وظيفة وظيفة غلق الملف
      Header Winbase.h (include Windows.h)
      Library Kernel32.lib
      DLL Kernel32.dll
      طبعا بناء الوظائف الإفتراضي في مسدن و حتى أغلب الأمثلة حسب نظام لغة
      سي بلس بلس لأنها اللغة الأم كما يسموها إلا أن جميع هذه الوظائف يمكن إستخدامها
      بجميع اللغات البرمجية و التي تستخدم في تطبيقات الويندوس exe .... com....dll
      مثل البيسك فوكس برو دلفي ... وغيرها من اللغات إنما بنائها على هذه اللغات مختلف
      أو بمعنى عملية الإتصال بها عبر المكتبة البرمجية مختلف حسب خصوصية كل لغة


      Header Winbase.h (include Windows.h)
      هذا الجزء هووه يشير إلى الملف في لغة السي بلس سته و أظن كذالك خمسه و الذي
      فيه موجود عملية مبدائية مهمتها تمكين المبرمج من الإتصال بالوظيفة البرمجية من برنامجه
      و إلى المكتبة البرمجية إلا انه يمكن للمبرمج من القيام بنفسه بهذه العملية برمجيا في حالة
      أن الوظيفة لم يتم إدراجها على هذا النوع من الملفات و الخاصة طبعا بمحرر اللغة البرمجية
      المستخدمة .
      مسار هذه الملفات على الويندوس بداخل مجلد برنامج المحرر في مجلد خاص يدعى
      nclude وهذا هوه المسار
      C:\Program Files\Microsoft Visual Studio\VC98\Include
      نكمل
      Library Kernel32.lib
      DLL Kernel32.dll
      هذه هي المكتبة الخاصة بالوظيفة بنوعين Dll على الويندوس Lib على
      مرفقات محررات اللغات البرمجية


      هذه الثلاث وظائف نستخدمها في إنشاء ملف ثم الكتابة عليه ثم أغلاقه و تتم هذه
      العمليات مثالا عند حفظ ملف على محرر المفكرة أو أي عملية تستدعي حفظ ملف
      طبعا هذه وظائف برمجية أساسية للويندوس تستخدم من قبل جميع اللغات التي تعمل على
      الويندوس بمافيها لغات السكاربت و لغة الأسمبلي و حتى لغات سرفس و واب مع فروقات
      طبعا لغات السكاربت هي في الأساس عبارة برنامج من نوع Console Application
      فمثلا لغة VBScript هي عبارة برنامج Console مصمم على أحد الغات البرمجية يستخدم
      عن طريق أوامر لغة الفيجول بيسك سكاربت و ليس الفيجول بيسك أي بمعنى أن لغة الفيبي
      سكاربت تترجم للغة الأم عن طريق تطبيق برمجي موجود في مجلد النظام
      C:\WINDOWS\system32 يسمى هذا التطبيق باسم cscript يمكنكم البحث عنه في
      مجلد system32 و هذا رابط لتطبيق لمن يريد أن يعرف أكثر عنه
      msdn.microsoft.com/en-us/library/xazzc41b%28VS.85%29.aspx
      وهذه صوره على نضام الويندوس لا حضو الإطار المنبثق


      وكذالك هذه الفكرة كانت مغرية لمبرمجين كثيرين قاموا بعمل لغات سكاربت كمثال على ذالك
      هتان اللغتان البرمجيتان
      autoitscript
      autoitscript.com/autoit3/downloads.shtml
      وكذالك
      autohotkey
      autohotkey.com/download/
      على أول لغة يمكنك حتى إستخدام الأسمبلي عن طريق اوامر الذاكرة


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


      و لهذا الموضوع بقية

      تم تحرير الموضوع 1 مرة, آخر مرة بواسطة ناقوس الخطر ().

    • تسلم وألف شكرا
      علمتني علمتني وشلون احب علمني كيف انســــــــــى يابحر ضايع فيـــــــه الشط والمرســـــــــــــى علمتني وشلون احن علمني كيف اقســـــــــى