09tc60培訓課件科學院上海高等研究院_第1頁
09tc60培訓課件科學院上海高等研究院_第2頁
09tc60培訓課件科學院上海高等研究院_第3頁
09tc60培訓課件科學院上海高等研究院_第4頁
09tc60培訓課件科學院上海高等研究院_第5頁
已閱讀5頁,還剩141頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作入門中國新一代交通上海高等研究中心2013年4月1 GISDK概述2快速啟動:GISDK示例3 GISDK語言基礎4 源文件5 GISDK函數什么是GISDK?地理信息系統二次開發工具包,GISDK(Geographic Information System Developers Kit)含有所有用來增強和自定義TransCAD功能的所有工具GISDK包括兩部分:Caliper Script(TM)編程語言,是GISDK的基礎和核心,其主要用途是和TransCAD進行交互交流交互開發工具,用來編譯和測試程序通過Caliper Script編程語言,或其他編程語言通過自動對象嵌入技術(OLE

2、)調用TrsnCAD平臺中的函數Caliper Script強大的宏編程語言,用于創建GISDK源代碼Caliper Script 提供有600多個庫函數,包括地圖和其他窗口的GIS函數,和完整的空間數據和屬性數據操作、函數Caliper Script 可以生成和操作表格、地圖、地圖元素、窗口、專題、選擇集等對象,及工具箱、菜單等用戶接口項目框、工具條、可TransCAD平臺中提供的1000多個的功能函數可以通過文本編輯器創建、編輯及顯示什么是GISDK?嵌入程序(add-ins),可以擴展TransCAD 的功能或者自動重復操作自定義應用程序(Custom application),用于擴展

3、或者替代標準用戶界面,進行自定義功能和操作服務程序,以Automation Server方式TransCAD ,以在您的應用程序上添加制圖和交通分析功能 通過.NET方法 通過.COM組件TransCADTransCAD以批處理模式使用矩陣動態連接庫嵌入程序介紹增加標準的用戶界面提供框,用戶可以進行選擇和選項設置操作自定義工具箱,通過按鍵事先定義好的程序模塊自定義應用程序介紹用戶可以利用GISDK編寫具有自定義的界面的GIS和應用程序用戶自行定義菜單、工具條、工具箱及框,自行設計程序功能用戶可以利用TransCAD的交通功能模塊,自行設計程序功能這類用戶程序能很好地滿足不同用戶對應用程序的環境

4、、界面、接口、功能等的要求用戶可以為GISDK用戶程序生成圖標并加入到系統菜單中,使他們能跟其他Windows軟件一樣地執行服務程序服務程序是一種能為用戶程序提供數據、地圖和地理分析功能的GISDK應用程序可以用Visual basic、Visual C,C+,或其他語言(包括其他軟件如Excel等所帶的Macro語言)編寫用戶程序TransCAD在運行,為客戶程序提供服務利用Windows剪貼板或metafile或OLE對象,服務程序向客戶程序傳送地圖,或利用DDE及磁盤文件傳送數據服務程序GISDK關宏程序您從別的編程語言寫的其他應用程序中調用制圖函數和有可以用TransCAD提供的 .N

5、ET Classes,從任何 .NET語言寫的桌面應用程序(Windows Form)中使用GISDK開發環境也可以通過COM接口從其他應用程序中調用GISDK提供的函數和宏程序Batch Mode介紹TransCAD標準版可以提供用于以及物流程序的批處理模式和運行程序您可以自定義結果編碼,以滿足您的需求Matrix DLLs介紹兩個動態連接庫( DLLs )可以讓你通過TransCAD矩陣您可以通過C, C+,FORTRAN和JAVA語言的程序讀寫已有的矩陣的程序1 GISDK概述2快速啟動:GISDK示例3 GISDK語言基礎4 源文件5 GISDK函數如果您沒有打開TransCAD,請打

6、開選擇Tools-Add Ins ,顯示Add-Ins框在Add-Ins菜單中,突出顯示GISDK工具點擊OK。 TransCAD彈出GISDK工具箱課程1:地點搜索的宏程序及程序測試課程1的宏程序,可以搜索最近的點,并計算出它們在網絡上的距離在后面用戶界面的開發中,還會可以繼續調用這個宏通過編寫的宏,可以創建重復使用的宏功能庫課程1:地點搜索的宏程序及程序測試應用文本編輯器,打開并練習GISDKSAMPLES文件夾中的LESSON1.RSC文件切換到TransCAD程序, 打開GISDK工具箱點擊GISDK工具箱中的,以顯示編譯文件框從GISDKSAMPLES文件夾中,選擇名為LESSON1

7、.RSC的文件,點擊打開,GISDK開始編譯文件課程1:地點搜索的宏程序及程序測試選擇File-Open 或點擊工具欄中的,選擇Map為文件類型,打開GISDKSAMPLES文件夾中的LESSONS.MAP點擊GISDK工具箱中的,彈出測試Add-In框,在Type of Add-In列表中點擊Macro,并在名稱文本框中鍵入 “lesson1”點擊,TransCAD 查找在英里范圍內的點的位置,并彈出含有一列相應數據的內。框,距離在前地圖Click OK. TransCAD closes the dialog box.點擊,TransCAD 關閉框課程:添具箱課程2為用戶提供工具箱,用戶通過

8、點擊地圖獲取點的坐標工具箱是一個總顯示在屏幕最前端的交互式對地圖進行操作的工具框,它含有可以讓用戶在調用工具箱,調用了課程1中開發的獲取最近點的宏函數在編譯過程中,排版時發生的情況有意地在29行顯示GISDK碰到語法錯誤課程:添具箱轉換到文本編輯器,打開并檢查GISDKSAMPLES文件夾中的LESSON2.RSC文件轉換到TransCAD,點擊GISDK 工具箱的框,彈出編譯文件選擇GISDKSAMPLES文件夾中的LESSON2.RSC文件并點擊打 開, GISDK 編譯文件。當GISDK編譯器遇到語法錯誤時,將會創建錯誤,列出錯誤課程:添具箱再轉換到文本編輯器,去除29行中的閉括號,并保

9、存修改后的文件再轉換到TransCAD程序點擊GISDK 工具箱的,彈出編譯文件框選擇LESSON2.RSC 文件并點擊打開。這時, GISDK 將順利地編譯文件課程:添具箱點擊Lessons map ,使其為已激活的窗口點擊GISDK 工具箱,彈出測試Add-In框。在Type of Add-In中選中Macro,并在名稱文本框中鍵入“lesson2”點擊OK, add-in 開始運行并在屏幕中間顯示“Get Best Route” 工具箱點擊在地圖上點擊工具,然后點擊某地點5英里內的地圖。 add-in將顯示一排最近點的相關數據將搜索距離改為1英里,點擊任意地點1英里外地方,add-in將

10、顯示 “沒有點”的信息報告。關閉工具箱課程3:添加框點擊GISDK 工具箱的,彈出測試Add-In框,在Type ofAdd-In 中選中Macro ,并在名稱文本框中輸入“lesson3”點擊OK。 add-in 開始運行,并在屏幕中間彈出“獲取最優路線”框在點擊地圖工具中點擊,然后在某個地點5英里內點擊地圖。此時, add-in 彈出一個帶有有滾動列表的框選擇一個地點后點擊OK。 add-in 刷新地圖,縮放地圖以顯示您已點中的點和已選擇的城市。關閉工具箱課程4:從菜單中工具箱工具箱,相面將通過在上面我們通過宏測試來TransCAD 菜單欄中添加菜單,來直接將源代碼保存在序中的文件中,并將

11、他們編譯到一個程另外一個文件LESSON4.LST,包含有要編譯的源代碼文件的列表課程4:從菜單中工具箱文本編輯器打開并練習GISDKSAMPLES文件夾中的LESSON4.RSC和LESSON4.LST文件在TransCAD中,點擊GISDK 工具箱的,彈出編譯文件框選擇GISDKSAMPLES文件夾中的LESSON4.LST文件, 點擊打開。 GISDK 將開始把所列的兩個文件編譯為單一的程序點擊Lessons 地圖,確認其為激活的窗口課程4:從菜單中工具箱,彈出測試Add-In點擊GISDK 工具箱的框在名稱文本框中輸入“lesson4”點擊OK。Lesson 菜單將添加到菜單欄中,同時

12、它有一個命令:獲取最優路線選擇Lesson-Get Best Route, add-in 彈出在課程2創建的工具箱。這時,您就可以像以前一樣使用工具箱了。至此,完成了add-in課程5:安裝Add-in要使TransCAD 用戶可以應用GISDK 程序,必須把源的、單機可使用的UI數據庫,并文件編譯為一個以不同的名稱命名這樣,TransCAD的其他用戶就可以使用 UI數據庫用戶需要用Add-Ins框中的Setup選項,安裝add-in或用戶程序課程5:安裝Add-in點擊GISDK 工具箱中的框,彈出UI 數據庫編譯選擇GISDKSAMPLES 文件夾中的LESSON4.LST 文件,點擊打開

13、,彈出另存為框選擇含有TransCAD 程序文件的文件夾,鍵入“lesson4” 作為UI數據庫的名稱,點擊保存。 GISDK 將把文件編譯為課程4的UI數據庫課程5:安裝Add-in選擇Tools-Add Ins ,彈出Add-Ins框點擊Setup,彈出安裝 Add-Ins框點擊添加,創建新的add-in。默認的描述為“UntitledAdd-in”,調用的宏默認名稱為“Untitled”在單選列表中點擊Macro在Description 文本框中輸入“Get Best Route”課程5:安裝Add-in在Name 文本框中鍵入“lesson4”在UI Database 鍵入“lesso

14、n4”點擊OK,安裝add-in ,之后返回Add-Ins框點擊取消, TransCAD 關閉Add-Ins框課程5:安裝Add-in,運行安裝后的Add-in選擇Tools-Add Ins ,彈出Add-Ins框突出列表中的Get Best Route點擊OK, TransCAD 運行add-in課程6:創建用戶程序方便快速地啟動含有用戶程序的TransCAD的方法, 就是創建用戶程序圖標有兩種用戶程序,一種是完全用戶化的用戶界面,另外一種是添加的標準界面既然您已經將add-in 添加到了標準界面中,你可以再創建一個用戶程序圖標,這樣用戶就不需要做其他專門的工作,就能夠啟動add-in課程6

15、:開始創建用戶程序圖標TransCAD關閉您的文本編輯器通過按住Ctrl 鍵的同時,拖動圖標到新的地方,或者通過復制粘貼圖標,把TransCAD 程序圖標到桌面上右擊新的程序圖標,選擇Properties,彈出屬性框點擊基本設置( General )項,在編輯框中鍵入“TransCADwith Get Best Route”課程6:完成創建用戶程序圖標點擊Shortcut 項,在目標編輯框中輸入以下文字:-q -a lesson4 -ai lesson4 -n "TransCAD with Get Best Route“-q選項為關閉TransCAD快速啟動框, -a為備用UI數據庫

16、后的名稱, -ai為宏啟動名,而-n為程序窗口的新名稱點擊OK,關閉屬性框雙擊新程序圖標, TransCAD 就像用戶程序一樣,啟動add-in課程6:有關用戶程序的信息如果在課程4已經創建了完全用戶化的用戶界面,您可以不用標準界面,而用-u 和-i選項或者您的用戶程序,就可以啟動TransCAD用戶程序可以容易地擴展TransCAD功能您也可以使某些特殊用戶或者用途的界面簡單化,比如運行交通需求模型的簡單化環境,這種環境可以用批處理工具生成1 GISDK概述2快速啟動:GISDK示例3 GISDK語言基礎4 源文件5 GISDK函數 課程目標:學習如何用以下語言要素,編寫Caliper Sc

17、ript 編程語言的說明文件 Constants Variables Operators Keywords 用來編寫說明文件 Assignment Function call Flow control and comments常量變量運算符關鍵字指派函數調用流程和注釋語言要素語句,Caliper Script語句包含有4類的語言要素常量變量運算符關鍵字Constants Variables OperatorsKeywords源文件,一組實現特定功能的語句常量有數字:43, 257.941, 67.89E12字符串:"Hello", 'Goodbye'空:Nu

18、ll布爾數學體系的常量是一種特殊的數字常量,真1,否null或0在字符串常量中一些特殊字符,需要在其前端加上反斜線:"The next two words "have quotes" around them" 反斜線符號: "c:windowssys.ini“變量 名稱 以字母開始,可以含有多個字母、數字以及下劃線 長度任意:A_perfectly_good_name 區分大小寫:XY和xy是不一樣的類型 由指派語句決定 在用之前不需要特別 在后續的指派說明文件中,可以更改變量保留字在Caliper Script 編程語言中有些關鍵字不能作為變

19、量名,而且它們不區分大小寫do ifFalse Return not nullRunMacro RunDbox True變量類型整型:在-2,147,482,648 到2,147,482,647之間的數實型:在+-3.4E-38到3.4E+38之間的雙精度浮點數字符串:盡管某些用途的字符串限制為1000個字符或者但是實際上沒有最大的字符數限制數組:有很多要素,可以是一種混合型,變量類型復合型:使程序的某些功能變得更簡單的特殊對象布爾型:False (null or 0) or True (1)Null :空值;您可以使用TypeOf() ,查找變量類型變量數組顯項 含有dim(維數)的說明文件

20、: dim vars12, morevars10 將所有要素初始化為零隱項 使用括弧:short_list = "Point", "Line", "Area" 維數就是要素的數量您可以認為數組是變量的一組箱子變量數組可以是不同的類型mixedvars = 1, "Two", 3.0數組元素可以是數組dim two_lists2two_lists1 = 1, 2, 3two_lists2 = "First", "Second", “Third”提取元素時,需用方括號mixedv

21、ars3 is 3.0 two_lists21 is “First”變量數組連接數組“+” x=1,2 y=3,4 z=x+y / z=1,2,3,4指派或者連接一個數組到另外一個,并不是對數組進行。相反CopyArray() 表示對數組的。數組名.length表示數組隊列長度: ShowMessage(String(z.length) +' elements in z')可以在數組中應用函數Subarray(z, 2, 2) is 2, 3SortArray(), SaveArray(), LoadArray()變量數組數組選項含有每一個子列的選項 opts = "

22、Color", ColorRGB(0,0,0), "Line Width", 4.5您可以使用點符號以某單一值進行設置、獲取、添加和移除選項 opts.Color=ColorRGB(255,0,0)/set value prev_wid=opts.Line Width /get value opts.Font="Arial|12" /add option opts.Color=null/remove option您可以使用這些符號簡易地以名稱屬性管理數據結構常量與變量的練習轉換到文本編輯器,打開GISDKEXERCISE 文件夾中的源文件CON

23、STANTS AND VARIABLES.RSC檢查宏“Constants and Variables” ,查看將進行哪些操作再轉換到TransCADShowMessage()或ShowArray()顯編譯并測試宏,框,點擊OK示的各個復合變量一種特殊的目標對象,可以使某些函數更易編寫很多函數需要以復合變量作為變量或者返回復合變量,或者兩者皆是每一個復合變量都由相應的創建函數復合變量坐標:在世界上的某方位,創建為Coord()顏色:某種顏色,創建為ColorRGB()圓周:世上的圓形區域,創建為Circle()范圍:某一圖層或特性覆蓋的區域范圍,創建為Scope()填充類型:填充在地圖上某區域

24、內的圖案,創建為FillStyle()線型:地圖上的線條樣式,創建為LineStyle()復合變量文檔處理:打開文件的相關關變量,用OpenFile()創建樣本點:在地圖上顯示點的例子,用SamplePoint()創建樣本線:在地圖上顯示線的例子,用SampleLine()創建樣本區域:在地圖上顯示區域的例子,用SampleArea() 創建復合變量選擇器可以通過選擇器,取出或者修改復合變量的某些變量選擇器是一些緊隨變量名和周期的關鍵字您可以將選擇器應用于數組元素和其他選擇器復合變量選擇器坐標:經度和緯度firstpoint.lon, xyarray3.lat顏色:紅,綠和藍areastyle

25、.green圓周:半徑、圓心(不可設置)mycircle.center.lon范圍:中點,寬度,長度和旋轉度scopelist4.height變量范圍除非特別說明,變量作用范圍局限于某個宏或者框靜態變量(Static):如局部變量,但是如果將它們以靜態說明文件保留其值,下次使用GISDK 的宏或者框時,仍然可以共享變量(Shared):只要以共享說明文件羅列出來,可以應用于所有宏或者框全局變量(Global):可以應用于所有宏或者框在宏結束時,局部變量將會失去其值復合變量和變量范圍的練習轉換您的文本編輯器,打開GISDKEXERCISE文件夾源文件COMPOUND AND SCOPE.RSC檢

26、查“Compound and Scope” 宏,查看進行哪些操作再轉換到TransCAD復合變量和變量范圍的練習打開地圖文件,或者通過打開地理文件創建新的地圖把COMPOUND AND SCOPE.RSC 編入UI數據庫,將其設置為新的add-in “Compound and Scope”選擇Tools-Add-Ins, 選擇下拉菜單中的add-in,點擊OK在顯示的地圖上拖動一個矩形框,查看ShowMessage()的各個 之后點擊OK框,函數調用語法: return_value = FunctionName (Argument1, Argument2, .)函數名對不區分大小寫并不是所有的

27、函數都有自變量和返回值有些自變量可以忽略,以表示零、空值或者缺省值 如果不只一個變量的話,必須要用逗號函數調用有返回值的函數可以在表達式中應用很多函數都有一個數組選項作為最后的自變量,每一個選項是子數組: 第一元素:字符串形式的選項名稱 第二元素:數組選項所需的數據函數調用自變量的數量和表達式自變量可以為任意表達式,可以包括調用函數的返回值整型自變量必須獲取整型值實型自變量可以獲取實型或整型值函數調用表達式表達式是一個含用常量、變量、運算符以及函數調用的組合公式當運行表達式的時候,只能生成單一值表達式運算符算術符:將整型與實型表達式組合起來相關性:返回真或假邏輯性:使用布爾型的操作數,返回真或

28、假字符和隊列運算符:+,用于串聯算術運算符示例+ : 加- : 減或負* : 乘/ : 浮點數相除如果運算結果為整型,則表達式也為整型,否則表達式為實型運算符相等運算符eq or = : 相等或指派ne or <> : 不相等可以用于整型、實型、字符串型,以及其他表達式,比如顏 色關聯對比運算符 gt or > : 大于 lt or < : 小于 ge or >= : 大于等于 le or <= : 小于等于 只能用于整型、實型、字符串型表達式運算符Between.and. :大于等于第一個表達式,并小于等于第二個表達式Like * 或? :字符串相等,和通

29、配符*與?相當Contains:包含字符序列后兩個只能用于字符串表達式您可以在以下情況使用Not Not between.and. : opposite of between不在其間不相等的 Not like : opposite of like運算符&, && 或AND :邏輯與| 或OR :邏輯或! 或NOT:非邏輯運算符對不區分大小寫AND計算兩個操作數,以查看表達式為真或為假運算符運算符優先級1: 圓括號(內到外)2: 乘,除,負3: 加、減4: 比較(關聯運算符)5: 非(邏輯運算符)6: 與(邏輯運算符)7: 或(邏輯運算符)在運算符優先級相同時,從左到右運

30、算函數與表達式練習轉換到您的文本編輯器,打開GISDKEXERCISE文件夾的源文件FUNCTIONS AND EXPRESSIONS.RSC檢查宏“Functions and Expressions” ,查看進行哪些操作再轉換到TransCAD編譯并測試宏,查看ShowMessage()的各框后,點擊OK語句將表達式與關鍵字起來可以在一行添加多個語句一個語句也可以占用多行示例: Comments Assignment statements Function calls Goto statements If, For and While statements Return() function

31、注釋指派語句函數調用Goto語句If, For和While語句Return()函數注釋可以開始于任何地方某行雙斜線(“/”)后的部分就是注釋x = 1 / This is a commenty = x _ / Comments in a multi-+ 100 / line statement/* 可以用來中斷注釋文本,并以*/ 結束中斷指派語句對變量或數組元素賦值可以用指派語句stop = start + 100 array2 = 'Caliper'可以用來對選擇器進行賦值mycolor.red = 25000函數調用語句By themselves are statement

32、s本身就是一種說明If a function returns a value that is not assigned to a variable, the returned value is ignored如果函數返回的值不是變量的賦值,則返回值可忽略CenterMap(, newcenter)color15 = ColorRGB(34567, 0, 23631)Goto語句在同一個宏中,以表示將某操作轉換到另外一個地方可以緊跟任意字母序列、數字和下劃線,以及只跟隨目的文件的冒號if GetMaps() = null then goto skip map_list = GetMapNames

33、()skip:If語句如果表達式為真,執行一個或者一組語句如果表達式為假能夠執行一個或者一組語句時,也可以用Else子句如果是一組語句,可以附上Do 和End子句if x>100 then dox=1 y=y+1 endIf語句使用形式if expression then <statements> if expression thendo <statements> endif expression then <statements> else <statements>if expression thendo <statements&g

34、t; end else <statements>if expression then<statements> else do <statements> endif expression thendo <statements> endelse do <statements> endFor語句創建基于某計數變量的循環For variable = start_value to finish_value step step_sizedo <statements> endstart_value, finish_value 和step

35、_size必須為數值variable超過finish_value的制后,結束循環如果start_value 大于finish_value,循環結束,除非step_size為負值For語句示例for i=1 to 100 doxyi= xi*2endfor j=2 to site_count step 2 do RunMacro(“Select Sites”, j) endfor k=500 to 0 step -50 do RunDbox(“Countdown”, k) endWhile語句基于某條件開始循環While expressiondo <statements> end當布

36、爾型值為False,或者循環回到第一次循環,循環結束示例:while not FileAtEOF(file_handle) do RunMacro("Get Next Record", file_handle) endReturn 函數停止對宏或框的操作后,返回某一個值或者零Return(expression), or Return()框,比如OK或者在框中,只用于關閉整個Cancel 鍵示例:Return(“Done”) Return(x*1.414)錯誤程序運行時產生的錯誤以信息報告形式顯示: 發生錯誤的源文件名稱 檢測到錯誤發生的行數 九種錯誤類型的代碼用戶進行錯誤的

37、語句on exception goto labelon exception default / Cancels error handler on exception do <statements> goto label end on exception do < statements > Return() end語句和錯誤練習轉換到文本編輯器,打開GISDKEXERCISE文件夾的源文件STATEMENTS AND ERRORS.RSC檢查宏“Statements and Errors” ,查看進行哪些的操作再轉換到TransCAD編譯并測試宏,查看ShowMessag

38、e()顯示的各擊OK框后點1 GISDK概述2快速啟動:GISDK示例3 GISDK語言基礎4 源文件5 GISDK函數源文件用五種類型的創建源文件是嵌入程序和自定義應用程序的語言模塊,五種GISDK宏框 工具欄工具箱菜單:主要是GISDK 宏和框框工具欄和工具箱是特殊的的類型GISDK宏:像其它程序語言的子程序框:確定框里的項以及它們的作用工具箱:始終在屏幕前端的doesnt take over the application框,不能連接到程序工具欄:在菜單欄下方的水平帶狀菜單:確定菜單或者子菜單框源文件編碼設計文本格式關鍵字和函數名不區分大小寫,函數名大寫只是為了方便兩斜線(/)表示某行的

39、余下部分為注釋一個源文件中可以有很多源GISDK的宏含有一系列Caliper Script 編程語言的說明執行時: 用戶選擇某菜單項或者點擊工具欄的某按鈕 由RunMacro() 函數調用宏GISDK包含有特殊的初始宏,可以內含于框的源中GISDK宏結構Macro "macroname" (argument1, argument2)<statements go here>endMacro宏名稱區分大小寫,可以是任何字母、數字以及空格的組合GISDK宏變量宏函數中最多可以有八個可選擇的變量: 多余的變量被忽略的變量可以初始化為空值宏調用后,變量不可更改,除非: 變

40、量是數組 變量通過前綴“&”進行傳遞GISDK 宏可以通過共享變量或全局變量, 傳遞值GISDK宏返回值任何類型的單一值,包括數組,都可以通過Return() 函數返回如果宏以無返回值結束,那么它將返回null練習編寫、編譯并測試一個宏: 設置x = 2 調用第二個宏,以x為自變量 通過ShowMessage() 和String() 輸出返回值第二個宏: 變量相乘 以Return() 函數返回結果框含有用戶交互式使用的執行時:器,以及表示程序邏輯性的宏 用戶選擇某菜單項或者點擊工具欄的某按鈕 由RunDbox()函數調用框框-特性框可以連接程序An initialization mac

41、ro can be run to set up a dialog box before it isdisplayed在框彈出之前,可以初始化宏,設置框當調用Return() 函數時,用戶點擊OK或者Cancel 后,消失框從屏幕上框結構Dbox "dboxname" (argument1, argument2,.) hpos, vpos, width, height options<dialog box items go here> endDbox與宏相似,框:名稱也區分大小寫,可以是任意字母、數字和空格符的組合 能夠有多達八個可選擇的自變量通過Return()

42、可以返回單一值框位置可以指置hpos 、 vpos :以字符作為;兩者的默認位置都中心水平位置(hpos) 就是在左側邊緣,即較靠近框架的左邊,關鍵字為left, right 或者center垂直位置(vpos) 就是在頂端的邊緣,即較靠近框架的頂部,關鍵字為top, bottom 或者center框選項標題:title_expression框的標題必須是字符串 Evaluated after Init macro is executed; changes if the expression changes 執行初始化宏后要進行評價,并隨著表達式的變化而變化 If omitted, the n

43、ame of the dialog box is used如果忽略,框的名稱采用原來的幫助: help_specThe topic in the help file to display if the user presses F1 如果用戶按F1鍵,將會彈出含有標題的幫助文件位置:loc_x, loc_y, loc_width, loc_heightExpressions used to set the location of the dialog box設置框位置的表達式If stored (e.g. by declaring them as static), the dialog box

44、 will open at its new position the next time it is run如果保存(例如為靜態的框),在下一次運行的時候,對話框就會在新位置打開框項目按下按鈕(Push buttons) : 標準的Windows按鈕;可以有名稱或者圖標復選框( Checkboxes ): 可以選也可以不選的標志框編輯項( Edit items ): 可以輸入值的地方滾動列表( Scroll lists ): 在值列表中列出可供選擇的子窗口目錄結構( Tree views ): 文件夾列表中列出可供查看或者選擇的子窗口框項目下方彈出菜單( Popdowns ): 也稱窗口的下拉

45、菜單,和菜單相似,可以在位置框的任意項( Spinners ):微調 為通過箭頭的移動,對值列表進行排序而設計單選框列表( Radio lists ): 一組相互對立的按鍵,一次只能選取一個文本項( Text items ): 可選選擇添加文本框例子( Samples ): 示例在地圖上顯示點、線和面框項目例子按鈕( Sample buttons ): 示例項,可以像按鍵一樣使用框架( Frames ): 對其他項目真實地組合并指定在一定大小的長方形框中選項卡列表( Tab lists ): 以單頁組合在一起,一次只能顯示一頁宏項目( Macro items ):框中的宏初始項( Init i

46、tem ): 在框出現之前,運行特殊的宏框Type "itemname" position_info options do<statements go here> endItemThe item name is only needed to disable, enable, hide or show anitem dynamically項目名項不可用、可用、隱藏或者顯示位置信息是必須的,大小信息是可選擇的位置與大小兩者可以是小數 Can be fractional hpos 和 vpos可以為same 或after框的練習使用文本編輯器在GISDKEXERCIS

47、E 文件夾中打開源文件DBOXSAMPLER.RSC檢查源文件,以查看Caliper Script的“Dbox Sampler”程代碼再轉換到TransCAD框編編譯并測試源,試用框的所有項工具箱工具箱是一個出現在屏幕上的框,但是不與程序相連當調用RunDbox() 函數時,運行初始宏,并且RunDbox() 函數調用后立即返回A toolbox is identified with the Toolbox option工具箱通過Toolbox選項來識別出現NoKeyboard選項說明在交互使用時,工具箱不能只保持鍵盤的焦點工具箱UpdateDbox() 和CloseDbox()函數可用時,可

48、以激活特殊項: 更新項用于更新工具箱 關閉項用于關閉工具箱工具項用于交互地操作地圖 一旦激活其中一個,其他項就不能再激活 只有用戶在地圖上點擊時,工具才可用,然后點擊函數,確定交互操作工具欄工具欄是位于菜單欄下方的一組水平框項的工具欄通常是菜單項的快捷按鍵一次只能使用一個按鍵,但是多個按鍵可以同時出于活動狀態,可以輪流地顯示/隱藏當與某窗口有關聯時,工具欄可以自動顯示工具欄Toolbar "toolbar name" (arg1, arg2,.)<dialog box items go here>endToolbar各項按一定的順序排序只能對各項的長寬設置位置信

49、息SetDefaults()函數可以設定工具欄為某類型窗口的默認工具欄菜單用于定義菜單或者子菜單菜單項用于定義菜單中的選項菜單項可以是: 目前的菜單項 事先指定菜單項的名稱 The keyword Separator (dont use in top levels) 關鍵器( Separator ),不用于頂級菜單Windows選項可以添加所有打開的窗口到該菜單菜單結構"name" items go here><end菜單項有四種形式:Item "name" options“name”Item "name" options macro "name"Item "name" options dbox “name” Item "name

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論