كار با رشته ها
--------------------------------------------------------------------------------
Avenue Scrtip Strings
كار با رشته ها
مبحث كار با رشته ها را با چند مثال عملي كار مي كنيم.
نمايش با حروف بزرگ
کد:
'uppercase words**************************
a = "Hello World"
کد:
b = a.UCase
MsgBox.Info(b,"")تركيب دو رشته
کد:
'*********active doc
کد:
aDocument = av.GetActiveDoc.GetName
MsgBox.Info( "The active document is"++aDocument, "Active Document")شرط در رشته ها
کد:
*************if****************
کد:
[code]myString="Maybe"
if ( myString = "NO" ) then
return nil
elseif (myString = "Maybe")
then MsgBox.Info( "Think about it some more", "")
end
جايگزيني رشته ها
کد:
**********************
کد:
myString = "Montreal has a good hockey team! Go Montreal!"
myNewString = myString.Substitute("Montreal", "Colorado")
MsgBox.Info(myNewString, "")شكستن رشته به قسمت هاي كوچكتر
کد:
'**************split strings******************
کد:
myString = "excel.exe"
periodIndex=myString.Indexof(".")
theFileName=myString.Left(PeriodIndex)
MsgBox.Info(theFileName, "") '"excel"آزمايش چند روش نمايش پيغام
کد:
'***********************************
کد:
MsgBox.Info( "HELLO".LCase, "" ) 'displays hello
MsgBox.Info( "IALLX".Translate( "IAX", "HEO"), "" ) ' displays HELLO
MsgBox.Info( "hello world".Proper, "") ' displays Hello World
' displays the string: The string"Hello World" is often used.
msgbox.info( "The string ""Hello World"" is often used.", "")
' displays the string: "The string ""Hello World"" is often used."
msgbox.info( "The string ""Hello World"" is often used.".Quote, "")
نمايش در دوخط
کد:
کد:
'show word in 2 line ********************
greeting = "hello"+NL+"world"
MsgBox.Info( greeting,"")
نمايش ارايه
کد:
کد:
'show array***********************************
aBitMap = BitMap.Make( 5 )
aBitMap.SetAll myList = {}
for each i in aBitMap
myList.Add( i ) 'SOLUTION: myList.Add( i.clone )
end
msgbox.ListAsString( myList, "", "BITMAP")
مراحل ايجاد يك extension
ساده
اكنون نوبت نوشت كدهاي مربوط به حذف Extension است:
کد:
کد:
'Make sure there is a project if (av.GetProject = nil) then return nil end 'Uninstall only if the project is not closing if (av.GetProject.IsClosing) then return nil end 'The self object for this script is the extension 'The first root is the menu 'The second root is the view ' 'Remove the menu mb = av.GetProject.FindGUI("View").GetMenuBar mb.Remove(self.Get(0)) 'Remove the view av.GetProject.RemoveDoc(self.Get(1).GetName) 3. Save your work
پس از تكميل كدها را كمپايل نمائيد.
مرحله سوم: ايجاد extension
براي ايجاد extension شما نياز به كدهاي نصب و حذف extension، مسيرها، برنامه هاي داخلي داريد. فرايند دادن مسيرها ممكن است چندين مرتبه تكرار شود تا فرمانها آدرس دهي شوند. در مثال تست شده زير سه خط اول يك Extension اضافه مي نمايند. خطوط بعدي مسيرها را مشخص مي نمايند. در بخش بعدي توضيحاتي در مورد Extension مورد نظر اضافه مي شود. خط آخر دستور ساخت Extension را ارسال مي كند.
کد:
کد:
myExt = Extension.Make("D:\exampleext.avx".AsFileName,"Iran Hydrology",
av.GetProject.FindScript("Install"),
av.GetProject.FindScript("Uninstall"),{})
'***********roots***************
myExt.Add(av.GetProject.FindGUI("View").GetMenuBar.FindByLabel("My Menu"))
' Assumes there is a view named My View
myExt.Add(av.GetProject.FindDoc("My View"))
' Add to the extension the scripts that are attached to the menu items
' The following line shows how this would work for one such scripts.
' You may need several such lines.
myExt.Add(av.GetProject.FindScript("A Menu Item Click-Event Script"))
'****************************
myExt.SetAbout("This is my first extension."++
"This text will appear in the Iran Hydrology Extension Manager’s About box")
myExt.SetExtVersion(3.02)
'****************************
myExt.Commitبا كمپايل و اجراي اين كدها فايلي به نام exampleext.avx ايجاد مي شود كه چنانچه در پوشه ARCVIEW\EXT32 كپي شود، در ليست موجود خواهد بود.
مرحله چهارم : آزمون و خطايابي
يك پروژه جديد ايجاد نموده و extension ايجاد شده با نام Iran Hydrology را تيك بزنيد. از آن استفاده كنيد و آنرا خطايابي نمائيد.
در اين بخش شما با روش نوشتن يك extension جديد بصورت گام به گام آشنا خواهيد شد.
مرحله اول: ايجاد پروژه
پروژه اي حاوي كليه ملزومات Extension مورد نظر ايجاد نمائيد. اين پروژه تا مرحله 5 اين دستورالعمل فعال خواهد بود.
يك View باز كنيد و چند لايه به آن اضافه نمائيد. تغييرات مورد نظر را در راهنما با ويرايشگر راهنما انجام دهيد.
با استفاده از پنجره خصوصي سازي منوها، يك منو جديد اضافه كنيد و گزينه هاي مربوطه را نيز به آن اضافه نمائيد. توجه داشته باشيد در اين مرحله دستور Undo و كليدهاي مربوطه غير فعال هستند.
كار خود را ذخيره كنيد.
مورد نظر شما در هنگام بارگذاري و يا حذف نياز به اضافه و يا حذف منوها و برخي اطلاعات مورد نياز دارد. بدين منظور يكسري كد بايد در Extension نوشته شده توسط شما درج شود. نيازي به نصب scriptهاي مورد استفاده در extension نمي باشد زيرا برنامه آنها را بطور خودكار صدا خواهد زد. در اين مرحله اقدامات زير را انجام ميدهيم. نمونه زير مثالي از نصب است.
مرحله دوم: ايجاد scriptهاي مورد نياز براي نصب و حذف Extension مورد نظر
Extension
کد:
کد:
'Make sure there is a project if (av.GetProject = nil) then return nil end ' The self object for this script is the extension 'The first root is the menu 'The second root is the view ' 'Add the menu after the view's FILE menu b = av.GetProject.FindGUI("View").GetMenuBar m = mb.FindByLabel("File") if (m <> nil) then mb.Add(self.Get(0), mb.GetControls.Find(m)) else mb.Add(self.Get(0), 999) end 'Add the view av.GetProject.AddDoc(self.Get(1))