الأحد، 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 ) .
مع العلم ان أكثر هذه الأنواع إستخدماً هما النوعان الموضحان في الأعلى .
تمتعوا بهذه الإضافات الرائعة التي تعطي لبرامجكم الكثير من التميز والإحترافية .


هناك 4 تعليقات:

  1. انصح باستخدام crestal report لصنع المخططات فهي مجانية و لا تحتاج الى كود بالاضافة للسهوله و هناك العديد من الاشكال و المزايا لتناسب كل مشروع 

    ردحذف
  2. كم سعر البرنامج

    ردحذف
  3. البرنامج المحاسبي لشركات السياحة والسفر وهذا شرح لجزئية من البرنامج تعرض التقارير على هيئة سوم بيانية اما فيما يخص سعر البرنامج يمكنك ان تراسلني على motaz.m.nour@gmail.com

    ردحذف