مقدمة في XML

مقدمة:

XML هي اختصار لـ eXtensible Markup Language والتي تعني لغة التأشير الموسعة.

  • XML هي لغة مصممة لنقل وتخزين البيانات, وليس لعرض البيانات.
  • XML هي لغة تأشير تشبه كثيراً لغة HTML.
  • تاجات أو مؤثرات هذه اللغة (XML Tags) غير معرّفة مسبقاً بل انت من يقوم بتعريف هذه المؤثرات اي لن تجد في XML تاج <b> لجعل الخط عريض مثلاً كما في لغة HTML.
  • XML مصممة لكي تكون لغة واضحة وهي من توصيات موقع .W3C




مجموعة من الأكواد المتنوعة

  • كود معرفة عدد الثواني التي مرت على تشغيل الجهاز Get Time by Seconds from PC Start:
private int GetSecFromStart()
{
    int SecondsFromStart = Environment.TickCount / 1000;
    return SecondsFromStart;
}


  • كود معرفة دقة الشاشة Get Screen Resolution:
private string GetScreenRes()
{
    string ScrRes = Screen.PrimaryScreen.Bounds.Width + "X" + Screen.PrimaryScreen.Bounds.Height;
    return ScrRes;
}


  • كود معرفة ايبي الجهاز Get PC IP Address:
public static string GetIPAddress(string sHostName)
{
    System.Net.IPHostEntry ipEntry = System.Net.Dns.GetHostByName(sHostName);
    System.Net.IPAddress[] addr = ipEntry.AddressList;
    string sIPAddress = addr[0].ToString();
    return sIPAddress;
}

  • كود لإصدار صوت تنبيه في الويندوز Play Beep Sound:
Private Sub PlayBeep()
    Dim b As System.Media.SystemSound = System.Media.SystemSounds.Beep

    b.Play()
End Sub


  • كود الحصول على الخطوط الموجودة في الجهاز Get Fonts on your PC:
Private Sub GetSystemFonts()
    Dim fnt As New System.Drawing.Text.InstalledFontCollection()

    For i As Integer = 0 To fnt.Families.Length - 1
        ListBox1.Items.Add(fnt.Families(i).Name)
    Next
End Sub


  • كود طباعة ملف Print File quickly:
Private Sub PrintFile(ByVal FileName As String)
    Dim prnt As New System.Drawing.Printing.PrintDocument
                  
    prnt.DocumentName = FileName
    prnt.Print()
End Sub

تعلم الرسم في الدوت نت مع GDI+

ما هي GDI:
Graphic Device Interface أو اختصاراً GDI وهي تقنية للتعامل مع الرسومات ثائية البعد 2D Drawings.
وهي تتألف من مجموعة من كلاسات C++ التي تعمل على الربط بين البرامج والهاردوير اي انها تعمل كوسيط يترجم أوامر البرامج إلى لغة يفهما العتاد الصلب Hardware الخاص بالرسومات Graphics.

حسناً ما هي GDI+ إذاً:
في الفيجوال ستوديو Visual Studio .Net قامت مايكروسوفت بإضافة العديد من التحسينات والمزايا على تقنية GDI لجعل التعامل معها أسهل ,, وهذا قادنا إلى ظهور GDI+ النسخة المطورة من GDI.


والآن لننتقل إلى العمل البرمجي:


5 كتب جديدة لتعليم البرمجة



اسم الكتاب: خطوة بخطوة مع Visual Studio 2008 C# And VB.NET
اللغة: VB.NET,C#
لمحة: من أفضل وأجود الكتب العربية في شرح عالم الدوت نت .. حيث يضم هذا الكتاب مجموعة من أساسيات عالم .NET وتحديداً .NET 2008 عبر 28 باب متخمة بالمعلومات حول كل ما يخص عالم .NET باللغتين VB.NET , C#.
اسم الكتاب: فيجوال بيسيك 2008 خطوة خطوة Visual Basic .Net 2008
اللغة: VB.NET
لمحة: كتاب مترجم يشرح أساسيات البرمجة بلغة VB.NET 2008 .. ممتاز جداً للمبتدئين.
اسم الكتاب: عمل خلاصات RSS في ASP.NET
اللغة: ASP.NET,VB.NET
لمحة: كتاب جميل يشرح كيفية عمل خلاصات المواقع RSS بتقنية ASP.NET .. يقدمه صديقنا أحمد رمضان
اسم الكتاب: التطبيقات متعددة الطبقات N-Tier Applications
اللغة: VB.NET
لمحة: يعد تعدد الطبقات في بناء البرمجيات شيءً من الاشياء المهمة بالنسبة للمبرمج ، ولكي يبني المبرمج تطبيقاً رصينا متينا فيجب عليه اتقان هذه التقنية المهمة .. وهذا ما يشرحه هذا الكتاب الرائع.
اسم الكتاب: دروس في الفيجوال بيسيك دوت نت VB.NET
اللغة: VB.NET
لمحة: كتاب ممتاز جداً يحوي شرح مميز للعديد من الامور البرمجية, وهو عبارة عن تجميع لأهم مواضيع ومقالات الأخ سامر سلو العضو في منتدى فيجوال بيسيك للعرب vb4arab

الفرق بين Class و Object في الدوت نت

 مقدمة:
كتبت هذا الموضوع لأن أساس البرمجة في الدوت نت هي الـكائنات وفهم كيفية عملها يساعد على بناء تطبيقات صحيحة و سريعة لا تستهلك موارد النظام و تملأ ذاكرة الحاسب بكائنات ليس لها عمل و الذي يسمى بتسريب الذاكرة .Memory Leak

    ما هو الصنف  Class ؟
    هو برنامج لا يعمل لوحده تستخدمه ضمن برنامجك لأنه لا يحتوي على واجهة  Interface للتفاعل مع المستخدم
    توجد الأصناف في مكتبات الربط الديناميكي  Dynamic Link Library و هي ملفات من نوع DLL

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

    بعد تحميل الصنف في الذاكرة يمكنك تعريف متغير يشير إلى كائن من الصنف الجديد

    و تكون قيمة المتغير هي عنوان القسم الذي يحتوي على الكائن الجديد في الذاكرة و اسمه Pointer



    كيف تنشأ قاعدة بيانات SqlServer بواسطة الفيجوال ستوديو

    يعرض لكم هذا الفيديو السريع كيفية إنشاء قاعدة بيانات SqlServer بواسطة نسخة SqlServer Express التي تُـنصب مع الفيجوال ستوديو وأيضاً عمل جداول في القاعدة ..

    كما يمكنك تعلم التعامل مع قواعد البيانات SQL Server هنا.



    5 كتب لتعليم برمجة قواعد البيانات



    اسم الكتاب: الكامل في قواعد البيانات
    اللغة: Visual Basic .Net
    لمحة: كتاب صغير في عدد الصفحات, غني بالمعلومات وخاصة بالنسبة للمبتدئين .. يتحدث عن كيفية الربط بين قواعد البيانات والفيجوال ستوديو 2008.
    اسم الكتاب: إطار عمل كيان البيانات Entity Framework
    اللغة: Visual Basic .Net
    لمحة: يشرح هذا الكتاب تقنية إطار عمل كيان البيانات وهي تقنية موجهة للتعامل مع قواعد البيانات .. حيث يعد إطار العمل Entity Framework إحدى الطرق المضمنة في تقنية ADO.NET للتعامل مع البيانات في الوضع المنفصل.
    اسم الكتاب: ابدأ LINQ
    اللغة: C#
    لمحة: يشرح هذا الكتاب تقنية LINQ .. هذه التقنية الرائعة لعمل الاستعلامات والتي ظهرت مع VS 2008 حيث تهدف هذه التقنية الحديثة إلى توحيد طرق الاستعلام عن البيانات من مصادرها المختلفة (قواعد البيانات, المصفوفات ...).
    اسم الكتاب: تعلم LINQ to SQL في خمسة أيام
    اللغة: C#
    لمحة: يشرح أيضاً تقنية LINQ
    اسم الكتاب: خطوة بخطوة نحو Microsoft SQL Server 2008
    لمحة: يقدم هذا الكتاب سلسلة من الدروس التطبيقية ومواضيع أخرى حول تهيئة وكيفية استخدام Microsoft SQL Server 2008 من خلال Microsoft SQL Server Management Studio.

    العمل مع محرر التسجيل Registry من خلال الدوت نت

    مقدمة:

    دائماً ما كان المبرمجون يجدون محرر التسجيل Windows REGISTRY مكاناً مناسب لتخزين معلومات وإعدادات برامجهم وذلك لأن الوصول للبيانات عبر الريجستري هو اسرع من الوصول للبيانات من الملفات وأيضاً لأنه مستودع آمن للبيانات في نظام التشغيل.

    في هذا الدرس سنتحدث عن التعامل مع الريجستري Registry في C#.Net و VB.Net:


    أساسيات محرر التسجيل Windows Registry:

    بنية الريجستري منظمة بشكل هرمي. ويوجد في الريجستري خمسة مفاتيح معرفة مسبقاً تخزن تحتها جميع البيانات وكما ان هذه المفاتيح لا يمكن إعادة تسميتها او حذفها, ويندرج تحت كل مفتاح منها العديد من المفاتيح القرعية Subkeys إضافة إلى قيم البيانات Values. وإليكم وصف بسيط حول كل مفتاح منها:


    تلميح: كيف نظهر ارقام السطور في الفيجوال ستوديو

    من أجل إظهار ارقام السطور في نافذة الكود ببرنامج Visual Studio .Net كما يظهر في الصورة التالية:

    show line numbers in VS
    1. نفتح قائمة Tools ثم نختار منها Options
    2. ثم من الجهة اليسرى نوسع العقدة Text Editor
    3. ثم نختار العقدة All Languages
    4. ثم نختار Line Numbers

    التعامل مع التاريخ والوقت في الدوت نت

     مقدمة:
    كي تتعامل مع كل من التاريخ والوقت, يوجد كلاسين وهما DateTime,TimeSpan اللذان يحويان العديد من التوابع والاجراءات التي تساعدك وتسهل عليك التعامل مع الوقت والتاريخ .. حيث بإمكانك مثلاً حساب العمر اعتماداً على تاريخ الميلاد او حساب كم تبقى من الايام (او حتى الساعات) على تاريخ ميلادك.

    screenshot of our example



    حفظ إعدادات البرنامج

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

    طبعاً يمكنك حفظ إعدادات البرنامج عن طريق الريجستري, ولكن في هذا الدرس سنتعلم ,,
    كيف تقوم بحفظ مثل تلك البيانات How To Save Program Settings in Visual Studio:

    screenshot of our example


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

    العمليات التي يمكن القيام بها في البرنامج:
    1. فتح ملف نصي
    2. حفظ ملف نصي
    3. قص/ نسخ/ لصق نص
    4. تحديد كامل النص في صندوق النصوص
    Screenshot of our example


    التعامل مع قواعد البيانات

    • خطوات التعامل مع قواعد البيانات:
    1. استيراد مجال الاسماء الخاص بالتعامل مع قواعد البيانات.
    2. كتابة نص الاتصال مع قاعدة البيانات.
    3. انشاء كائن للإتصال مع قاعدة البيانات.
    4. فتح الاتصال مع قاعدة البيانات.
    5. انشاء كائن لطلب استعلام من قاعدة البيانات.
    6. انشاء كائن لقراءة نتائج الاستعلام.
    7. التعامل مع النتائج (طباعتها , تنفيذ عمليات عليها ........)
    8. إغلاق الإتصال مع قاعدة البيانات.