النتائج 1 إلى 7 من 7
  1. #1

    الدرس الثاني في استخدام الفيجوال بيسك للتطبيقات Vba

    الأخوة الأعزاء
    السلام عليكم ورحمة الله وبركاته

    أرسل إليكم الدرس الثاني وأسف للتأخير عليكم
    بعد أن أكملنا الدرس الأول والذي نشر على الرابط التالي:

    http://www.gisclub.net/vb/showthread.php?threadid=3104

    نكمل اليوم الخطوات البرمجية لما عملناه سابقاً وأود أن أشير إلى بعض الأمور الخاصة بهذا الأمر وهي:

    1. القاعدة العامة لبرمجة التطبيقات هي تعريف الملف ثم الوصول إليه
    2. بعد ذلك يتم الوصول إلى الليرات عند ذلك يتم التعامل مع مكونات الليرات مثل الجداول والرسومات ... الخ

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

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

    ملاحظة : من اجل عمل هذا الكود يجب ان يحتوي الملف على ليرات


    [align=left]Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
    Dim pMap As IMap
    Set pMap = pMxDoc.FocusMap
    Dim pLayer As ILayer
    Dim pMapLayers As IEnumLayer
    Set pMapLayers = pMap.Layers
    Set pLayer = pMapLayers.Next
    Do Until pLayer Is Nothing
    MsgBox pLayer.Name
    Set pLayer = pMapLayers.Next
    Loop[/align]





  2. #2
    الصورة الرمزية فهد المطلق
    فهد المطلق غير متصل مشرف ملتقى مطوري نظم المعلومات الجغرافية
    تاريخ التسجيل
    Aug 2007
    المشاركات
    132

    رد : الدرس الثاني في استخدام الفيجوال بيسك للتطبيقات Vba

    مشكور اخوي وسام على هذا الدرس

    وأقول لك أي معلومه تقدمها في هذا المنتدى سوف تكون محل تقدير لدى الجميع

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




    وكتابة الكود بهذه الطريقة


    كود:
    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
    Dim pMap As IMap
    Set pMap = pMxDoc.FocusMap
    Dim pLayer As ILayer
    Dim pMapLayers As IEnumLayer
    Set pMapLayers = pMap.Layers
    Set pLayer = pMapLayers.Next
    Do Until pLayer Is Nothing
    MsgBox pLayer.Name
    Set pLayer = pMapLayers.Next
    Loop

    وفي النهاية تمنيت ان أرى نتيجة عملك


    وأخير اشكرك من أعماق قلبي على هذه الدروس وستمر فيها

    اخوك فهد
    [align=center][mshosh2]http://up1.mlfnt.net/images/nyfiy0fvtw9p7m9yp1n1.gif[/mshosh2][/align]

    [align=center]موقع الشخصي
    [http://faculty.ksu.edu.sa/falmutlaq/default.aspx[/align]
  3. #3

    رد : الدرس الثاني في استخدام الفيجوال بيسك للتطبيقات Vba

    Dear All
    I Hope be fine and live with full scale of love and happiness, according to tutorial , if you want a complete
    tutorial for arcobjects , please send me email and i forward you with the tutorial
    i.nawasrah@gmail.com
    Regards

    Ibrahim Nawassrah
    Khatib-Alami
    ESRI - Lebanon
    Alriyadh
  4. #4
    تاريخ التسجيل
    Sep 2007
    الدولة
    Aleppo - Syria
    المشاركات
    48

    رد : الدرس الثاني في استخدام الفيجوال بيسك للتطبيقات Vba

    بسم الله الرحمن الرحيم

    مشكور أخ وسام والله يعطيك الصحة والعافية

    كنت أتمنى ألا يقتصر العمل على وضع الكود البرمجي بل يتخطى إلى شرح هذا الكود
    فمثلاً متى نستخدم كل عبارة وما هي أهميتها
    ما هو
    IMxDocument, IMap, IEnumLayer
    ومتى نستخدمهم ؟
    فسابقاً كنا نعرف متغير ما X من نوع Integer
    أما الآن فنعرف متغير pMxDoc من نوعIMxDocument
    ما هو هذا النوع وهل هناك أنواع أخرى من نفس النمط يمكن الاستفادة منها؟

    يعني نريد دروس من نوع (لا تعطيني سمكة ولكن علمني كيف أصطاد)

    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
    Dim pMap As IMap
    Set pMap = pMxDoc.FocusMap
    Dim pLayer As ILayer
    Dim pMapLayers As IEnumLayer
    Set pMapLayers = pMap.Layers
    Set pLayer = pMapLayers.Next
    Do Until pLayer Is Nothing
    MsgBox pLayer.Name
    Set pLayer = pMapLayers.Next
    Loop

    وجزاكم الله كل خير
  5. #5

    بداية دروس البرمجة باستخدام Vba

    الاخوة الاعزاء

    شكرا جزيلا لكم

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

    مع التقدير
  6. #6
    تاريخ التسجيل
    Aug 2010
    المشاركات
    14

    رد: الدرس الثاني في استخدام الفيجوال بيسك للتطبيقات Vba

    مشكور اخي على الشرح ولكن الصور لا تظهر عندي
    وشي تاني الادوات اللازمة في البرمجة من اين احصل عليها؟
  7. #7
    تاريخ التسجيل
    Oct 2009
    الدولة
    Jordan/Syria/Egypt/Yemen
    المشاركات
    255

    رد: الدرس الثاني في استخدام الفيجوال بيسك للتطبيقات Vba

    بعد التحية
    ارجو من الخ وسام السماح لي بالتعقيب و شرح الكود.
    اولا: يجب النتباه بان VBA ليس برنامجا مستقلا بذاته و انما متاكمل مع تطبيقات ArcMap/ArcCatalog لذلك فان جميع المكتبات التي تحتاجها عند كتابة برنامج تكون معرفة مسبقا, و في حالة الاحتياج لتعريف مكتبات اضافية يمكنك ذلك من preferences
    ثانيا: الشرح

    Dim pMxDoc As IMxDocument تعريف الوثيقة الاساسية ل ArcMap(MXD)
    Set pMxDoc = ThisDocument اسناد قيمة المتحول Pmxdoc ليتعامل مع الوثيقة النفتوحة
    Dim pMap As IMap تعريف متحول للتعامل مع dataFrame
    Set pMap = pMxDoc.FocusMap اسناد قيمة dataFrame الفعال للمتحول
    Dim pLayer As ILayer تعريف متحول للتعامل مع الشرائح في الخريطة
    Dim pMapLayers As IEnumLayer تعريف متحول من نوع مصففوفة لتخزين كل الشرائح
    Set pMapLayers = pMap.Layers اسناد كل الرائح الموجودة في الخريطة للمتحول من نوع مصفوفة
    Set pLayer = pMapLayers.Next اسناد اول قيمة في المصفوفوة للشريحة
    Do Until pLayer Is Nothing قراءة كل القيم في المصفوفة و اظهار رسالة باسم الشريحة
    MsgBox pLayer.Name سوف تنتهي القراءة عندما تنتهي الشرائح
    Set pLayer = pMapLayers.Next
    Loop

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •