تنفيذ أوامر Ms-Dos في برامج C# & VB.Net


اليوم في هذا الدرس البسيط والسريع سنشرح كيف ننفذ تعليمة MS-Dos في موجه الأوامر مع رؤية الناتج ,, مما يمكننا من استخدام تعليمات dos المفيدة في برامجنا. بعد ما شرحنا في الدرس الماضي كيفية التعامل مع الكلاس Process والكلاس ProcessStartInfo , واستعرضنا أهم خصائص وتوابع هذين الكلاسين.
 


execute command prompt commands in c# and vb.net


  الشرح:


لتنفيذ امر في موجه الأوامر يجب اولاً تشغيل موجه الأوامر "cmd.exe" او "cmd" (لأنه موجود في مجلد system32).

ثم نأتي لأهم نقطة:

كي نرسل أمر إلى موجه الأوامر يجب ان نكتب هذا الأمر مع بارامترات أو معاملات التشغيل لموجه الأوامر أو "Arguments" .. ولذلك نكتب البارامتر ""/c  ثم بعده نكتب تعليمة الدوس التي نريد تنفيذها ,, وهذا مثال لتنفيذ تعليمة  "Dir":
cmd.exe /c dir 
الصورة التالية تعبر عن هذا الأمر (خصائص موجه الأوامر)


command prompt properties خصائص موجه الاومر


الأن لننتقل إلى الكود:


أولاً استيراد المكتبة Diagnostics لتنفيذ عملية تشغيل تعليمة دوس:
Imports System.Diagnostics
using System.Diagnostics;

 الأن نعرف متغير من نوع ProcessStartInfo وهذا الكائن يمكننا من تحديد بعض الخيارات والمعاملات التي تستخدم لبدء عملية تنفيذ تعليمة دوس:
Dim procInfo As ProcessStartInfo = New ProcessStartInfo("cmd")
ProcessStartInfo procInfo = new ProcessStartInfo("cmd");

طبعاً قمنا بتمرير اسم البرنامج والذي هو cmd لتشغيل موجه الأوامر.

بعد ذلك نمرر معاملات التشغيل Arguments:
procInfo.Arguments = "/c " & TextBox1.Text.Trim()
procInfo.Arguments = "/c " + TextBox1.Text.Trim();

من أجل عرض نتيجة تنفيذ الأمر نستخدم الخاصية التالية ونجعل قيمتها True:
procInfo.RedirectStandardOutput = True
procInfo.RedirectStandardOutput = true;

ومن اجل ان يتم نحصل على نتيجة التنفيذ يجب تعين قيمة False للخاصية التالية:
procInfo.UseShellExecute = False
procInfo.UseShellExecute = false;

الأن بقي ان نعرف متغير من نوع Process لتنفيذ عملية تشغيل موجه الأوامر:
Dim proc As Process = New Process()
Process proc = new Process();

ثم تحديد خيارات ومعاملات التشغيل لهذه العملية اي الكائن procInfo الذي عرفناه قبل قليل:
proc.StartInfo = procInfo
proc.StartInfo = procInfo;
الأن تنفيذ العملية:
proc.Start()
proc.Start();

لعرض نتيجة تنفيذ الكود نستخدم الخاصية  StandardOutputالتي تعود بالنتيجة على شكل StreamReader:
Dim result As String = proc.StandardOutput.ReadToEnd()
TextBox2.Text = result
String result = proc.StandardOutput.ReadToEnd();
TextBox2.Text = result;

  خيارات إضافية:


من أجل عدم عرض نافذة موجه الأوامر (النافذ السوداء) ,, نكتب التالي:
procInfo.CreateNoWindow = True
procInfo.CreateNoWindow = true;

مقدمة في العمليات Processes والكلاس Process


سنتناول في هذا الدرس شرح فئة Class مهمة جداً  في البرامج والتي هي Process أي "عملية" ,, التي تمكننا من تشغيل برنامج معين او أداة معينة من أدوات نظام التشغيل. والتحكم بالعمليات (إيقاف - تشغيل - تغيير الأفضلية) التي تعمل على الجهاز الحالي أو على جهاز آخر (Remote Processes).


  الفئة System.ProcessSystem.Process class:


الفئة Process توجد ضمن النطاق (Namespace) الذي هو System.Diagnostics, ما يلي شرح بسيط لأهم الخصائص والاجراءات التي توجد في الفئة (الكلاس) Process:

تحويل كود C# الى VB.Net


سنشرح في هذا الدرس كيفية استخدام برنامج "Instant C# - Instant VB" من أجل تحويل كود VB.Net الى C# والعكس ايضاً تحويل كود C# الى VB.Net, والذي اعتبره أفضل برنامج تحويل أكواد C# و VB.Net (من وجهة نظري وحسب تجربتي الشخصية).

البرنامج هو عبارة نسختين, نسخة "Instant VB" لتحويل كود سي شارب الى في بي دوت نت, النسخة الثانية "Instant C#" وهي لتحويل تحويل الكود من VB الى C#.




برنامج DXMedia Player C# & VB.Net

سوف نتناول في هذا الموضوع شرح كيفية استخدام مكتبات DirectX في بيئة الدوت نت - C# & VB.Net - لتشغيل ملفات الصوت والفيديو بسهولة وكفاءة عالية جداً, دون الحاجة إلى أدوات خارجية حيث ان مكتبة DirectX أساسية وموجودة على كل جهاز كمبيوتر.

قمت بكتابة مثال لتطبيق هذا الدرس وهو DxMediaPlayer C# & VB.Net, ستجد رابط تحميله في آخر الدرس.

  برنامج DxMediaPlayer C# & VB.Net:


c#-vb-dotnet-directx mediaplayer


اولاً وبما أننا سنعتمد على مكتبة DirectX لذلك يجب أولاً إضافة المكتبات اللازمة, وسنحتاج في هذا الدرس لمكتبتين هما:

برنامج Website Blocker في الدوت نت

النافذة الرئيسة لبرنامج WebSiteBlocker VB.NET & C#

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

فكرة البرنامج:                                                                                   

في نظام التشغيل Windows يوجد ملف يسمى "hosts" (بدون لاحقة) يوجد في المسار التالي:
C:\Windows\System32\drivers\etc\

هذا الملف هو عبارة عن ملف نصي عادي اي يمكنك فتحه بالمفكرة, يحوي عناوين المواقع المضيفة, ستجد بداخله شرح باللغة الإنكليزية لكيفية حجب موقع ما, حيث انك لتقوم بحجب موقع ما يجب عليك كتابة التالي في سطر جديد:

برنامج دليل هاتف Phone Book – C# & VB.NET

برنامج دليل هاتف Phone Book – C# & VB.NET


سنقوم بتصميم برنامج دليل هاتف بسيط بواسطة لغة C# و  VB.NET وقاعدة بيانات من Sql Server .. خطوات العمل:

  تصميم قاعدة البيانات:

قاعدة البيانات تتألف من جدول واحد و خمس أعمدة (حقول)  بالشكل التالي:

10 طرق لتسريع فيجوال ستوديو Visual Studio 2010

برنامج Visual Studio 2010 من البرامج الضخمة والعملاقة والتي بالطبع تستهلك قدر كبير من موارد النظام مما يؤدي إلى بطئ في الجهاز وبطئ في العمل على البرنامج.

لتسريع تشغيل البرنامج والعمل عليه يمكنك تجريب الطرق التالية:


1- مثل جميع البرامج الحديثة والعملاقة والتي تستخدم الإضافات "Addin" يمكن تسريع البرنامج بتقليل عدد الإضافات (الغير ضرورية) او عدم استخدامها بالمرة مما يؤدي لتسريع تشغيل البرنامج:
في بيئة VS2010 يوجد نوعين: هما الإضافات والامتدادات Addins & Extension يمكن التحكم بها من خلال قائمة Tools ثم قم بإلغاء الإضافات التي لا تستخدمها:
[Addons] Tools ---> Add-in Manager
[Extension] Tools ---> Extension Manager

التعامل مع ملفات XML في الفيجوال ستوديو - 2 -

شرح عملية تعديل البيانات:


النافذة الرئيسية برنامج XML C# & VB.NET


بعد ان انتهينا في الدرس السابق التعامل مع ملفات XML في الفيجوال ستوديو من شرح عملية فتح الملف وعرض بياناته في DataGridView ,, الأن سأقوم بشرح عملية الحفظ والتعديل على ملف XML. أولاً سنقوم بشرح الكود التالي:

التعامل مع ملفات XML في الفيجوال ستوديو

مقدمة:

 

للتعامل مع ملفات الـ XML في الفيجوال ستوديو نحتاج إلى المكتبة System.XML ,, لذلك في البداية نحتاج إلى تضمين هذه المكتبة:

using System.Xml;

Imports System.Xml

 

تحوي المكتبة System.XML على الكائن XmlDocument الذي يساعدنا على فتح ملف XML وقراءة محتوياته او تعديل محتوياته.

 

ايضاً سنحتاج إلى الكائن XmlElement الذي يمثل عنصر رئيسي او عنصر جذر في ملف الـ XML ,, وايضاً الكائن XMLNode والذي يمثل عنصر فرعي في المستند.

 

بداية الشرح:

 

أولاً ,, سيكون لدينا برنامج صغير يقوم بعمليات: الإضافة – الحذف – التعديل على ملف XML , البرنامج يقوم بإنشاء ملف XML لتخزين بيانات شركات ,, بنيته هي كالتالي: