أرشيف لـ‘دوت نت’ التصنيف.

فيديو: ما الجديد في سي شارب 2/3/4

سلسلة حلقات فيديو يقدمها لكم بروس كايل Bruce Kyle من بلوج القناة التاسعة Channel 9 تعطي لكم لمحة عن المميزات والأفكار الجديدة التي طرحت في كل إصدار من إصدارات الدوت نت.

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

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

Assembly Spy، مثال على الانعكاس Reflection

اليوم معنا مثال يوضح فكرة الانعكاس Reflection في بيئة الدوت نت وكيفية الاستفادة منها. سنتعلم العديد من الأفكار حول موضوع الانعكاس، وسنستعرض هذا الدرس في خلال نقاط نتمنى أن تكون ممتعة وشيقة لكم بإذن الله تعالى.

اليوم لا نتكلم عن الانعكاس Reflection أو نقوم بشرحه، ولكن اليوم نوضح مثال على هذه التقنية ونرجئ الشرح إلى دروس قادمة بإذن الله تعالى.

سوف نقوم بعرض المثال في أفكار ونقاط بسيطة وسهلة، وسنستعرض بعض الأجزاء من الكود، وما تحتاجه لفهم هذا الكود.

المثال تم تطويره بـ VB.NET وتقنية WinForms.

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

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

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

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

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

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

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

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

إنشاء مصفوفات عالية السرعة

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

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

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

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

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

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

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

التعامل مع التشكيل في اللغة العربية برمجيا

يركز هذا الدرس على عملية معالجة النصوص String Processing التي تحتوي على علامات وحروف معينة مثل علامات التشكيل في اللغة العربية أو بعض العلامات مثل الموجودة في الألمانية أو العبرية التي يمكن دمجها مع الحروف. وبما أن هذا الدرس يتكلم باللغة العربية فسوف تكون أمثلتنا على حروف وكلمات عربية.

سرد، إرفاق، فصل قواعد بيانات على السيرفر برمجيا

الدرس اليوم هو مشابه كثيرا لموسوعة لإجراءات وأوامر SQL Server. في هذا الدرس نتعرف على الأوامر والإجراءات التي يمكننا استخدامها برمجيا لعمل سرد Enumerating لقواعد البيانات الموجودة على السيرفر وكذلك لإرفاق Attach أو فصل Detach قاعدة بيانات من على السيرفر.

الدرس اليوم لا يتكلم عن كيفية استخدام الـ Management Studio أو أي أداة أو طريقة أخرى لها واجهة رسومية GUI، ولكنه يركز عن كيفية تطبيق هذه الأفكار برمجيا.

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

راعينا في هذا الدرس عملية التوافقية Compatibility بين ما يطلبه الكود وبين السيرفر، كما راعينا أيضا الاختصار في الأكواد للإفادة.

إنشاء مصمم للشيتات، التقارير، الفواتير، ونحوها

اليوم لا نتكلم عن درس أو شرح لموضوع معين! اليوم معنا مثال بسيط عبارة عن برنامج يستطيع المستخدم من خلاله تصميم الشيتات والتقارير الخاصة به.

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