وسوم التدوينات‘C’

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

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

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

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

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

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

درسنا في هذا اليوم يتكلم عن كيفية تحويل الألوان إلى الدرجات من الأبيض إلى الأسود، وكيفية معاينة المحتوى قبل طباعته كما لو كان على طابعة لا تدعم الألوان. يتكلم الدرس أيضا عن كيفية معرفة وضع الطباعة (معاينة/طباعة) وكيفية معرفة نظام الطباعة (ألوان/أبيض وأسود فقط) في 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؟

في MCI، إعداد كارت الصوت للعمل

في درس سابق تكلمنا عن كيفية إنشاء مسجل صوتي بالـ C والـ C# وتكلمنا عن كيفية تجهيز كارت الصوت للعمل وكيفية التسجيل وتشغيل الملفات الصوتية.

وقد استقبلنا العديد من الآراء والأسئلة من القراء ورأينا أننا أهملنا نقطة هامة في شرح هذا الموضوع وهي كيفية إعداد كارت الصوت (هذا مصطلح عام نقصد به Multimedia Input/Output Devices كما تعرف)، إعداد خصائصه.

واليوم نستكمل في هذا الموضوع عن كيفية تحديد الخصائص مثل قوة القناة الصوتية Channel، حجم الصوت Volume، المعدل Sampling Rate وغيرها للـ Device المستخدم.

إنشاء قائمة منسدلة لشخصيات Microsoft Agent

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

إنشاء مسجل صوتي في C و C#

درسنا في هذا اليوم يتكلم عن كيفية تسجيل الصوت أو بالأصح إنشاء مسجل صوتي في C و C#. سنبدأ أولا بشرح الأفكار والدوال التي سنحتاجها وكيفية برمجتها في لغة C ثم بعد ذلك سنتبعها بكود الدوت نت و C#.

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

أيضا يركز هذا الدرس على تقنية MCI أو Media Control Interface حيث هي الأسهل والأشهر والأقوى.