المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : 1- البرمجة في بيئة الويندوز - Intro to Win32 programming in C++


رحيل المشاعر
06-20-2019, 10:36 PM
http://img.dev-point.com/imgcache/2013/10/88871.png





http://img.dev-point.com/imgcache/2013/10/88872.gif


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

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

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



http://img.dev-point.com/imgcache/2013/10/88872.gif


الدرس الاول من البرمجه في بيئه الويندوز - 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 هي مجموعة من الدوال الخدمية والتي تساعد في تبسيط شئ معقد وصعب



http://img.dev-point.com/imgcache/2013/10/88872.gif


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


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


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


https://i.gyazo.com/fde15044559a945928c3b642c448494a.png




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


Boolean Type



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


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


Pointer Types

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

امثله



C++:
? (https://www.dev-point.com/vb/threads/690611/#)
1
2
3
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++:
? (https://www.dev-point.com/vb/threads/690611/#)
1
typedef wchar_t WCHAR;



وهذا مثال لتعريف المتغيرات


C++:
? (https://www.dev-point.com/vb/threads/690611/#)
1
2
wchar_t a = L'a';
wchar_t *str = L"hello";




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



https://i.gyazo.com/5ccb989543f65d3e7c8acd973d314c72.png



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

Unicode and ANSI Functions

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



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







http://img.dev-point.com/imgcache/2013/10/88872.gif

الخل الوفي
06-21-2019, 12:59 AM
انتقاااء راائع ومميز
الله يسعد قلبك
يعطيك العافية

صاحبة السمو
06-21-2019, 12:59 AM
طـرح رآئــع
سلمت آناملك ع الإنتقاء
لاحرمنا الله من عبير تواجدك وجديدك
دمت بسعادهـ بــحـجم السماء
لقلبك طوق آليآسمين ,,~
https://vb.almstba.com/imgcache/almstba.com_1357721192_640.gif

a7ases
06-22-2019, 01:37 AM
سلمت يدآك..على جميل طرحك وحسن ذآئقتك
يعطيك ربي ألف عافيه..
بإنتظار جديدك بكل شوق.
لك مني جزيل الشكر والتقدير لاعدمناك...

هيبة مشاعر
06-22-2019, 03:24 PM
http://www.tra-sh.com/up/uploads/156120486851.gif (http://www.tra-sh.com/up/)

رحيل المشاعر
06-22-2019, 11:02 PM
احساس
يعطيك العافية
تسلم ايدك يارب
دمتِ بكل خير

رحيل المشاعر
06-22-2019, 11:02 PM
الخل
يعطيك العافية
تسلم ايدك يارب
دمتِ بكل خير

رحيل المشاعر
06-22-2019, 11:02 PM
صاحبه
يعطيك العافية
تسلم ايدك يارب
دمتِ بكل خير

رحيل المشاعر
06-22-2019, 11:03 PM
هيا
يعطيك العافية
تسلم ايدك يارب
دمتِ بكل خير

شموع الحب
06-24-2019, 01:30 PM
يعطيك العافيه ع جهودك
لاخلا ولاعدم منك !

MS HMS
06-25-2019, 03:45 AM
*,
، /،
طرح رآئع وراقي
تحية عطرة ل روحك الجميلة
شكراً لك من القلب على هذآ العطاء
وردة1

رحيل المشاعر
06-29-2019, 10:43 PM
احساس
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:43 PM
الخل
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:43 PM
همس
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:43 PM
شموع
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:43 PM
هيا
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

الوافي
06-30-2019, 08:23 PM
طرح رآقي گ روحـگ
لآعدمنا جمآل ذآئقتگ
وبآنتظار جديد آبداعكگ دائمآ
ودي لگ

eyes beirut
07-02-2019, 03:41 PM
.

/

تسلم ايدك ع الطرح الانيق

رحيل المشاعر
07-04-2019, 07:25 PM
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
07-04-2019, 07:25 PM
الوافي
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

ضوء القمر
07-14-2019, 07:20 PM
*,


سلمت الآكف ومَاجلبت
إبداع دآئم وتميز مُستمر
لا عدمنَاك /
:137:

رحيل المشاعر
07-23-2019, 07:49 PM
أج ــمل وأرق باقات ورودى
لردك الجميل ومرورك العطر
تــ ح ــياتيـ لكــ