我是新手,真心請教大家,希望大家幫助!
求MapBasic資料
查看( 397 ) /
評論( 1 )
TAG:
-
陽光 發布于2008-02-25 09:42:43
-
Mapbasic參考手冊索引
一.Mapbasic語言概述 TOP
1.基本語法
變量
聲明局部變量和全局變量 Dim,Global
擴大或縮小數組變量 Redim,Ubound(),UnDim
聲明定制的數據結構 Type
循環和分枝
循環 For...Next,Exit for,Do...Loop,Exit Do,While...Wend
分枝 If...Then,Do Case,Go To
其它流程控制 End Program,Terminate Application,End Mapinfo
輸出和打印
打印窗口內容 PrintWin
輸出文本到信息窗口 Print
設置頁面窗口 Layout,Create Frame,Set Window
輸出一個窗口內容到文件中 Save Window
過程(Mn和Saiubs)
定義一個過程 Declare Sub,Sub...End Sub
調用一個過程 Call
退出一個過程 Exit Sub
Main過程 Main
錯誤處理
設置一個錯誤控制 OnError
返回當前錯誤信息 Err(),Error$()
從錯誤處理器返回 Resume
摸擬一個錯誤 Error
2.函數
定制函數
定義一個定制函數 Declare Function,Function...End Function
退出一個函數 Exit Function
數據轉換函數
轉換字符串為代碼的函數 Asc()
轉換代碼為字符串的函數 Chr$()
轉換字符串為數字的函數 Val()
數字轉換成字符串的函數 Str$(),Format$()
把數字或字符串轉換成日期的函數 NumberToDate(),StringToDate()
對象類型轉換函數 ConvertToRegion(),ConvertToPline()
字符串比較函數 Like(),StringCompare(),StringCompareIntl()
重復字符串序列 Space$(),String$()
把標注轉換為文本的函數 Lablelinfo()
日期和時間函數
獲取當前日期 CurDate()
抽取日期的某個部分 Day(),Month(),Weekday(),Year()
獲取系統時間 Timer()
數值或字符串轉換成日期函數 NumberToDate(),StrintToDate(),FormatDate$()
數學函數
三角函數 Cos(),Sin(),Tan(),Acos(),Asin(),Atn()
地理函數 Area(),Perimeter(),Distance(),ObjectLen()
隨機函數 Randomize,Rnd()
符號函數 Abs(),Sgn()
取整函數 Fix(),Int(),Round()
其它數學函數 Exp(),Log(),Minimum(),Maximum(),Sqr()
3.字符串函數
大小寫函數 UCase$(),LCase(),Proper$()
子串查找函數 InStr()
字符串提取函數 Left$(),Right$(),Mid$(),MidByte$()
刪除字符串首尾空格函數 LTrim$(),RTrim$()
把數值格式化為字符串 Format$(),Str$(),Set Format,
測定字符串長度 Len()
把字符轉換為代碼 Chr$(),Asc$()
字符串比較函數 Like(),StringCompare(),StringCompareIntl()
重復字符串序列 Space$(),String$()
獲取單位名 UnitAbbr$(),UnitName$()
4.表的操作
建立和編輯表
打開一個已存在的表 Open Table
關閉一個或多個表 Close Table,Close All
建立一個新的空表 Creat Table
把一個文件轉換為一個表 Register Table
表/文件的輸入/輸出 Import,Export
修改表的結構 Alter Table,Add Column,Creat Index,Drop Index,Creat Map,Drop Map 增加,編輯或刪除行 Insert,Update,Delete
整理表(刪除空記錄行) Pack Table
控制表設置 Set Table
保存表的最新編輯 Commit Table
放棄表的最新編輯 Rollback
重命名一個表 Rename Table
刪除一個表 Drop Table
表的查詢
定位行光標 Fetch,EOT()
迭擇數據,操作選擇命令 Select,SelectionInfo()
按地址查找圖對象 Find,Find Using,CommandInfo()
按位置查找圖對象 SearchPoint(),SearchRect(),SearchInfo()
獲取表的信息 NumTables(),TableInfo()
獲取列的信息 NumCols(),ColumnINfo()
查詢一個表的元數據 GetMetadata$(),Metadata
查詢無縫表 TableInfo(),GetSeamlessSheet()
遠程數據操作
與服務器通訊 Server_Connect()
開始遠程服務器操作 Server Begin Transaction
分配本機內存 Server Bind Column
獲取列信息 Server_ColumnInfo(),Server_NumCols()
發送一個SQL語句 Server_Execute()
定位行光標 Server Fetch,Server_EOT()
保存變化 Server Commit
放棄改變 Server Rollback
釋放遠程資源 Server Close
把遠程數據變為可成圖的 Server Creat Map
改變對象格式 Server Ser Map
使聯結表同步 Server Refresh
建立一個聯結表 Server Link Table
斷開聯結表 Unlink
取消與服器的聯結 Server Disconnect
恢復驅動器信息 Server_DriverInfo(),Server_NumDrivers()
獲取QELib的聯結句柄 Server_GetqeHConn()
獲取QELib的語句句柄 Server_GetqeHStmt()
ODBC聯結 Server_GetodbcHConn(),Server_GetodbcHStmt()
5.非表文件操作
文件的輸入與輸出
打開或建立一個文件 Open File
關閉一個文件 Close File
刪除一個文件 Kill
重命名一個文件 Rename File
復制一個文件 Save File
從文件中讀取數據 Get,Seek,Input #,Line Input #
向一個文件寫入數據 Put,Print #,Write #
測定一個文件的狀態 EOF(),LOF(),SeeK(),FileAttr(),FileExists()
轉變一個文件成表 Register Table
克服共享錯誤 Set File Timeout
文件與目錄
返回系統目錄 ProgramDirectory$(),HomeDirectory$(),ApplicationDirectory$()
提取文件名的某個部分 PathToTableName$(),PathToDirectory$(),PathToFileName$()
返回完整文件名 TrueFileName$()
讓用戶選擇文件 FileOpenDlg(),FileSaveAsDlg()
返回臨時文件名 TempFileName$()
6.Map和Graphy對象的操作
創建Map對象
創建語句 Create Arc,Create Ellipse,Create Frame,Create Line,Create Pline,Create
Point,Create Rect,Create Region,Create RoundRect,Create Text,AutoLabel
創建函數 CreateCircle(),CreateLine(),CreatePoint(),CreateText()
高級操作 Create Object,Buffer()
存對象于表中 Insert,Update
編輯Map對象
改變對象屬性 Alter Object
改變對象類型 ConvertToRegion(),ConvertToPLine()
設置編輯目標 Set Target
擦除對象某部分 Objects Erase,Erase(),Objects Intersect
合并對象 Objects Combine,Combine(),Creat Object,Objects Split
分離對象 Objects Split
在交接部位增加結點 Objects OverLay,OverLayNodes()
控制對象分辨率 Set Resolution
存貯對象于表中 Insert,Update
查詢Map對象
返回計算值 Area(),Perimeter(),Distance(),ObjectLen(),Overlap(),AreaOverlap(),
ProportionOverlap()
返回坐標值 ObjectGeography(),MBR(),ObjectNodeX(),ObjectNodeY(),Centroid(),
CentroidX(),CentroidY(),ExtractNodes(),IntersectNodes()
設置測量單位 Set Area Unites,Set Distance Unites,Set Paper Unites,UnitAbbr$(),
UnitName$()
設置坐標系統 Set CpprdSys
返回式樣設置 ObjectInfo()
查詢一個圖層的標注 LabelFindByID(),LabelFindFirst(),LabelFindNext(),Labelinfo()
對象式樣的操作
返回當前式樣 CurrentPen(),CurrentBrush(),CurrentSymbol(),CurrentFont()
返回式樣屬性 StyleAttr(),PenPattern()
建立式樣值 MakePen(),MakeBrush(),MakeFont(),MakeSymbol(),MakeCustomSymbol()
MakeFontSymbol(),Set Style,RGB()
查詢對象的式樣 ObjectInfo()
修改對象式樣 Alter Object
重裝符號式樣 Reload Symbol
式樣子句 Pen clause,Brush clause,Symbol clause,Font clause
Map窗的操作
打開一個Map窗 Map
增加一個圖層 Add Map
除去一個圖層 Remove Map
標注一個圖層的對象 AutoLabel
查詢一個圖的設置 MapperInfo(),LayerInfo()
改變一個圖的設置 Set Map
建立或編輯專題圖層 Shade,Set Shade,Create Ranges,Create Styles
查詢一個圖層的標注 LabelfindByID(),LabelFindFirst(),LabelfindNext(),Labelinfo()
7.建立用戶介面
按鈕板(工具條)
建立一個新按鈕板 Creat ButtonPad
修改一個按鈕板 Alter ButtonPad
修改一個按鈕 Alter Button
查詢按鈕板狀態 BottonPadInfo
對按鈕使用的響應 CommandInfo
恢復標準(默認)按鈕板 Creat ButtonPads As Default
對話框
顯示標準對話框 Ask(),Note,ProgressBar,FileOpenDlg(),FileSaveAsDlg()GetSeamlessShet()
顯示定制對話框 Dialog
對話框處理器操作 Alter Control,TriggerControl(),ReadControlValue(),Dialog Preserve,
Dialog remove
檢測用戶是否按擊OK CommandInfo(CMD_INDO_DIG_OK)
使進度條不可用 SetProgressBars
修改一個標準MAPINFO對話框 Alter MapInfoDialog
菜單
定義一個新菜單 Create Menu
重定義菜單條 Create Menu Bar
修改一個菜單 Alter Menu,Alter Menu Item
修改菜單條 Alter Menu Bar,Menu Bar
執行菜單命令 MenuitemInfoByHandler()
查詢某個菜單項的狀態 MenuitemInfoByID()
窗口
顯示或隱藏一個窗口 Open Window,Close Window,Set window
打開一個新窗口 Map,Browse,Graph,Layout,Create Redistricter,Create Legend
檢測一個窗口的標識 FontWindow(),WindowID()
修改一個已存在的窗口 Set Map,Shade,Add Map,Remove Map,Set Browse,Set Graph,Set Layout,
Create Frame,Set Legend,Set Redistricter,StatusBar
返回一個窗口的設置 WindowInfo(),MapperInfo(),LayerInfo()
打印一個窗口 PrintWin
控制窗口重畫 Set Event Processing,Update Window
計算窗口數 NumWindows(),NumAllWindows()
隱藏瀏覽窗口中的列 Reproject
系統事件處理器
對選擇的反應 SetChangeHandler
對關閉窗口的反應 WinClosedHandler
對圖窗變化的反應 WinChangeHandler
對窗口活化的反應 WinfocusChangedHandler
對DDE請求的反應 RemoteMsgHandler,RemoteQueryHandler()
對OLE自動化方法的反應 RemoteMapGenHandler
提供定制工具 ToolHandler
對應用程序結束的反應 EndHandler
對MAPINFO獲得或失去活化窗口的反應 forgroundTaskSwitchHandler
使事件處理器不可用 Set Handler
8.與別的應用程訊序的通訊
DDE(動態數據交換,僅Windows)
開始一個動態數據交換對話 DDEInitiate()
發送一個動態數據交換命令 DDEExecute
經由DDE(動態數據交換)發送一個值 DDEPoke
經由DDE(動態數據交換)接收一個值 DDERequest$()
關閉一個DDE(動態數據交換)對話 DDETerminate,DDETerminateAll
對一個請求的響應 RemoteMsgHandler,RemoteQueryHandler,CommandInfo(CMD_INFO_ MSG)
集成圖(只限在Windows下)
設置MAOINFO父窗口 Set Application Window
設置一個Map窗的父窗口 Set Next Document
建立一個圖例窗口 Create Legend
萍果機事件(只限在Macintosh下)
開始一個對話 AEInitiate()
發送DoScript事件 AEExecute()
響應一個事件 RemoteMsgHandler
9.特殊語句和函數
起動另外的程序 Run Program
返回系統信息 SystemInfo()
把一個字符串作為解釋命令執行 Run Command
保存一個工作現場文件 Save Workerspace
裝入一個工作現場文件或MBX文件 Run Application
設置數字化板 Set Digitizer
發送一個聲音到揚聲器 Beep
通過CommandInfo設置數據可讀 Set Command Info
設置拖位對象的延遲時間 Set Drag Threshold
投影和坐標系統 ChooseProjection$()
二.Mapbasic各函數和語句的名稱及其作用 TOP
語句和函數名稱 所在頁碼 功能
Abs() 15 返回一個數的絕對值
Acos() 16 返回一個數的反余弦值
Add Column 17 在打開的表中,增加一臨時的新列,或者用別的表的數據來更新一個已有的列
Add Map 22 向Map窗加一圖層
AEExecute() 24 發送一個DoScript事件給萍果事件服務程序
AEInitiate() 25 建立一個通過AEExecute()函數發送蘋果事件時要用的蘋果事件通道說明符
Alter Botton 26 使按鈕板(工具條)上的一個按鈕可用,不可用,被選擇或脫離選擇
Alter BottonPad 27 顯示或隱藏按鈕板,增加或去除按鈕
Alter Control 32 改變活化的定制對話框內控件的狀態
Alter MapInfoDialog 34 使Mapinfo標準對話框中的控件不可用,隱匿或被賦予新值
Alter Menu 37 從一存在菜單中增加或去除某一菜單項
Alter Menu Bar 40 增加或去除菜單條上的菜單
Alter Menu Item 42 改變指定菜單項的狀態(可用或不可用)
Alter Object 44 修改一個對象的形狀,位置或圖形式樣
Alter Table 48 改變表結構(不能用于鏈結表)
ApplicationDirectory$() 50 返回當前正在執行的MapBasic應用程序的路徑字串
Area() 51 面積函數,返回一個對象的地理面積
AreaOverlap() 52 返回兩個封閉對象重疊的面積
Asc() 53 返回字符串頭一字符的字符碼[如Asc("Abcde"為65]
Asin() 54 返回一個數的反正弦值
Ask() 55 顯示一個對話框給用戶提出一個回答Yes/No(OK/Cancel )的問題
Atn() 56 返回一個數的反正切值
AutoLabel() 57 給出Map窗中的標注,并把標注存入裝飾層
Beep 58 發出一個嗶聲
Browse 59 打開一新的Browser窗口
Brush 61 為圖形對象指定一種填充式樣
Buffer() 63 返回代表一個緩沖區的區域對象(在已有對象的指定緩沖距離內的區域 ) BottonPadInfo() 64 返回有關按鈕板的信息
Call 65 調用過程或外部子程序
Centroid() 67 返回對象的形心(中心點)
CentroidX() 68 返回對象形心的X坐標
CentroidY() 69 返回對象形心的Y坐標
CharSet 70 指定MapBasic用哪一套字符集作為解釋字符碼
ChooseProjection$() 補124 顯示選擇投影對話框并返回用戶選擇的坐標系統
Chr$() 73 返回對應指定字符碼的單字符字串
Close ALL 74 關閉所有打開的表
Close File 75 關閉一個打開的文件
Close Table 76 關閉一個打開的表
Close Window 77 關閉或隱藏一個窗口
ColumnInfo() 78 返回一打開表中某列的信息
Combine() 80 返回代表兩個對象聯合的一個區域或折線
CommandInfo() 81 返回最近事件的有關信息
Commit Table() 85 把最新的編輯存盤或保存一個表的備份
Continue 87 繼續執行MapBasic程序(在Stop語句后)
Control Button/OKButton/CancelButton 88 Dialog(對話框)語句的一部分,把一彈性按鈕控件加到對話框內
Control CheckBox 89 Dialog 語句的一部分,把一檢查框控件加到對話框中
Control EditText 90 Dialog語句的一部分,把一個編輯文本控件加到對話框中
Control GroupBox 91 Dialog語句的一部分增加一個帶標題的矩形框到對話框內
Control ListBox/MultiListBox 92 Dialog語句的一部分,把一個列表控件加到對話框內,ListBox(列表框內)控件與MultiListBox(多選框)控件的區別僅在于用戶可以在后者中通過Shift-Click一次選取多個項
Control PenPicker/BrushPicker/SymbolPicker/FontPicker 94 Dialog語句的一部分,加上一個鈕以顯示線形,充填,符號(點)或字體(文本)的樣式
Control PopupMenu 95 Dialog語句的一部分,把一個彈出式菜單控件加到對話框內
Control RadioGroup 97 Dialog語句的一部分,把一組無線電按鈕加到對話框內
Control StaticText 99 Dialog語句的一部分 ,把一個標注按鈕加到對話框中
ConvertToPline() 100 返回一個形狀近似于某個對象的折線對象
ConvertToRegion() 101 返回一個形狀近似于某個對象的區域對象
CoordSys 102 確定坐標系統
Cos() 105 返回一個數的余弦
Create Arc 106 創建一個弧
Create ButtonPad 107 創建按鈕板(工具條)
Create ButtonPads As Default 110 創建系統默認的按鈕板(工具條)恢復標準按鈕板(如Main按鈕板)到它的默認狀態
Create Circle() 111 返回表示一個園的對象值
Create Ellipse 113 創建一個橢園或園對象
Create Frame 114 在頁面窗中創建新框架
Create Index 116 在一個打開表中為某列創建一個索引
Create Legend 117 創建一個新的,與特定Map或Graph窗相連系的圖例窗口
CreateLine() 118 返回表示一條線的對象值
Create Line 119 創建一個線對象
Create Map 120 修改表的結構,使之可以以圖形的形式顯示
Create Menu 121 新建或重定義一個菜單
Create Menu Bar 127 重構整個菜單條(用可獲得的菜單)
Create Object 129 用Buffer、Merge、Intersect或Union操作來創立一個或多個區域對象
Create Pline 132 創建一個折線對象
CreatePoint() 133 返回表示一個點的對象值
Create Point 135 創建一個點對象
Create Ranges 136 計算專題的各個區間值并將其存貯一數組中,然后能用于Shade語句中
Create Rect 139 創建一個矩形或正方形
Create Redistricter 140 開始一個重新分區操作
Create Region 141 創建區域對象
Create Roundrect 143 創建一個圓角矩形對象
Create Styles 144 組建一套線、充填或符號式樣并將其貯存到一數組中
Create Table 146 創建一新(屬性)表
CreateText() 148 返加一個為某特定Map窗創建的文本對象
Create Text 150 為Map或Layout窗口創建一文本對象,如標題之類
CurDate() 151,補121 返回當前日期(以YYYYMMDD格式)
CurrentBrush() 152 返回當前正用的充填式樣
CurrentFont() 153 返回當前正用于Map和Loyout窗的字體式樣
CurrentPen() 154 返回當前正用的線型
CurrentSymbol() 155 返回當前正用的符號式樣
Day() 156 返回日期表達式年月日中的日(部分)
DDEExecute 157 通過一個打開的DDE通道發送一條命令
DDEInitiate() 158 初始化一個新的DDE通道并返回一個連結的通道號
DDEPoke 162 發送一個數據值到DDE服務器應用程序中的某個項目
DDERequest$() 163 返回一個從DDE通話中獲得的數據值
DDETerminate 165 關閉一個動態數據交換通話
DDETerminateALL 166 關閉先前被某些MapBasic程序打開的所有動態數據交換通話
Declare Function 167 定義一個函數的名稱及參數表
Declare Sub 169 標識一個子過程的名字及參數表
Define 172 用常數值定義一個定制的關鍵字(保留字)
DeformatNumber$() 173 從表示一個數的字串中去除格式化
Delete 174 從一個表中刪除一個或多個圖形對象,或一個或多個整行
Dialog 175 顯示一個定制對話框
Dialog Preserve 181 在用戶按擊了OK或Cancel之后重新活化一個定制對話框
Dialog Remove 182 從屏上移去一對話框
Dim 183 定義一個或多個變量
Distance() 187 返回兩個位置之間的距離
Do Case...End Case 188 根據一表達式的當前變量來決定執行哪一組語句
Do...Loop 190 定義一個循環,它將執行到指定的條件變為TRUE(或FALSE)為止
Drop Index 192 刪除一個表的索引
Drop Map 193 刪除一個表中所有圖形對象(不能用于鏈結表)
Drop Table 194 全面地刪除一個表
End MapInfo 195 結束MAPINFO
End Program 196 結束MAPBASIC應用程序
EndHandler 197 保留的過程名,一個應用程序結束時自動調用
EOF() 198 如果MapBasic試圖讀一個文件尾返回TRUE,否則返回FALSE
EOT() 199 如果MapBasic已經到達指定表的表尾返回TRUE,否則返回FALSE
Erase() 200 返回通過擦除另一對象的一部分而建立的一個對象
Err() 201 返回代表當前錯誤的一個數字代碼
Error 202 仿真錯誤條件的出現
Error$() 203 返回一個描述當前錯誤的信息
Exit Do 204 提前結束DO循環
Exit For 205 提前結束FOR循環
Exit function 206 退出一個 Functrion...End Function 結構
Exit Sub 207 退出一個Sub過程
Exp() 208 返回 e 的指定方次的一個數
Exprot 209 把表輸出成另一種文件格式
ExtractNodes() 212 返回一個由已存在的對象的結點子集建立的折線或區域
Fetch 213 設置一個表的光標位置(即哪一行是當前行)
FileAttr() 215 返回一打開文件的信息
FileExists() 216 返回表示某個文件是否存在的邏輯值
FileOpenDlg() 217 顯示一個File Open對話框并返回用戶所選擇的文件名
FileSaveAsDlg() 219 顯示一個Save As對話框并返回用戶所輸入的文件名.
Find 220 查找可成圖的表中的一個位置
Find Using 223 規定在隨后的Find操作中要搜索哪些表和哪些列
Fix() 224 返回一個通過去掉一個十進制值的小數部分得到的整數值
Font 225 指定一個文本式樣
For...Next 227 定義一個循環,它將執行指定的次數
ForegroundTaskSwitchHandler 229 一個保留的過程名,它是在MapInfo獲得了焦點(有了活化的應用程序)或失去了焦點(另一個應用程序變活)時自動調用的
Format$() 230 返回一個表示定制格式的數的字串
FormatNumber$() 232 返回一個表示含有千分位分隔符和小數點分隔符的數的字串(分隔符的樣式與用戶的系統配置相關)
FrontWindow 233 返回活動窗口的整數標識
Function...End function 234 定義一個定制函數
Get 237 從一個以二進制或隨機存取模式打開的文件中讀取
GetMetadata$() 239 從一個表的中獲取元數據
GetSeamlessSheet() 240 提示用從無縫表中選擇一個片,并返回被選片的名字
Global 241 定義一個或多個全程變量
Goto 242 跳轉到由標號標識的另一個位置(在同一過程內)
Graph 243 打開一新Graper窗口
HomeDirectory$() 244 返回一個表示用戶的home目錄路徑的字串
If...Then 245 根據一個或多個表達式決定執行哪一個語句塊
Inport 247 通過輸入一個過去輸出的文件,例如DXF文件建立一個新的MapInfo表
Include 250 包進一個單獨的文本文件的內容,使之成為一個MapBasic程序的一部分
Input # 251 讀文件中的數據并將其保存在變量中
Insert 252 向一個打開的表追加新行
InStr() 254 返回指示一子串第一次出現在另一字串內的字符位
Int() 255 返回去掉十進制小數部分的整數值
InterSectNodes() 256 計算兩個對象相交的點集,并返回一個包含各交點的折線對象
Kill 257 刪除文件
LabelFindbyID() 258 初始化一個內部標注指針,以便你能查詢圖層某個指定行的標注
LabelFindFirst() 260 初始化一個內部標注指針,以便能查詢某個圖層的第一個標注
LabelFindNext() 261 推進內部的標注指針,以便你能查詢某個圖層的下一個標注
LabelInfo() 262 返回一個圖的某個標注信息
LayerInfo() 265 返回某Map窗的一圖層的信息
Layout 269 打開一新的頁面窗口
LCase$() 270 返回一字串的小寫字符串
Left$() 271 返回一個字符串的一部分或全部,從字符串的左端開始
Len() 272 返回一個字符串的字符個數或一個變量的字節數
Like() 273 返回TRUE或FALSE以表明一字符串是否符合格式匹配標準
Line Input 274 從一個連續的文本文件中讀一行賦給一個變量
LOF() 275 返回一打開的文件的長度
Log() 276 返回一個數的自然對數
LTrim$() 277 去除字符串左端空格字符并返回結果
Main 278 一個應用程序運行時調用的第一個過程
MakeBrush() 280 返回填充圖案值
MakeCustomSymbol() 281 返回基于一個BMP文件的符號值
MakeFont() 282 返回一個字體值
MakeFontSymbol() 283 返回一個符號值,用出自TrueType字體的一個字符作為符號
MakePen() 284 返回一線型值
MakeSymbol() 285 返回一符號值,用出自MapInfo3.0版符號集的字符
Map 286 打開一新Map窗
MapperInfo() 288 返回一Map窗的坐標或距離
Maximum() 290 返回兩個數中之較大者
MBR() 291 返回一矩形對象,代表限制另一對象的最小矩形
Menu Bar 292 顯示或隱藏菜單條
MenuitemInfoByHandler() 293 返回MAPINFO菜單項的信息
MenuitemInfoByID() 295 返回MAPINFO菜單項的信息
Metadata 296 管理一個Table的元數據
Mid$() 299 返回從另一字符串中間抽出的一個字符串
MidByte$() 300 訪問雙字節系統的一個字符串中的單個字節
Minimum() 301 返回兩個數中的較小者
Month() 302 返回年月日中的月(1-12)
Note 303 顯示一個簡單的信息于對話框中
NumAllWindows() 304 返回MapInfo占有的窗口數,包括按鈕板和信息窗之類的特殊窗口
NumberToDate() 305 給定一個整數,返回一日期值
NumCols() 306 返回一指定表的列數
NumTables() 307 返回當前已打開表的個數
Numwindows() 308 返回已打開的文檔窗口的個數(Map,Browse,Graph,Layowt)
ObjectGeography() 309 返回一描述一圖形對象的坐標或角度信息
ObjectInfo() 311 返回描述一圖形對象的線型,填充式樣或其他值
ObjectLen() 314 返回一直線或折線對象的地理長度
ObjectNodeX() 315 返回區域或折線對象一接點的X坐標
ObjectNodeY() 317 返回區域或折線對象一接點的Y坐標
Objects Combine 318 聯合在一個Table中的對象,與MapInfo的Objects>Combine 對應
Objects Erase 320 刪除目標對象被選擇的部分;與Object>Erase對應
Objects Intersect 322 刪除未被選擇的目標對象部分;與Object>EraseOutside對應
Objects Overlay 323 在目標對象與當前所選對象相交的位置,向目標對象上增加結點
Object Split 324 分離目標對象,用當前選擇的對象作“切割器”
OnError 326 使一錯誤處理子程序可用
Open File 328 打開文件供輸入或輸出(input/ortput)
Open Table 331 打開MapInfo 表供input/output
Open Window 333 打開或顯示一窗口
Overlap() 334 返回一對象,代表兩對象的地理相交部分,結果類似于MapInfo的Object> Erase Outside
OverlayNodes() 335 返回基于先存對象的一個對象,在它與第二個對象相交的地方加上了新結點
Pack Table 336 提供MapInfo的Table>Maintenance>Pack Table命令的功能
PathToDirectory$() 337 給定一個文件標識,返回該文件目錄
PathToFileName$() 338 給定一個文件標識,僅返回文件名(不帶目錄)
PathToTableName$() 339 給定一個完整的文件標識,返回一個代表Table別名的字符串,如 "-1995-Data"
Pen 340 為圖形對象指定一種線型
Penpattern () frnction 補123 返回線條格式
Perimeter() 342 返回圖形對象的周長
Print 343 在信息窗口中顯示一個提示或狀態信息
Print # 345 把數據寫入一個以順序模式打開的文件(Output 或Append)
PrintWin 346 打印一存在的窗口
ProgramDirectory$() 347 返回安裝MAPINFO的目錄路徑
ProgressBar 348 顯示一個帶有CANCEL按鈕和橫向進度條的對話框
Proper$() 351 返回大小寫混合的字符串,每個詞僅第一個字母大寫
ProportionOverlap() 352 返回一對象被另一對象履蓋的百分比(數字)
Put 353 把一個MAPINFO變量的內容寫到一個打開的文件中
Randomize 354 初始化MapInfo的隨機數函數
ReadControlValue() 355 讀取活化對話框中某一控件的當前狀態
ReDim 357 重定義數組變量
Register Table 359 由電子表格/數據庫/文本文件(不由柵格映象)構造MapInfo Table
Reload Symbols 361 打開并重新裝載MapInfo符號文件;這能改變顯示于 Options>Symbol Style 對話框中的符號集
RemoteMapGenHandler 362 一個保留的過程名,在OLE自動化的客應用程序調用MapGenHandler 自動化方法時被調用
RenotemsgHandler 363 一個保留的過程名,遠端應用程序發送一個執行信息時調用
RemoteQueryHandler() 365 一個特殊的函數,當一個MapInfo程序起著DDE的服務器作用,并且 這個DDE客應用程序執行一個"Peek"請求時調用
Remove Map 367 從Map窗中移去一個或多個圖層
Rename File 368 改變一個文件的名字
Rename Table 369 改變構成一個Table的多個文件的名字(和位置)
Reproject 370 指定(在被瀏覽的表中)下一次要顯示的列
Resume 371 從OnError錯誤處理器返回
RGB() 372 返回由紅、綠、蘭三組份計算出的RGB彩色值
Right$() 373 返回從一字符串右端開始的部分或全部字符
Rnd() 374 返回一隨機數
Rollback 375 放棄一個Table的未存盤編輯
Round() 376 返回由另一個數舍入而成的數
RTrim$() 377 去除字符串右邊的空格,返回其結果
Run Application 378 運行一個MapBasic應用程序或增加一個MapInfo的工作現場
Run Command 379 運行一個用字符串表示的MapBasic命令
Run Menu Command 381 運行一個MapInfo菜單命令,如同用戶選擇一個菜單項,也能用于選 擇一個按鈕板上的按鈕
Run Program 382 運行一可執行程序
Save File 383 復制一個文件
Save Window 384 把一窗口圖像存盤為一文件,與File>SaveWimdow As對應
Save Workerspace 386 創建一個表示當前MapInfo操作的工作現場文件
SearchInfo() 387 返回SearchPomt()或 SeachRect()產生的搜索結果信息
SearchPoint() 390 搜索給定X、Y坐標位置上的Map對象
SearchRect() 391 搜索繪完矩形范圍內的Map對象
Seek() 392 返回當前文件的位置
Seek 393 設置當前文件位置,為下一個文件的輸入輸出作準備
SelChangedHandler 394 一個保留的過程,被選擇的若干行發生變化時自動調用
Select 395 從一個或多個打開的表選擇特定的若干行和列,并把所得的結果處理為一 個單獨的臨時表,還提供數據排序和小計的功能
SelectionInfo 403 返回有關當前選擇的信息。注:所選擇的標注不算“選擇”,因為標注不是 的完整的對象,它們只是另一對象的屬性
Server Begin Transation 404 要求遠程服務器開始一個新工作單元
Server Bind Column 405 指定能被遠程服務器使用的本機存儲器
Server Close 407 釋放與運行遠程數據訪問語句相聯系的資源
Server_ColumnInfo() 408 獲取結果集中的列信息
Server Commit 410 把當前工作單元保存到數據庫中
Server_Connect() 411, 補95 建立與遠程數據服務器的通訊連系
Server Create Map 427,補106 這個功能為服務器表標識空間信息,它增加空間列但不改變原表
Server Disconnect 429 關閉經由Server-Connect建立起來的與遠程數據服務器的通訊聯系
Server_DriverInfo() 430 獲取已安裝的工具箱和數據源的信息
Server_EOT() 431 檢測是否到達結果表的終點(經由 Server Fetch語句)
Server_Execute() 432 發送一個在遠程數據服務器上執行的字串
Server Fetch 433 獲取遠程數據服務器中最后設置的行
Server-GetodbcHConn() 補91 返回與遠程數據庫連接的ODBC連接句柄
Server-GetodbcHStmt() 補92 返回與MapBasic Server語句相聯系的ODBC語句句柄
Server_GetqeHConn() 435 返回與遠程數據庫連接相關的qeLib聯系句柄
Server_GetqeStmt() 436 返回與MapBasic Server語句相關的qeLib語句句柄
Server Link Table 437 建立連接表
Server_NumCols() 439 獲取結果集中的列數
Server_NumDrivers() 440 返回為從MapInfo訪問而在當前已安裝的數據庫連接工具箱個數
Server Refresh 441 重新使連接表與遠程數據庫數據同步,這個命令只能在未對連接表進行 編輯時使用
Server Rollback 442 放棄對遠程服務器作出的變化
Server Set Map 443 改變ODBC表的對象類型
Set Application Window 444 設定哪一個窗口為已打開的對話框的父窗
Set Area Units 445 設置MapBasic默認的面積單位
Set Browse 446 修改一個已存在的BROWSER窗口
Set Command Info 447 把值存入內存中,別的過程可調用CommandInfo()來獲取這些值
Set CoordSys 448 設置MapBasic使用的坐標系統
Set Digitizer 449 建立圖紙在數字化板上的坐標,也打開或關閉數字化模式
Set Distance Units 451 設置隨后地理操作如創建對象要使用的距離單位
Set Drag Threshold 452 設置拖拉圖形對象要等待的延遲時間
Set Event Processing 453 臨時關閉或打開事件處理以避免不必要的屏幕更新
Set File Timeout 454 當文件共享沖突發生時讓MapInfo 重試文件I/O操作
Set Format 455 控制MapBasic如何處理表示日期或數值的字符串
Set Graph 457 修改一個已存在的Graph窗口
Set Handler 461 使自動調用系統處理器過程(如SelChangeHandler)可能或不能
Set Layout 462 修改一個已存在的Layout窗口
Set Legend 464 修改Legend(圖例)窗口
Set Map 466 修改一個已存在的Map 窗口
Set Next Document 477 使一MapInfo 檔案窗口重新成為父窗(以便一個Map窗變為一個VB應用程序 的子窗)
Set Paper Unites 479 設置描述屏幕大小和位置量度的紙單位
Set ProgressBars 480 設置禁止或允許進度條對話框顯示
Set Redistricter 481 在重分區操作時改變分區表的特征
Set Resolution 483 設置對象的編輯分辨率;當一個對象轉變為另一對象類型時控制著配給對象的結點數
Set Shade 484 修改一個專題(Thematic)圖層
Set Style 485 重置當前的線型、充填式樣、符號或字體類型
Set Table 486 設置一打開表的各屬性
Set Target 488 設置或刪除正在編輯的Map的目標對象
Set Window 489 改變窗口位置、大小、標題或狀態
Sgn() 493 返回符號-1,0,1以表明所指定的數是負的、零或正的
Shade 494,補109 建立一專題圖層并把它加到一己存在的Map窗中
Sin() 503 返回一個數(弧度)的正弦
Space$() 504 返回一個僅由空格組成的字符串
Sqr() 505 返回一個數的平方根
StatusBar 506,補108 顯示或隱匿狀態條,或在其中顯示一條簡要信息
Stop 507 把一個正在運行的MapBasic 應用程序掛起來,以便調試
Str$() 508 返回表示一個表達式的字串(如一個數的打印輸出)
String$() 509 返回一個由重復-指定的字符若干次構成的字符串
StringCompare() 510 執行區分大小寫的字符串比較
StringCompareIntl() 511 執行區分語言的字符串比較
StringToDate() 512 給定字符串返回日期值
StyleAttr() 513,補93 返回線型/填充式樣/字體/符號的某種屬性
Sub...End Sub 515 定義一過程,然后可用Call調用
Symbol 517 為點對象指定一符號式樣
SystemInfo() 520 返回操作系統或軟件版信息
TableInfo() 522 返回一打開表的信息
Tan() 525 返回一個數的正切
TempfileName$() 526 返回建立一個臨時文件能用的名字
Terminate Application 527 結束一正在運行或睡眠的MapBasic應用程序
Timer() 528 返回所間隔的時間(秒)
ToolHandler 529 保留的過程名;與特殊的工具按鈕(Mapbasic工具)一起工作
TriggerControl() 531 返回(確定)最近被用戶選擇的對話框控件的ID標識
TruefileName$() 532 返回一完整的文件標識,給定部分標識
Type 533 定義一個定制變量類型,它能用于隨后的Dim和Globel語句中
UBound() 534 返回一數組的當前大小
UCase$() 535 返回一大寫字符串
UnDim 536 取消對一變量的定義
UnitAbbr$() 537 返回表示Mapinfo標準單位名的縮寫式樣字串
UniteName$() 538 返回表示Mapinfo標準單位名的全稱(字符串)
Unlink 539 用Unlink語句去掉與曾用Server Link Table語句從遠程數據庫下載并連結的表的聯系
Update 540 更新一個表的一行或多行
Update Window 541 強迫Mapinfo對一個窗口完成進行中的全部改變
Val() 542 返回一個字符串代表的數值
Weekday() 543 返回從1-7的一個整數,表示一指定日期的周日
While...Wend 544 定義一個循環(執行到指定條件被判斷為TRUE時)
WinChangedHandler 545 一個保留的過程,某個Map窗被縮放時或某個圖層被加進或移去時被自動調用
WinCloseHandler 546 一個保留的過程在Map,Browse,Graph,Layout,Redistricting,Mapbasic 窗口關閉時被自動調用
WindowID() 547 返回一Mapinfo窗口標識
WindowInfo() 548 返回一窗口信息
WinfocusChangedHandler 551 一個保留的過程名,窗口焦點變化時自動調用
Write # 552 把數據寫到一打開文件中
Year() 553 返回年月日中的年
三、約定 TOP
約定 意義
If,Call,Map,Browse,Area 第一個字母大寫的黑體字是MapBasic的關鍵字(保留字)。 本手冊內各個關鍵字的首字都是大寫的,不過,在你寫MapBasic程序時,你可以用 大寫、小寫或二者混合輸入關鍵字。
Main,Integer,Pen,Object 首字母大寫的非黑體字通常是特殊的過程名或變量類型。
table,handler,window_id 斜體代表MapBasic語句的參數。你完成一個MapBasic語句時,必須為各個參數提供一個相應的表達式。
[window...id],[Interactive] 出現在方括號內的關鍵字或參數是可選的。
{On|Off} 一個句法表達式出現在花括號內時,內含有一個關鍵字或參數列表,它們之間是由豎線字符分隔的。你必須選擇其中之一。例如,在左面的樣品中,你應該或者選擇On,或者選擇Off。
Note"Hello,wored!" 實際的程序樣品是用這種字體(curier黑體)表示的。