المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : إضافة إداة برمجية باستخدام Vba



فهد المطلق
08-07-2009, 01:02 AM
أهلاً و مرحباً بكم أخواني أعضاء منتدانا الغالي


حسب وجهة نظري أن الهدف من التعامل مع برمجة نظم المعلومات الجغرافية لا يخرج عن هدفين أساسين:

1_ وجود قصور معين داخل البرنامج وياحاول المبرمج معالجة هذا القصور بمايخدم هدفه.

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


ونحن من خلال هذا الدرس البسيط نحاول تحقيق الهدف الثاني وهو وضع إيقونة داخل البرنامج تسهل إضافة فورم بمسمى جديد (Add Form)

ولآن نبدأ العمل على بركة الله

الوصول الى برنامج الفيجوال بيسك التطبيقي (VBA ) داخل برنامج نظم المعلومات الجغرافية انظر الشكل التالي:


http://www.gisclub.net/vb/images/uploads/3079_80274a7b45f772c9d.JPG

تفتح لك الصفحة التالية:

http://www.gisclub.net/vb/images/uploads/3079_81134a7b46db7ef22.JPG

ثم نرسم الايقونات على النافذة كما في الشكل التالي:

http://www.gisclub.net/vb/images/uploads/3079_103964a7b481e5c4ca.JPG


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




Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument

'Create a new map
Dim pMap As IMap
Set pMap = New Map
pMap.Name = TextBox1

'Create a new MapFrame and associate map with it
Dim pMapFrame As IMapFrame
Set pMapFrame = New MapFrame
Set pMapFrame.Map = pMap

'Set the position of the new map frame
Dim pElement As IElement
Dim pEnv As IEnvelope
Set pElement = pMapFrame
Set pEnv = New Envelope
pEnv.PutCoords 0, 0, 5, 5
pElement.Geometry = pEnv

'Add mapframe to the layout
Dim pGraphicsContainer As IGraphicsContainer
Set pGraphicsContainer = pMxDoc.PageLayout
pGraphicsContainer.AddElement pMapFrame, 0

'Make the newly added map the focus map
Dim pActiveView As IActiveView
Set pActiveView = pMxDoc.ActiveView
If TypeOf pActiveView Is IPageLayout Then
Set pActiveView.FocusMap = pMap
Else
Set pMxDoc.ActiveView = pMap
End If

'Refresh ActiveView and TOC
pActiveView.Refresh
pMxDoc.CurrentContentsView.Refresh 0


بعد ذلك تحفظ عملك وتغلق صفحة البرمجة، ثم نقوم بإضافة إيقونة على واجهة برنامج نظم المعلومات الجغرافية كما في الشكل التالي:

http://www.gisclub.net/vb/images/uploads/3079_149244a7b4a9f31c7d.JPG

تفتح لك النافذة التالية واتبع الخطوات الموضحة على الصورة

http://www.gisclub.net/vb/images/uploads/3079_161924a7b4bf76dcfe.JPG

ثم أسحب الايقونه وثبتها على شريط الادوات كما في الشكل التالي:

http://www.gisclub.net/vb/images/uploads/3079_148874a7b4d0b29dd1.JPG

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



http://www.gisclub.net/vb/images/uploads/3079_145184a7b4e09b913c.JPG


سوف تفتح لنا نافذة كتابة الاكواد أكتب الكود التالي:


Dim frm2 As New UserForm1
frm2.Show

بهذا ينتهي عملنا وسوف تكون النتيجة كما في الشكل التالي:

http://www.gisclub.net/vb/images/uploads/3079_149994a7b4fd9a0459.JPG


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

أدهم أحمد
08-08-2009, 09:06 AM
الأخ العزيز / فهد المطلق ..

متابع لمواضيعك البرمجية الرائعة التي تعكس بدورها الشخص الرائع الذي يقوم بها ........

كلمة شكرا لا تكفى ... ولكن أرجو أن تقبلها فألف شكر لك على جهودك الكبيرة ...

خالد جمال محمود المهندس
08-08-2009, 08:29 PM
شكرا والف شكرا الى الاخ العزيز فهد المطلق .... والذي افادنا كثيرا بهذا الموضوع الشيق ونتمنى منه
اني يضيف لنا ماهو جديد ومفيد

حسام الطائي
08-15-2009, 09:59 AM
بارك الله بك اخ فهد مككن تعطينا مثال كيف اعرض الخارطة وبالأسفل أعرض الموقع الجغرافي (خصوصا عرض الموقع )عندما احرك الماوس يعني مثل
Arcview
وبارك الله بك مجددا

فهد المطلق
08-15-2009, 11:36 PM
هلا اخي حسام

اولا اعرض سؤالك في موضوع جديد لانه ليس له علاقة بهذا الموضوع

ثانيا هل تقصد الموقع الجغرافي ظهور الاحداثيات بالاسفل مع تحرك الماوس؟