版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1MapBasic基礎(chǔ)入門培訓(xùn)講課主要內(nèi)容第一部分:Mapbasic簡介第二部分:Mapbasic基礎(chǔ)第三部分:Mapbasic實例第四部分:討論第1頁/共24頁Mapbasic是Mapinfo公司在其桌面產(chǎn)品的基礎(chǔ)上推出的二次開發(fā)工具,用于擴(kuò)展MapInfo功能,實現(xiàn)程序的自動重復(fù)操作,并使MapInfo與其他應(yīng)用軟件集成等。一、Mapbasic簡介MapBasicMapXMapXtremeSpatialWareMapinfo系列產(chǎn)品MapX性能價格比較好,功能較強(qiáng)的OCX控件,在標(biāo)準(zhǔn)可視化開始環(huán)境下(如VB,C++,.net等),通過其可以將地圖對象嵌入到實際應(yīng)用中。MapXtreme是面向企業(yè)的基于Internet/Intranet的地圖應(yīng)用服務(wù)器.充分利用ISAPI,NSAP和CGI的優(yōu)越性,并可在任務(wù)Web服務(wù)器上運行,與Web服務(wù)器和瀏覽器有較好的兼容性。SpatialWare是在對象-關(guān)系數(shù)據(jù)庫環(huán)境下,基于SQL進(jìn)行空間查詢和空間分析的空間信息管理系統(tǒng)??蓪⑺械目臻g數(shù)據(jù)作為對象進(jìn)行存儲,可以以現(xiàn)有的柵格圖像文件為基礎(chǔ),利用Mapinfo專題圖,山坡投影和著色技術(shù)生成三維圖像。第2頁/共24頁一、Mapbasic簡介MapBasic集成環(huán)境與特征文本編輯器程序編譯器程序鏈接器聯(lián)機(jī)幫助文本編輯器(Editor)用于程序的編輯與修改。程序編譯器(Compiler)用于源程序編譯,以生成可執(zhí)行程序。程序鏈接器(Linker)用于將若干獨立的模塊鏈接成一個應(yīng)用程序。聯(lián)機(jī)幫助(Help)則為程序員在線提供MapBasic的每條語句或函數(shù)的詳細(xì)說明資料。第3頁/共24頁一、Mapbasic簡介MapBasic的文本編輯大小有限制,不能超過64KB,可用以下三種方法解決:1、用其他的文本編輯器編輯程序文件,再用MapBasic的[File]>[CompileFromFile]編譯該程序。2、把一個大的程序文件(.mb文件)分成兩個或多個較小的文件,然后用MapBasic的Include語句把多個文件組合成一個應(yīng)用程序。3、將一個大的程序文件(.mb文件)分成兩個或多個較小的文件,然后通過一個項目文件(ProjectFile)把這些小文件連接成一個應(yīng)用程序。[在某種程度上它與方法二有些相似,但方法三使用起來更有效,因為它可以單獨編譯每個模塊,這就意味著如果你只修改了其中的一個模塊,那么你只要對該模塊進(jìn)行重新編譯就可以了]第4頁/共24頁1、了解Mapbasic最基礎(chǔ)的內(nèi)容。(請參閱下頁第二部分內(nèi)容)2、充分利用自帶幫助文檔。(MapBasic提供了380多種函數(shù)和命令語句,可參見《Mapbasic參考手冊》)3、借助Mapinfo的mapbasic窗口。(在Mapinfo每操作一步,源代碼基本顯示在mapbasic窗口,為mapbasic開發(fā)中最常用輔助方式,如下圖:)一、Mapbasic簡介學(xué)習(xí)MapBasic開發(fā)一般方法:
1、勾選2、打開3、查看第5頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)二、Mapbasic基礎(chǔ)第6頁/共24頁二、Mapbasic基礎(chǔ)1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)1.注釋用英文單引號“’”來標(biāo)記注釋語句。2.程序輸寫不分大小寫。3.一條語句可分兩行或多行書寫。4.通過Define語句定義標(biāo)識符,它等價于一個特殊的值。例如:DefineMY_COLORl6711680(Mapbasic.def中用Define語句定義了許多標(biāo)準(zhǔn)MapBasic的標(biāo)識符。其中包括許多常用的顏色(例如BLACK,WHITE,RED,GREEN,BLUE,CYAN,MAGENTA和YELLOW)和其他標(biāo)識符,只要在程序開頭一般需要輸入下語句,就可以任意地使用這些標(biāo)識符了:Include“mapbasic.def”)5.Include語句的語法:
Include“filename”(這里filename是一個包含有MapBasic語句的文本文件。Filename還可以包括一個目錄路徑,如果沒有指定路徑,則編譯器在當(dāng)前工作目錄尋找該文件,如果沒有發(fā)現(xiàn),則編譯器又會在MapBasic安裝目錄下尋找)第7頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)1、字符串常量:
用兩個英文雙引號括起來表示的,雙引號不是字符串的一部分,字符串常量最長可以有65535個字符。2、數(shù)值常量:數(shù)值常量又分為整型常數(shù)(整型常量)和實型常數(shù)(實型常量)。3、邏輯常量:邏輯常量只有兩個值True和False。True為1,F(xiàn)alse為0。4、日期型常量:
2008年12月31日可以用兩種方法表示。用八位整數(shù)“YYYYMMDD”表示,如20081231。也可以用一個字符串表達(dá)式“MM/DD/YYYY”表示,如12/31/2008。二、Mapbasic基礎(chǔ)第8頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)1、全局變量:在程序中的任何過程中使用,用Global定義。2、局部變量:只能在定義它的函數(shù)或過程中使用,用Dim定義。規(guī)則:(1)變量名必須以字母、下劃線“_”或者“~”號開頭,后面可跟字母、數(shù)字、下劃線“_”和“#”,變量名最多可含31個字符。不能用MapBasic的關(guān)鍵詞作為變量名。(2)MapBasic支持?jǐn)?shù)值類型(如Interger,Float等)、字符類型(如string等)、對象類型(Object,Alias)、邏輯型(Logical)、日期型(如Date)和樣式類型(如Pen,Brush,Font,Symbol等)。(3)變量先聲明再使用,并且保證聲明的類型正確。Dim聲明局部變量(dimIasinteger),Global聲明全局變量(globaliiasinteger)。(4)MapBasic中只能定義一維數(shù)組變量,定義數(shù)組變量的方法是在變量后面加一對圓括號,圓括號中設(shè)定數(shù)組長度。如果在定義數(shù)組變量時,沒有定義大小則不能賦值,必須用ReDim重新定義大小后才能使用。(5)用Type…EndType語句可以定義一個用戶數(shù)據(jù)類型(CustomDateTypes)。用戶數(shù)據(jù)類型是一個或多個常規(guī)變量類型的組。一般情況下,把Type…EndType放在程序的開始處。二、Mapbasic基礎(chǔ)第9頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)表達(dá)式是由一個或多個常量、變量、函數(shù)、表和運算符組成的式子。表達(dá)式即可以簡單到用一個常量表達(dá),也可以由多個變量、常量、函數(shù)、表和操作符組成。例如:一條SQL表達(dá)式select*from表XXwhereType=8888二、Mapbasic基礎(chǔ)第10頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)運算符是作用于一個或多個常量、變量或其他值,從而產(chǎn)生一個結(jié)果,它的表達(dá)形式可以是一個字符(如+、*、>)、一個詞(如:And、Or、Not)或者是一個詞組(如:Contains)。①算術(shù)運算符(常用的有:+(加法)、-(減法)、*(乘法)、/(除法)、\(整除)、Mod(取余)、^(乘方))②字符串運算符(常用的有:+、&、Like)“+”和“&”可把兩個或多個字符串連接為更長字符串;“Like”執(zhí)行字符串比較。字符串可含有通配符“_”和“%”,“_”表任意一字符,“%”表任意一或多個字符。③日期運算符(常用的有:加號“+”和減號“-”)一個日期型值加上(或減去)一個整數(shù),將返回一個日期型值,表示該日期以后(或之前)的一個日期。兩個日期型值相減將返回一個整型值,表示兩個日期之間相隔的天數(shù)。④比較運算符(常用的有:=、<>、<、>、<=、>=、Between…And…)比較運算符通過比較兩個相同類型的項產(chǎn)生一個邏輯值:TRUE或FASLE。⑤邏輯運算符(常用的有:And、Or、Not)邏輯運算符對兩個邏輯值進(jìn)行運算,結(jié)果仍產(chǎn)生一個邏輯值。⑥地理運算符(常用的有:Contains、Within、Intersects)在Mapbasic中,可以使用下列地理運算符對表對象運算,其結(jié)果是產(chǎn)生一個邏輯值,例如:運算符
返回TRUE的情況Contains
第一個對象包含第二個對象的中心Intersects兩個對象相交注意:運算符的優(yōu)先級就是指在一個包含多個運算符的復(fù)雜表達(dá)式中,決定哪一個運算符優(yōu)先被執(zhí)行。MapBasic在同一行中的運算符的優(yōu)先級順序是:最高優(yōu)先級:圓括號();乘方^;*,/,Mod,\
+,-,字符串連接(+,&)地理運算符,比較運算符,LikeNotAnd最低優(yōu)先級:Or二、Mapbasic基礎(chǔ)第11頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)流控制結(jié)構(gòu)語句將影響到程序中語句的執(zhí)行順序,MapBasic主要有以下三種類型的流控制結(jié)構(gòu)語句:(1).分支語句(IF...Then、GoTo、DoCase)①If...Then語句②Do...Case語句③GoTo語句(2).循環(huán)語句(For...Next、Do...Loop、Do...While)①For...Next語句②Do…Loop語句③While...Wend語句(3).提供流控制的其他語句(EndProgram)①結(jié)束程序(EndProgram)②結(jié)束程序并退出MapInfo(EndMapInfo)二、Mapbasic基礎(chǔ)第12頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)一個典型的MapBasic程序由許多過程組成,每個過程都包含一組完成某一特定任務(wù)的語句。(1)主過程與子過程每個MapBasic程序至少有一個主過程,其余的過程(稱為子過程)都必須由主過程或別的子過程來調(diào)用,DeclareSub語句聲明下面將定義一個主過程或子過程。(2)過程的調(diào)用當(dāng)MapInfo運行一個已編譯好的應(yīng)用程序時,會自動調(diào)用主過程Main。在主過程中又可以通過Call語句調(diào)用其他子過程。(3)帶參數(shù)的過程調(diào)用如果一個子過程帶有參數(shù),那么它們要在DeclareSub語句和Sub…EndSub語句中先進(jìn)行聲明。聲明的方法是在過程名后面加上一對圓括號,括號里列出參數(shù)名及其類型。
(4)形式參數(shù)傳遞MapBasic過程參數(shù)是以形式參數(shù)的方法傳遞的,使用形式參數(shù)應(yīng)遵循以下規(guī)則:·在Call語句中必須指定一個變量名作為形式參數(shù)?!と绻徽{(diào)用的子過程賦了一個新的值給形式參數(shù),那么這個新的值將自動存到調(diào)用者的變量中。換句話說,子過程可以通過形式參數(shù)把值返回給調(diào)用者。二、Mapbasic基礎(chǔ)第13頁/共24頁1).基本語法規(guī)則2).常量3).變量4).表達(dá)式5).運算符6).流程控制結(jié)構(gòu)7).過程8).函數(shù)1、標(biāo)準(zhǔn)BASIC函數(shù)例如Asc()、Format()、Val()等。2、MapInfo或MapBasic特有函數(shù)例如Distance()、ObjectLen()、ObjectGeography()等。3、自定義用戶函數(shù)定義用戶函數(shù)語句的語法如下:Function
name([[ByVal]parameterAsdatatype][,[ByVal]parameterAsdatatype...])Asreturn_typestatement_listEndFunction注意:應(yīng)用程序中可以定義與標(biāo)準(zhǔn)MapBasic函數(shù)同名的用戶函數(shù)。當(dāng)程序調(diào)用這個名字的函數(shù)時,真正被調(diào)用的是用戶函數(shù)而不是標(biāo)準(zhǔn)函數(shù)。二、Mapbasic基礎(chǔ)第14頁/共24頁<一>、在講實例之前,我們了解一下如何創(chuàng)建MapBasic程序:1)運行MapBasic開發(fā)環(huán)境。2)選擇[File]>[New]打開一個編輯窗口。3)在編輯窗口中輸入一個MapBasic程序(書寫代碼)。4)選擇[File]>[Save],保存該文件,并為該文件輸入一個文件名,后綴名為.mb。5)選擇[project]>[CompileCurrentFile]<<快捷鍵為Ctrl+K>>,MapBasic將編譯你的程序,并自動生成一個相應(yīng)的可執(zhí)行文件(后綴名為.mbx)。6)啟動MapInfo系統(tǒng)。7)選擇Maplnfo主菜單中的[文件],[運行MapBasic程序],MapInfo提示你選擇一個你想運行的程序。注意:雙擊MapBasic執(zhí)行文件,可自動打開Mapinfo并加載程序。三、Mapbasic實例第15頁/共24頁<二>、快速瀏覽經(jīng)典的程序模板:Include“mapbasic.def”‘include語句,調(diào)用通用定義文件‘其他的Includc語句,如include“menu.def”
Type…EndType語句‘定義用戶數(shù)據(jù)類型
DeclareSub語句‘定義過程,最少都有一個主過程Declaresubmain
DeclareFunction語句‘定義用戶函數(shù)
Define語句‘定義標(biāo)識符
Global語句‘定義全局變量
…接下來是主過程定義…SubMain Dim語句‘局部定義變量
EndSub....接著是其他的子過程定義
Sub.... Dim語句
EndSub......用戶函數(shù)定義....Function.... Dim語句EndFunction三、Mapbasic實例第16頁/共24頁實例1:
最簡單的Mapbasic程序?qū)嵗c:體現(xiàn)Mapbasic程序的簡易性及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐飲企業(yè)外賣配送服務(wù)合同6篇
- 2025年度生物制藥研發(fā)與生產(chǎn)合同模板3篇
- 二零二五年度智能化別墅建造及智能化系統(tǒng)采購合同3篇
- 《養(yǎng)老機(jī)構(gòu)服務(wù)合同》示范文本
- 違法分包對揭陽匯金中心C項目影響評估合同(2025版)3篇
- 2025年網(wǎng)絡(luò)平臺肖像權(quán)授權(quán)使用合同3篇
- 二零二五年度蟲草資源保護(hù)與可持續(xù)利用合同范本3篇
- 2024私人之間的房屋買賣合同樣本
- 2024腳手架工程安全施工與技術(shù)服務(wù)協(xié)議版
- 2025年度智慧城市安全監(jiān)控系統(tǒng)設(shè)備采購合同2篇
- 橫格紙A4打印模板
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 重癥血液凈化血管通路的建立與應(yīng)用中國專家共識(2023版)
- 兒科課件:急性細(xì)菌性腦膜炎
- 柜類家具結(jié)構(gòu)設(shè)計課件
- 陶瓷瓷磚企業(yè)(陶瓷廠)全套安全生產(chǎn)操作規(guī)程
- 煤炭運輸安全保障措施提升運輸安全保障措施
- JTGT-3833-2018-公路工程機(jī)械臺班費用定額
- 保安巡邏線路圖
- (完整版)聚乙烯課件
- 建筑垃圾資源化綜合利用項目可行性實施方案
評論
0/150
提交評論