الدرس الأول من البرمجة في بيئة الويندوز - Intro to Win32 programming in C++

تم تحميل الصفحة في 1,8811298 ثانية
الدرس الأول من البرمجة في بيئة الويندوز - Intro to Win32 programming in C++

Mariio

.:: مُراقب أقسام البرمجة ::.
rankrankrankrankrankrank
طاقم الإدارة
إنضم
1 مايو 2007
المشاركات
4,825
الإعجابات
4,299
النقاط
133
الإقامة
USA





اللهم لك الحمد حمدًا طيّبًا كثيرًا مُباركًا فيه؛
ملء السّماوات وملء الأرض وما بينهما، وملء ما شيئت من شيء بعدهما.


*. أرحب بكم إخواني وأخواتي أعضاء منتدى نقطة التطوير .*

*. أتمنى أن تكونوا في تمام الصحة والعافية.*



الدرس الاول من البرمجه في بيئه الويندوز - Intro to Win32 programming in C++

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


اولا يجب ان نفهم معنى API حتى نعرف مع ماذا نتعامل
API تأتي مع المكتبات البرمجية وتأتي في المسميات وإذا بحثت عن معناها فستجد أنها إختصار لـ Application Programming Interface أي بالعربي (واجهة برمجة التطبيقات)

ولكن هذه الترجمة ترجمة عقيمة أي بمعنى أخر هي ترجمة حرفية فقط و هي لا تظهر حقيقة معنى
API ...

عندما تبحث في المواقع الكبيرة وفي المشاريع البرمجية تمر عليك أشياء غريبة تحتوي على كلمة API فمثلاً تجد قواعد بيانات MySQL كاتبين مثلاً MySQL API و تجد Windows كاتبين Win32 API وتجد مثلاً موقع كاتبلك مثلاً My API وهكذا ...

طيب مامعنى هذا الكلام ؟

قبل أن نجيب على هذا التساؤل يجب أن نعرف أولاً مامعنى
API ؟

إذا ً مامعنى
API ؟

حرفياً هو كما ذكرنا بالأعلى ...

أما من حيث المفهوم فسأشرحها بمثال :

API هي عبارة عن (غلاف) لتغليف شئ صعب من الداخل وجعله سهل من الخارج

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

فسيكون جوابك هو (يانهار ازرق)

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

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



قبل ان نبداء بلتعلم هناك بعض الاشياء اللتي يجب شرحها
اولا عند تعلمك WinAPI سوف تقراءة معرفات غير مئلوفه مثل DWORD_PTR and LPRECT وايضا متغيرات باسماء غريبه مثل hWnd and pwsz
في الحقيقه هذه تسمى (Hungarian notation)


Typedefs - المتغيرات في بيئة ويندز تختلف عن السي بلس بلس نوعا ما لكنها مشابه


متغيرات الانتيجر - Integer




كما تلاحظ لا يوجد int او float لكن هناك نفس المتغيرات باسماء مختلفه لهذا لاتقلت لان المسئله مجرد التعرف على المتغيرات والاسماء


Boolean Type



ايضا المتغير BOOL يختلف عن bool في السي بلس بلس

الحروف الكبيره هيه للويندوز والصغيره للسي بلس بلس وسوف نعرف الفرق في الدروس القادمة


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


Pointer Types

المؤشرات تبداء بـ P- or LP-

امثله


C++:
RECT*  rect;  // Pointer to a RECT structure.
LPRECT rect;  // The same
PRECT  rect;  // Also the same.
P تعني Pointer

LP تعني "long pointer



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

Working with Strings


في البداية كان النظام بدائي نوعا ما ولا يدعم جميع حروف العالم ويسمى ANSI وهوه 8-bit
ثم اتى نظام جديد يسمى Unicode ويجمع جميع حروف العالم حتى الرموز وهوه UTF-16


لهذا سوف تجد char_t و wchar_t
W تعني Wide وهيه لـ Unicode



مثال

C++:
typedef wchar_t WCHAR;
وهذا مثال لتعريف المتغيرات

C++:
wchar_t a = L'a';
wchar_t *str = L"hello";

هذه صوره لبقية المتغيرات من نوع STRING




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

Unicode and ANSI Functions

كل فونكشن لديه نوعان

  • SetWindowTextA takes an ANSI string.
  • SetWindowTextW takes a Unicode string.
كما تلاحظ في نهايه الفونكشن الثاني يوجد W وهذا يعني يدعم الحروف العالمية







(بعض الاشياء منقوله لتسهيل الشرح وقله وقت الكتابه)


جميع الحقوق محفوظه لنقطة التطوير
All rights reserved



*. [ ~ .. في أمان الله .. ~ ] .*



*. [ ~ .. Mariio.. ~ ] .*
 

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,395
الإعجابات
1,834
النقاط
198
الإقامة
KSA , KUW
بارك الله فيك على توصيل المعلومه بطريقة سهله بدون تعقيد

اتمنى لك التوفيق اخي العزيز
 

CorrM

Just a Programmer
rankrankrankrankrankrank
إنضم
27 ديسمبر 2013
المشاركات
3,630
الإعجابات
6,938
النقاط
113
العمر
21
الإقامة
Egypt
هذا مؤسف لا استعمل سوي السكايب
إذا تستطيع فتح محادثة بينى وبينك بنقطة التطوير يكون جيد
لا اعلم ما المشكله لاكن لا يمكننى استعمال الرسائل الخاصه
 
إنضم
15 مارس 2013
المشاركات
2,625
الإعجابات
2,164
النقاط
183
العمر
26
الإقامة
JoRD4N
وعليكم آلسسلآم ورحمة الله وبركآته

مآ شآء الله مبدع شرح كآفي ووآفي آسستمر يآ بطل
بطرحك وشرحك آلمميز وآيصآل للمعلومآت بآبسسط آلطرق
متآبع آن شآء الله

في آمآن الله
 
إنضم
14 يونيو 2007
المشاركات
265
الإعجابات
74
النقاط
28
العمر
41
الله يجزاك خير استمر بالدورة

شرح سهل وواضح ماشاء الله
 

ahmed0585

Beginner Developer
rank
إنضم
8 ديسمبر 2018
المشاركات
25
الإعجابات
18
النقاط
3
العمر
20
شرح رائع و بسيط الله يسعدك.
هل يمكن تطبيق هذا الكورس على لغة السي
 

Mariio

.:: مُراقب أقسام البرمجة ::.
rankrankrankrankrankrank
طاقم الإدارة
إنضم
1 مايو 2007
المشاركات
4,825
الإعجابات
4,299
النقاط
133
الإقامة
USA
شرح رائع و بسيط الله يسعدك.
هل يمكن تطبيق هذا الكورس على لغة السي
وما المانع؟

لا فرق اخي يمكن استخدام الايبي اي مادام انت تبرمج للويندوز
 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل