وسوم التدوينات‘واجهة برمجة النظام’

لقطات عن التعاملية Interoperability في بيئة الدوت نت 3 – تعاملية الكود الغير المدار

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

مقدمة لتركيبات الدمج Unions

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

لمحة عن الوصول إلى الموارد Resources في السي والسي بلس بلس

اليوم نأخذ لمحة عن كيفية الوصول إلى الموارد Resources مثل الصور والأيكونات والنصوص Strings والقوائم Menus ونحوها في الفيجوال ستوديو باستخدام لغتي الـ C والـ C++.

هذا الدرس يمثل واحدة من مبادئ مبادئ استخدام الموارد Resources في برنامجك.

مقارنة بين Serialization و Marshaling

الدرس اليوم يقوم بشرح فكرة الـ Serialization وفكرة الـ Marshaling ويعقد المقارنات بين العمليتين وكيفية فك الإشكال والتشابه بين هذين المفهومين.

تحويل الألوان إلى الأبيض والأسود

درسنا في هذا اليوم يتكلم عن كيفية تحويل الألوان إلى الدرجات من الأبيض إلى الأسود، وكيفية معاينة المحتوى قبل طباعته كما لو كان على طابعة لا تدعم الألوان. يتكلم الدرس أيضا عن كيفية معرفة وضع الطباعة (معاينة/طباعة) وكيفية معرفة نظام الطباعة (ألوان/أبيض وأسود فقط) في MFC.

أين CWinApp::OnIdle في C؟

في MFC يمكنك استخدام الدالة CWinApp::OnIdle() لتنفيذ أوامر في وقت راحة البرنامج Idle-time Processing. بمعنى أنه عندما لا يكون هناك أي رسائل Messages يحتاج البرنامج إلى معالجتها فإن نظام التشغيل يقوم تلقائيا بتنفيذ الأوامر الموجودة في هذه الدالة CWinApp::OnIdle()، وبالطبع هذه الدالة ظاهرية Virtual بحيث يمكنك استخدامها في التصنيفات الخاصة بك المنحدرة من CWinApp.

BeginPaint/EndPaint أم GetDC/ReleaseDC؟

اليوم نطرح سؤال: هل تستخدم دوال BeginPaint/EndPaint أم تستخدم GetDC/ReleaseDC؟

هل تواجه مشكلة مع ترميز دالة WinMain؟

تلقيت أحد الأسئلة عن مدخلات دالة WinMain() حيث أن المدخل lpCmdLine ترميزه ANSI، فكيف إذا كانت المدخلات لبرنامجك Unicode، كيف تحصل عليها؟

BOOL أو BOOLEAN، أيهما؟

هذه أحد الأفكار البسيطة التي أزعجتني كثيرا (:P) أثناء بداية دراستي للـ C++ والتي أحبب أن أشارككم بها. الفكرة هي، هل أستخدم BOOL أو ربما BOOLEAN؟

مسح محتويات الـ Console برمجيا باستخدام دوال الويندوز API

الدرس اليوم هو أحد الدروس الأخرى المتعلقة بكيفية برمجة دوال الويندوز Windows API من خلال بيئة الدوت نت.

الدرس يتكلم عن كيفية مسح محتويات الشاشة في مشاريع الـ Console باستخدام دوال الويندوز عن طريق الـ C#. حتى لو كانت هذه الإمكانية متوفرة في بيئة الدوت نت، فهذا الدرس يساعدك على فهم أعمق لكيفية برمجة دوال الويندوز API من خلال بيئة الدوت نت وكيفية التعامل مع الذاكرة وغيرها من الأفكار التي سنتعرض لها. مع ذلك، فبيئة الدوت نت لا توفر لك إمكانية لمسح جزء معين من الشاشة وهذا ما سنتعلمه أيضا في هذا الدرس.

مع الدرس، مشروع صغير بالـ C# عبارة عن مكتبة توضح كيفية الاستفادة من بعض إمكانيات الـ Console المتوفرة من خلال الـ API وليست متوفرة من خلال الدوت نت مثل كيفية تحريك النصوص داخل الشاشة وكيفية إخفاء وإظهار المؤشر ونحوها.