أرشيف لـ‘C/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 المستخدم.

9 قواعد عن التصنيفات Classes لا غنى عن معرفتها

درسنا في هذا اليوم يتكلم عن 9 قواعد هامة جدا بالنسبة للتصنيفات Classes في لغات C#، C++/CLI، و ISO/ANSI C++.

تحديدا الدرس اليوم يتكلم عن القواعد المنطبقة على الـ Constructors، Destructors، و Finalizers خاصة في حالة التدرج Hierarchy للتصنيفات، بمعنى أن يكون هناك أب وهناك أبناء. وسنرمز إلى كل نوع من هذه الدوال باسم وهو دوال الإنشاء Constructors، دوال الإزالة Destructors، ودوال الإنهاء Finalizers.

حتى إن لم تكون متقنا للغة أخرى غير الـ C# أو العكس فيمكنك قراءة هذا الدرس ومتابعة ما يخص اللغة التي تعرفها فقط. أيضا لا يشترط الإتقان لأي من اللغات، بل فقط معرفة البدايات للـ Classes والدوال الخاصة مثل Constructors، Destructors، و Finalizers.

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

والقواعد التي سنتعرض لها هي 9 قواعد وهي كالتالي:

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

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

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

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