الأحد، 30 أكتوبر 2011

Graphs And Charts in Visual Basic

متابعي مدونتي العزيزة على علم بأنها متخصصة في المحاسبة وهذا واضح في إسمها على الأقل كما أني أقوم بين الحين والآخر بالحديث عن البرمجة وعن كيفية بناء العلاقة بين البرمجة والمحاسبة وكيفية الإستفادة من البرمجة في المحاسبة والحصول على افضل النتائج بإستخدام تكنولوجيا المعلومات التي تتطور بشكل سريع .
وسأتحدث اليوم عن كيفية برمجة الرسوم البيانية والخرائط Graphs And Charts عن طريق الـ VB.Net .

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

غالبا سنحتاج الى الـ Framework: .NET Framework 3.5 SP1 بعد ذلك نقوم بتشغيل ملف الإعداد .
بعد الإنتهاء من الإعداد نبدأ الآن في تهيئة الفيجوال بيسك للبرمجة على الأداة .
إضافة الأداة إلى بيئة البرمجة لإستخدامها :
- من شريط الأدوات Toolbox نضغط زر الفأرة اليمين ثم Choose Items ثم تحديد الأداة ستظهر في شريط الأدوات .
- نقوم بسحبها لإستخدامها على الفورم .
تهيئة الأداة للإستخدام قبل البدأ في البرمجة :
  1. تحديد مدى البيانات التي سيتم تحويلها إلى رسوم بيانية أو خرائط من الخصائص Properties وعند الخاصية Series إضغط على Collection لتحديد عدد مجموعات البيانات المطلوبة .
    - فقد تكون مجموعة واحدة من البيانات مثلاً ( مبيعات مكتب سياحة وسفر ويتم فيها مقارنة مبيعات تذاكر الطيران بالنسبة لحجوزات الفنادق )














    - أو قد تكون مجموعتين من البيانات مثلاً ( نفس المثال مبيعات تذاكر الطيران ويكون هناك بيانات لتكلفة المبيعات وبيانات صافي المبيعات كما موضح في الصورة )

    كل ما عليك هو اضافة مجموعات على حسب احتياجك .

















  2. هنا كود برمجة لمجموعة ( Series ) واحدة فقط :

    Private Sub Sales_Graph()
    Dim array(1000, 1000) As Object

    array(0, 0) = "Ticket"
    array(0, 1) = "Hotel"
    array(0, 2) = "XO"

    array(1, 0) = 50
    array(1, 1) = 100
    array(1, 2) = 150

    array(1, 0) = Format(CDec(array(1, 0)), "#,##0.000")
    array(1, 1) = Format(CDec(array(1, 1)), "#,##0.000")
    array(1, 2) = Format(CDec(array(1, 2)), "#,##0.000")


    Chart1.Series(0).Points.AddXY(array(0, 0), array(1, 0))
    Chart1.Series(0).Points.AddXY(array(0, 1), array(1, 1))
    Chart1.Series(0).Points.AddXY(array(0, 2), array(1, 2))

    End Sub

    أما في حال كان هناك أكثر من مجموعة ( Series ) :
    Private Sub Staff_Sales_Graph()
    Dim array(1000, 1000) As Object
    Dim array1(1000, 1000) As Object
    Dim array2(1000, 1000) As Object

    Dim Total_Sales As Double
    Dim Cost_Sales As Double
    Dim Net_Sales As Double

    Total_Sales = 150
    Cost_Sales = 100

    Net_Sales = Total_Sales - Cost_Sales

    array1(1, 0) = Net_Sales
    array2(1, 0) = Cost_Sales

    If array1(1, 0) > 0 Then
    Chart2.Series(0).Points.AddXY(array1(0, 0), array2(1, 0))
    Chart2.Series(1).Points.AddXY(array1(0, 0), array1(1, 0))

    End If


    Next
    End Sub

يمكنك إختيار أنواع الرسم البياني أو الخرائط التي تريدها على حسب إحتياجك وهذا من Chart Type من خصائص الـ ( Series ) .
مع العلم ان أكثر هذه الأنواع إستخدماً هما النوعان الموضحان في الأعلى .
تمتعوا بهذه الإضافات الرائعة التي تعطي لبرامجكم الكثير من التميز والإحترافية .


الخميس، 20 أكتوبر 2011

تويتر على الفيجوال بيسك

لا شك في أن تويتر الآن أحد أهم أدوات الإنترنت واصبحت الوسيلة الاولى تقريباً لنقل الاخبار والاحداث وهي المصدر الاسرع للاخبار العاجلة
لا اتحدث اليوم عن تويتر كشبكة اجتماعية انما اعرض للمبرمجين طريقة استخدام TwitterVB.dll في برامجهم .
  1. تنزيل الملف TwitterVB-2.5
  2. اضافة المكتبة Add a reference .
  3. إضافة الأسطر التالية إلى مشروعك .
    Imports TwitterVB2
  4. الآن عليك ان تأخذ تصريح عن طريق حساب تويتر الخاص بالمستخدم حتى يستطيع تطبيقك من استخدام حسابه لذا عليك ان تسجل تطبيقك ضمن تطبيقات تويتر من هنا
    http://twitter.com/oauth_clients
    أو للمساعدة http://twittervb.codeplex.com/wikipage?title=XAuth&referringTitle=Documentation
  5. بعد الإنتهاء من التسجيل ستحصل على متغيران the consumer key و the consumer secret
  6. الآن لديك المتغيران وعن طريقهما سيقوم المستخدم باعطاء التصريح للتطبيق لكي يستخدم حساب التويتر الخاص به لذا عليك برمجياً ان تقوم بحفظهما سواء في الـ app settings او ملف تكست او قاعدة بيانات لك حرية الإختيار .
    قم بإضافة التالي في منطقة التصاريح العامة general declaration area وقم بتعريف مغير واحد فقط للـ twitter lib

    Dim Twitter As New TwitterVB2.TwitterAPI
    ثم
    Url = Twitter.GetAuthorizationLink(ConsumerKey, ConsumerSecret)

  7. ستحصل على الـ PIN الذي سيستخدم أيضاً للحصول على متغيران المستخدمان للتسجيل في تويتر عن طريق التطبيق

    Dim Isvalid As Boolean = Twitter.ValidatePIN(TwPIN)
    If Isvalid Then
    Token = Twitter.OAuth_Token
    TokenSecret = Twitter.OAuth_TokenSecret
    End If

    سيتم حفظهما كمان حدث مع المتغيران السابقين حيث انه عند التسجيل على تويتر كل مرة يتم استخدام الاربع متغيرات
    • Consumer
    • Consumer secret
    • Token
    • Token Secret
لآن حان وقت الإستمتاع بارسال واستقبال التويتات

  • الإرسال

Twitter.AuthenticateWith(ConsumerKey, ConsumerSecret, Token, TokenSecret)
Twitter.Update("Hello World")

  • قراءة التويتات على الـ Wall

Public Function ReadMsgs(ByVal User As String) As String
Dim TwMsgs As String
Twitter.AuthenticateWith(ConsumerKey, ConsumerSecret, Token, TokenSecret)

For Each tweet As TwitterStatus In Twitter.HomeTimeline
TwMsgs = TwMsgs & tweet.User.ScreenName & " : " & tweet.Text
Next

Return TwMsgs
End Function

استمتعوا ببرمجة تويتر واتمنى ان نرى تطبيقات جديدة ومبتكرة حيث ان تويتر مفتوح المصدر ونستطيع ملاحظة الكثير من التطبيقات الناجحة المبنية في الاساس على تويتر كمصدر مفتوح .

الأربعاء، 19 أكتوبر 2011

The Business Model النموذج التجاري

نموذج قيمة الأعمال التجارية هي ترجمتي المتواضعة للـ Business Model و هذا النموذج يصف الطريقة التي تقوم بها المنظمة أو المؤسسة للحصول على القيمة سواء كانت هذه القيمة اقتصادية او اجتماعية او اي نوع من انواع القيم كانت ،وتعتبر جزء من استراتيجية أو خطة العمل .

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

و تاريخيا و مع مرور الوقت يستمر تطور نموذج الأعمال فظهر مع بدايات القرن العشرين نموذج The bait and hook business model الذي يمكن ترجمته كالتالي نموذج الطعم والخطاف !!
وهو يعتمد على تقديم منتج بسعر منخفض جداً او بسعر التكلفة واقل ( bait الطعم ) ثم يتم تعويضه عند اعادة استخدامه او مع توفير خدمات اخرى مرتبطة به ( hook الخطاف ) . وأشهر الامثلة على ذلك :
  • الطابعة ( bait ) الحبر ( hook )
  • برنامج القارئ Adobe Reader يوزع مجاناً ولكن مصمم البرنامج يتحصل على مئات الدولارات من تصميم وكتابة المستندات التي يتم قرائتها عن طريق القارئ .
قديماً كانت للمؤسسات التجارية المختلفة نماذج اعمالها الخاصة بها ومع مرور الوقت ومع كل زمان كانت المؤسسة تختار وتبتكر النموذج المناسب لها .

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

ومن هنا تأتي الفكرة . شركة مثل مايكروسوفت كيف استغلت نظام تشغيلها الأشهر ( Windows ) عن طريق الكم الهائل من مستخدميه فنرى شركة مايكروسوفت تحقق عوائد كبيرة مثلاً عن طريق تدريب المستخدمين على استخدام برامج ( Microsoft Office ) وهذا تأثير غير مباشر نتيجة ضخامة شبكة مستخدمين ويندوز ، الآن نستطيع معرفة سبب تقاعس شركة مايكروسوفت عن حماية برامجها من القرصنة بشكل قوي !!

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

فاصل ونعود