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

مشاهدة النسخة كاملة : اضافة زر أمر على واجهة ال gis تعمل عمل add data



عبدالله حسن
10-29-2009, 09:50 AM
بسم الله الرحمن الرحيم
السلام عليكم

احتاج لعمل زر أمر على واجهة برنامج GIS مع الكود يعمل عمل Add Data

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

ابراهيم عبد الفتاح ابومريم
10-29-2009, 02:04 PM
http://www.gisclub.net/vb/images/uploads/3393_115704ae96ea5bc541.jpg

http://www.gisclub.net/vb/images/uploads/3393_174704ae974f41faba.jpg

http://www.gisclub.net/vb/images/uploads/3393_158084ae97516dcaa2.jpg

http://www.gisclub.net/vb/images/uploads/3393_160474ae9753d3d7fa.jpg

http://www.gisclub.net/vb/images/uploads/3393_103634ae97555f2c6e.jpg

http://www.gisclub.net/vb/images/uploads/3393_140824ae975cf9de3e.jpg

http://www.gisclub.net/vb/images/uploads/3393_103634ae9760b3135c.jpg

http://www.gisclub.net/vb/images/uploads/3393_244734ae97638b4942.jpg

للتحميل بهئية ملف BDF
http://www.4shared.com/file/144582778/3dfa8433/______ARC_GIS_92.html

فهد المطلق
11-07-2009, 10:04 PM
هذا الكود البرمجي ل Add Data


Private Sub AddData_Click()

''Get IGxDialog interface
Dim pGxDialog As IGxDialog
Set pGxDialog = New GxDialog
'Get IGxObjectFilter interface
Dim pGxObjectFilter As IGxObjectFilter
Set pGxObjectFilter = New GxFilterFeatureClasses
'Set GxDialog properties
Set pGxDialog.ObjectFilter = pGxObjectFilter
pGxDialog.AllowMultiSelect = True
pGxDialog.Title = "Add Feature Data"

'Get IEnumGxObject
Dim pEnumGxObject As IEnumGxObject
'Display the GxDialog and set the EnumGxObject. Exit if user cancel the dialog
If pGxDialog.DoModalOpen(PageLayoutControl1.hWnd, pEnumGxObject) = False Then Exit Sub
Dim pFeatureLayer As IFeatureLayer
Dim pFeatureClass As IFeatureClass
Dim pGxDataset As IGxDataset

'Get IGxObject interface
Dim pGxObject As IGxObject
pEnumGxObject.Reset
Set pGxObject = pEnumGxObject.Next
'Loop through the GxObjects
Do While Not pGxObject Is Nothing
'Query interface for IGxDataset interface
Set pGxDataset = pGxObject
'Get IFeatureClass interface
Set pFeatureClass = pGxDataset.Dataset
'Get IFeatureLayer interface
Set pFeatureLayer = New FeatureLayer
'Set layer properties
Set pFeatureLayer.FeatureClass = pFeatureClass
pFeatureLayer.Name = pFeatureClass.AliasName
'Add the layer to the PageLayoutControl
PageLayoutControl1.ActiveView.FocusMap.AddLayer pFeatureLayer

'Add the layer name to the control

Set pGxObject = pEnumGxObject.Next
Loop
End Sub

عبدالله حسن
11-08-2009, 10:24 AM
السلام عليكم ورحمة الله
شكرا جزيلا أخ ابراهيم على هذا الشر الجميل والواضح بالفعل قمت بتطبيق الخطوات التي ذكرتها وبحمد الله نجحت في إضافة هذه الأداة.
شكرا لكم وأدامكم الله ذخرا لهذه الأمة.

عبدالله حسن
11-08-2009, 10:38 AM
السلام عليكم ورحمة الله
الأخ فهد شكرا جزيلا على هذه المشاركة الر ائعة ، لقد قمت بتجربة الكود ونجحت في ذلك وهو الآن على واجهة البرنامج، ولكن أخي السؤال الآن هو كيف يمكن أن أحول هذا البرنامج المكتوب بلغة VBA إلى برنامج بلاحقة dll بيث يتم وضعه مباشرة كأي أداة برمجية أخرى مثل 3D analyst على سبيل المثال.................
منتظرا ردكم ولكم جزيل الشكر وخالص الاحترام .................... دمتم لبناء وتطوير هذه الأمة...............

فهد المطلق
11-08-2009, 10:42 PM
3Danalyst هذا أكستنشن يضم العديد من الاوامر الخاصة فية وليس مجرد إيقونة تنفذ امر محدد
dll يعتبر امتداد ملف نظام ولا اعرف دخله في الموضوع

VBA وهو البرنامج الفيجوال بيسك التطبيقي الموجود داخل الكثير من البرامج ومنها برنامج GIS . وهو يساعد المستخدمين على عمل واجهت برمجية تسهل عملية معقده ما، ولا يمكن إنتاج برامج مستقله من خلاله، وهناك برامج أخرى تقوم بعمل برامج مستقله exe. باستخدام الكائنات الهدفية الموجوده داخل البرنامج.

إذا عملت واجهة برمجية باستخدام VBA وتريد ربطها في ايقونه داخل واجهة ArcMap فراجع الرابط التالي
http://www.gisclub.net/vb/showthread.php?t=4740

والله الموفق

عبدالله حسن
11-09-2009, 03:59 PM
السلام عليكم ورحمة الله وبركاته
أخي فهد شكرا لكريم عطفكم وسرعة ردكم ، أخي العزيز وأستاذي الكريم لقد قمت اليوم منذ الساعة العاشرة صباحا بكتابة برنامج صغير بلغة VBA ومن خلال دراسة المساعد في برنامج ARC MAp GIS تبين أنه من الممكن إضافة زر واجهة يعمل عمل البرنامج الذي كتبته شرط أن يكون ملف لاحقته dll ولذلك قمت بتحويل برنامجي الصغير من خلال برنامج Visual.net بلاقة dll ومن ثم أضرته إلى برنامج ARC MAp ونجحت العملية ولكن بالنسبة للأمر 3D فهو مبرمج بغة C++ ولذلك لم أتمكن من ذلك.
فهل بإمكانك أخي الكريم أن تزودني ببرنامج تقوم بكتابته من خلال ARC ENgine يقوم فقط بوظيفة عرض ثلاثي البعد
وشكرا لكم وأتمن لكم دوام الصحة والعافية وأدامكم الله ذخرا لهذه الأمة.

عبدالله حسن
11-10-2009, 01:47 PM
السلام عليكم ورحمة الله وبركاته
الأخ العزيز فهد أدام الله ظلكم ، أنا حقا آسف على طلباتي الكثيرة من حضرتكم ولكن (الأخوة لبعض) أرجو الرد على سؤالي لكم وأنا في انتظار الرد وشكرا.