تخصيص فضاء الأسماء My بإضافة عناصر جديدة !!

12 06 2008

تخصيص فضاء الأسماء My بإضافة عناصر جديدة !!

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

منذ ظهور Visual Basic 8 او 2005 ظهرت ميزة جديدة رائعه فيه وهو فضاء الاسماء  My الذي يعتبر اختصارا للكثير من الاوامر المهمه والشائعه الاستخدام ويسهل الوصول اليها بسطر واحد من الكود دون الحاجه للذهاب الى فئاتها الاصليه على الاطلاق . في الحقيقه انه مجرد ” اختصار ” لكنه كما نرى ” قوي ويسهل العمل كثيرا ” كما تتميز به لغة Visual Basic على C# بالرغم من امكانيه محاكاته بسهوله !

ولكن هل خطر ببالك ان تضيف الى عناصر فضاء الاسماء My عناصر اخرى جديدة وترى انك بحاجة الى اضافتها نظرا لتكرار استخدامها لديك في اكوادك ؟ اذا الطريقة تكمل في اتباع ما سياتي !

يمكن اضافة خصائص ، طرق ، فئات ، وحدات نمطية Modules او حتى فضاءات اسماء جديدة مباشرة الى فضاء الاسماء My او حتى اضافة طرق ، خصائص ، دوال الى عناصر موجودة !! القضيه تشبه عمل ما يدعى بالـ Partial Class حيث انه يشبه تعريف فضاء الاسماء ومحتوياته من البدايه في مكان آخر من الكود . فلنبدا اذاً :

أقرأ باقي الموضوع »





برنامج ProcessMonitor

12 06 2008
برنامج ProcessMonitor

لقد قمت بعمل برنامج مصغر لعرض الـ Processes ” العلميات ” التي تعمل في خلفية نظام التشغيل ، البرنامج محدود الامكانيات وبحاجة الى بعض الاضافات واللمسات الفنية لكن الاجزاء الرئيسية منه موجوده وبالتالي فهو لا يحتاج الى تطوير كبير على الاقل في الوقت الراهن .

لتحميل المشروع على شكل ملف مضغوط بصيغة rar يرجى النقر هنا

ميزات البرنامج :
- استخدام الاداة ListView القوية في عرض البيانات .
- امكانية انهاء أي Process يتم تحديدها .
- عرض معلومات تفصيلية عن كل Process موجودة بالذاكرة.
- البحث عن معلومات اضافية عن أي Process على شبكة الانترنت بواسطة موقع جوجل .





VB 2008 على الأبواب ، فهل تعرف ماذا حمل لك VB 2005 ؟

28 08 2007

من خلال احتكاكي بالكثير من مبرمجي VB.NET العرب ، لاحظت أن العديد منهم لا يعلم ما الفرق بين الاصدار 7.1 ( 2003 ) و الاصدار الثامن ( 2005 ) من VB.NET وما التحسينات الموجودة في الاصدار الاحدث بالرغم من أننا نستعد لاستقبال الاصدار الثامن 2008 ! ولاحظت ان الكثير من المبرمجين الذين ينتقلون إلى اصدارات احدث ، فإن استفادتهم من تلك الاصدارات لا تعدوا استخدام الكائنات والفئات الجديدة ( فضاء الاسماء My مثلا ) وكذلك الأدوات الجديدة ( DataGridView ) والاخرى التي طرأت عليها تطويرات وكذلك التطويرات التي دخلت على بيئة التطوير Visual Studio ( اقصد الـ IDE الخاصة به طبعا ) لكن قلة من يعرفون التغييرات التي طرأت على اللغة نفسها ! لذلك أردت أن أشد الانتباه إلى هذه النقطة خصوصا أن الحديث عن الاصدار القادم بدأ يكثر في هذه الأيام بينما لدينا الأغلبية لا يعرفون ماذا تطور في VB.NET في الاصدار 2005 ! هنا سأذكر ثلاثة فقط من هذه التطويرات والباقي عليكم .

أقرأ باقي الموضوع »





عندك DataGridView ؟ تفضل معي وحولها إلى صورة Bmp !

27 08 2007

اثناء تصفحي للموقع الشهير http://www.codeproject.com/ وجدت مقاله رائعه يتحدث كاتبها حول كيفية حفظ اداة DataGridView ومحتوياتها ( من صفوف وأعمده ) على شكل صورة Bmp ، قد تروقك الفكره مثلما راقتني !

أقرأ باقي الموضوع »





استخلاص أجزاء التاريخ من صيغه تاريخ

25 08 2007

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

الطريقة الأولى :باستخدام كائن من نوع Date
عن طريق تعريف متغير ( كائن ) من نوع Date تستطيع الحصول على الكثير من الخصائص ، الطرق والدوال المفيدة في التعامل معه ، الآن سيكون اهتمامنا بالخصائص Day,Month,Year والتي تعود بقيم من النوع Integer تعود بما تحمله من اسم ! الكود التالي يوضح القضية باختصار :

       ‘تاريخ اليوم
       Dim MyDate As Date = Today
       ‘استخلاص اليوم
       Dim MyDay As Integer = Today.Day
       ‘استخلاص الشهر
       Dim MyMonth As Integer = Today.Month
       ‘استخلاص السنة
       Dim MyYear As Integer = Today.Year
 
       MsgBox(“Day: ” & MyDay & vbNewLine & _
               “Month: ” & MyMonth & vbNewLine & _
               “Year: ” & MyYear)
الطريقة الثانية : باستخدام دوال Visual Basic
هذه الدوال تتبع فضاء الاسماء :

Microsoft.VisualBasic.DateAndTime

وهي معروفة من ايامVB6 ! اذا لننطلق إلى الكود مباشره !

       ‘تاريخ اليوم
       Dim MyDate As Date = Today
       ‘استخلاص اليوم
       Dim MyDay As Integer = DateAndTime.Day(MyDate)
       ‘استخلاص الشهر
       Dim MyMonth As Integer = DateAndTime.Month(MyDate)
       ‘استخلاص السنة
       Dim MyYear As Integer = DateAndTime.Year(MyDate)
 
       MsgBox(“Day: ” & MyDay & vbNewLine & _
               “Month: ” & MyMonth & vbNewLine & _
               “Year: ” & MyYear)

وخذ هذه بخشيش من عندي ولو انها خارج موضوعنا :

       ‘تاريخ اليوم
       Dim MyDate As Date = Today
       ‘استخلاص الشهر
       Dim MyMonth As Integer = DateAndTime.Month(MyDate)
 
       ‘استخلاص اسم الشهر
       Dim MyMonthName As String = DateAndTime.MonthName(MyMonth, False)
       MsgBox(“Month Name : ” & MyMonthName)





أحصل على أي جزء من الوقت : استخلاص الساعات والدقائق والثواني والملي ثواني !

24 08 2007

اعتقد جازما بأنه لا يمكن لأي مبرمج ان لا يحتاج في يوم من الأيام إلى معرفه الساعة الحالية من الوقت الحالي ، بمعنى ان يستخلص الساعه فقط من الوقت ، أو الدقائق،  أو الثواني ، ما رأيك أن تكون الملي ثانيه لنجعلها أكثر متعه ؟
حسنا هذا ممكن بأكثر من طريقة ، وهنا سنفعلها بطريقتين ، هذه الأولى ممثله في الكود التالي :
        ‘الوقت والتاريخ الحالي
        Dim rightNow As Date = Now
        ‘الساعه الحالية
        Dim hourNow As Integer = rightNow.Hour
        ‘الدقائق الحالية
        Dim minuteNow As Integer = rightNow.Minute
        ‘الثواني
        Dim secondNow As Integer = rightNow.Second
        ‘استخلاص الملي ثواني
        Dim millisecondNow As Integer = rightNow.Millisecond

        Dim results As String = String.Format( _
           “Hour: {1}{0}Minute: {2}{0}Second: ” & _
           “{3}{0}Millisecond: {4}”, vbNewLine, _
           hourNow, minuteNow, secondNow, millisecondNow)
        MsgBox(results)

حسنا،  أي كائن من النوع Date يحتوي على الكثير من الطرق المفيدة ، وهنا استخدمنا دوال مفيده واحده اسمها Hour تعيد لنا الساعه ، واخرى اسمها Minute تعيد الدقائق،  واحده Second والأخيره Millisecond ، كلها تعيد قيم من النوع Integer تمثل الساعه ، الدقيقه ، الثانيه ، الملي ثانيه الموجوده في اللحظه الحالية.

طريقة أخرى لمحاكاة ذلك بإستخدام دوال Visual Basic.Net وحدها ، وهذه مماثله للإصدارات القديمة من VB ( 6 وما قبلها ) ولكن بدون الملي ثانيه فلا وجود لها :
        ‘الوقت والتاريخ الحالي
        Dim rightNow As Date = Now
        ‘استخلاص الساعه
        Dim hourNow As Integer = Hour(rightNow)
        ‘استخلاص الدقائق
        Dim minuteNow As Integer = Minute(rightNow)
        ‘استخلاص الثواني
        Dim secondNow As Integer = Second(rightNow)

        MsgBox(“Hour:” & hourNow.ToString & vbNewLine & _
                “Minute:” & minuteNow & vbNewLine & _
                “Second:” & secondNow)

حيث استخدمنا الدوال Hour,Minute,Second التي تعود بالساعه ، الدقيقه ، الثانيه من القيم المرسله .

ملاحظة أخيره : الأمر مماثل بالنسبه للتاريخ ، فيمكن استخلاص اليوم ، الشهر ، السنة وتنسيقها بطرق مختلفه بفضل دوال system.date وكذلك دوال فيجوال بيسك نفسها .
نلتقي في تدوينه لاحقه