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

ملتقي ابداع طلبة جامعة الحديدة

منتدى الابداع والتميز ملتقي العطاء بلا حدود الى الافضل
 
الرئيسيةالتسجيلدخول

شاطر | 
 

 الرسم البياني ي الفيجول

اذهب الى الأسفل 
كاتب الموضوعرسالة
زهرة الربيع
عضو نشــط
عضو نشــط
avatar

عدد المساهمات : 36
نقاط : 86
السٌّمعَة : 0
تاريخ التسجيل : 17/05/2009

مُساهمةموضوع: الرسم البياني ي الفيجول   الأربعاء مايو 20, 2009 1:34 pm


قبل ان تبدأ يجب ان تقوم بعمل قاعدة بيانات اسمها db1 و تحتوي على جدول اسمه tb1 فيه الحقول التالية :



نوع البياناتإسم الحقل
stringname
integermathmark
integersincemark


قم بعد ذلك بإضافة سجلات لقاعدة البيانات بالقيم التي تريدها
الان افتح مشروع فيجوال بيسك جديد ، بعد ذلك قم بتعريف او ربط قاعدة البيانات في البرنامج بالكود الذي تعلمناه في الدروس السابقة و سأذكره هنا ان كنت قد نسيت

أولا اذهب الى Project >> refrences ثم حدد المكتبة Microsoft DAO 3.51 Object library
قم بتعريف المتغيرين في قسم الاجراءات العامة كما في الكود التالي :

Public d As Database
Public tb As Recordset


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

Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\db1.mdb", True)
Set tb = db.OpenRecordset("tb1", dbOpenTable)


الان تأتي الخطوة الاساسية الاولى وهي اضافة أداة الرسم البياني و للقيام بذلك اذهب قائمة Project و اختر Components سيظر لك مربع حوار حدد منه الاختيارMicrosoft Chart Control 6.0 (OLEDB)
ستظهر لك الايقونه الخاصة به في صندوق الادوات بعد ذلك انقر على هذه الايقونة و ارسم شكل مربع على اغلب الفورم و سينتج لك صورة رسم بياني
الان حدد الرسم البياني و اذهب الى نافذة الخائص و غير الخاصية AutoIncrement إلى True و هذا ضروري لكي يقوم الرسم البياني بتغيير و تحديث نفسه تلقائيا ولن يعمل بدون ان تجعل هذه الخاصية على True
أيضا اضبط الخاصية ColumnCount على 2 حيث ان هذه الخاصية تعني عدد الاعمدة في الرسم البياني و بما اننا نحتاج الى عمودين فقط هما درجة الرياضيات و العلوم وضعنا عدد الاعمدة 2
و اضبط الخاصية RowCount على 1 وهذا الرقم يدل على عدد السجلات ا لتي تريد ان تعرضها في المرة الواحدة و ستتعرف على ذلك بالتفصيل في الدرس القادم
والان ماهو الكود الذي سيعرض البيانات على الرسم البياني ، اولا يجب ان تحدد متى يجب العرض هل عند تشغيل البرنامج ام عند النقر على زر معين ؟ و الطريقة الافضل ان تجعله يقوم يعرض حال تنفيذ او تحميل الفورم و بعد ذلك يمكنه ان ينتقل الى السجل التالي بواسطة زر تنقل ، هذا يقودنا الى انه يجب علينا وضع كود في حدث ا لتحميل للفورم لكي يعرض مباشرة و الكود سيكون الكود التالي الذي باللون الاحمر :
لاحظ ان اسم ادة الرسم البياني هو MSChart1


Private Sub Form_Load()
Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\db1.mdb", True)
Set tb = db.OpenRecordset("tb1", dbOpenTable)

MSChart1.Column = 1
MSChart1.Data = tb!mathmark
MSChart1.Column = 2
MSChart1.Data = tb!sincemark
MSChart1.RowLabel = tb!Name


End Sub


أعتقد ان الكود السابق سهل وواضح للجميع و هو يذكرنا بالأداة FlexGrid ، ففي الكود السابق حددنا اولا رقم العمود الذي ستنفذ عليه الاوامر القادمة و هو عمود رقم 1 ثم بعد ذلك و ضحنا الامر الذي نريده ان ينفذ على هذا العمود وهو وضع قيمة الحقل mathmark في هذا العمود ليعبر عنها بيانيا ونستخدم لهذا الامر Data كما هو واضح ، و الان نريد وضع قيم الحقل الثاني وهو sincemark في العمود الثاني و نتبع لذلك نفس الخطوات السابقة حيث نحدد رقم العمود وهو 2 ثم ما نريد منه و هو التعبير عن هذا الحقل في شكل بيانا
بعد ذلك وفي السطر الاخير نريد ان يضع البرنامج اسم الشخص اسفل الرسم البياني و هو مايسمى بالصف Row ونستخدم الخاصية RowLabel و نخزن فيها قيمة حقل الاسم Name
الان المرحلة الثانية و هي ان يقوم المستخدم بالتنقل بين الحقول لإظهارها في شكل الرسم البياني و سنقوم بإنشاء زرّي أمر واحد للتقدم للأمام وواحد للرجوع للخلف ، في الزر المخصص للتنقل للإمام نستخدم الكود التالي :

Private Sub Command1_Click()
tb.MoveNext ' للإنتقال للسجل التالي
If tb.EOF Then tb.MoveLast ' لتفادي المشاكل عند اخر سجل
MSChart1.Column = 1
MSChart1.Data = tb!mathmark
MSChart1.Column = 2
MSChart1.Data = tb!sincemark
MSChart1.RowLabel = tb!Name
End Sub


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

Private Sub Command2_Click()
tb.MovePrevious
If tb.BOF Then tb.MoveFirst
MSChart1.Column = 1
MSChart1.Data = tb!mathmark
MSChart1.Column = 2
MSChart1.Data = tb!sincemark
MSChart1.RowLabel = tb!Name
End Sub


الكود السابق نفس كود الانتقال للإمام مع تغيير امر التحرك للأمام بأمر التحرك للخلف MovePrevious و تم تغيير شرط التأكد من وصولنا للسجل الاول بحيث يتوافق مع الحاله

الشكل النهائي

لاحظ أن المحورين يتم تقسيمهما تلقائيا على حسب الارقام في السجلات

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

الجنس : ذكر عدد المساهمات : 119
نقاط : 173
السٌّمعَة : 0
تاريخ التسجيل : 25/04/2009
الموقع : www.yemen22.mam9
المزاج : أهوى العلم والتعلم

مُساهمةموضوع: رد: الرسم البياني ي الفيجول   الخميس مايو 21, 2009 10:34 am

مشكووورة أخت وردة الربيع مواضيعك دائما علمية ومتميزة


تمنياتي لك بمزيد من التقدم والنجاح

تحياتي
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://www.yemen22.mam9.com
 
الرسم البياني ي الفيجول
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ملتقي ابداع طلبة جامعة الحديدة :: ملتقي إبداع معلم الحاسوب :: ملتقي الغات البرمجيه-
انتقل الى: