MSCBSC 移动通信论坛
搜索
登录注册
网络优化工程师招聘专栏 4G/LTE通信工程师最新职位列表 通信实习生/应届生招聘职位

  • 阅读:4581
  • 回复:4
MapBasic 11.0 USER GUIDE
mr0810
中级会员
鎵嬫満鍙风爜宸查獙璇


 发短消息    关注Ta 

积分 962
帖子 25
威望 259139 个
礼品券 0 个
专家指数 -24
注册 2007-11-2
专业方向  无线
回答问题数 0
回答被采纳数 0
回答采纳率 0%
 
发表于 2013-01-18 07:34:21  只看楼主 
【资料名称】:MapBasic 11.0 USER GUIDE

【资料作者】:Mapinfo

【资料日期】:2012

【资料语言】:中文

【资料格式】:PDF

【资料目录和简介】:

Chapter 1: Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Hardware & Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Compatibility with Previous Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Installing the MapBasic Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Starting MapBasic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
MapBasic File Names and File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
MapBasic Documentation Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Conventions Used in This Manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
Getting Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
Contacting Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Software Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Other Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Chapter 2: A Quick Look at MapBasic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
How Do I Create and Run a MapBasic Application? . . . . . . . . . . . . . . . . . . . . . . . . . . .21
What Are the Key Features of MapBasic? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
MapBasic Lets You Customize MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . .22
MapBasic Lets You Automate MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . . .22
MapBasic Provides Powerful Database-Access Tools . . . . . . . . . . . . . . . . . . . . . . . . .23
MapBasic Lets You Connect MapInfo Professional to Other Applications. . . . . . . . . . .23
How Do I Learn MapBasic? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
The MapBasic Window in MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Training and On-Site Consulting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Chapter 3: Using the Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . 26
Editing Your Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Limitations of the MapBasic Text Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Compiling Your Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
A Note on Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Running a Compiled Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Using Another Editor to Write MapBasic Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Linking Multiple Modules Into a Single Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
What is a MapBasic Project File? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
Creating a Project File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Compiling and Linking a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Calling Functions or Procedures From Other Modules . . . . . . . . . . . . . . . . . . . . . . . . .36
Menu Summary in MapBasic Development Environment .. . . . . . . . . . . . . . . . . . . . . .37
The Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
The Search Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
The Project Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
The Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
The Help Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Chapter 4: MapBasic Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Case-Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Continuing a Statement Across Multiple Lines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Codes Defined In mapbasic.def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
Typing Statements Into the MapBasic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..44
Fixed-length and variable-length String variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Array Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Custom Data Types (Data Structures) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
Global Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Scope of Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
What is a Constant?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
What is an Operator? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
What is a Function Call? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
A Closer Look At Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Variable Type Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
A Closer Look At Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
MapBasic Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
Looping, Branching, and Other Flow-Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
If…Then Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Do Case Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
GoTo Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
For…Next Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
Do…Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
While…Wend Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Ending Your Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Ending Your Program and MapInfo Professional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .64
Main Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Calling a Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Calling a Procedure That Has Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Passing Parameters By Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Passing Parameters By Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Calling Procedures Recursively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Procedures That Act As System Event Handlers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
What Is a System Event?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
What Is an Event Handler? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
When Is a System Event Handler Called? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Tips for Handler Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Keep Handler Procedures Short . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Selecting Without Calling SelChangedHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Preventing Infinite Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Custom Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Scope of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Compiler Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
The Define Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
The Include Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Program Organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Chapter 5: Debugging and Trapping Runtime Errors . . . . . . . . . . . . . . . . . . . . . 75
Debugging a MapBasic Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
Summary of the Debugging Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
Limitations of the Stop Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
Other Debugging Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Error Trapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..78
Example of Error Trapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Chapter 6: Creating the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Event-Driven Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
What Is an Event? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
What Happens When The User Generates A Menu Event? . . . . . . . . . . . . . . . . . . . . .81
How Does a Program Handle ButtonPad Events?. . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
How Does a Program Handle Dialog Box Events? . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Menu Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Adding New Items To A Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Removing Items From A Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Creating A New Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
Altering A Menu Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
Re-Defining The Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
Specifying Language-Independent Menu References . . . . . . . . . . . . . . . . . . . . . . . . . .88
Customizing MapInfo Professional’s Shortcut Menus . . . . . . . . . . . . . . . . . . . . . . . . . .88
Assigning One Handler Procedure To Multiple Menu Items . . . . . . . . . . . . . . . . . . . . .89
Simulating Menu Selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Defining Shortcut Keys And Hot Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Controlling Menus Through the MapInfo Professional Menus File . . . . . . . . . . . . . . . .91
Standard Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
Displaying a Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
Asking a Yes-or-No Question. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
Selecting a File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
Indicating the Percent Complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Displaying One Row From a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Custom Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
Sizes and Positions of Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
Control Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Specifying a Control’s Initial Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
Reading a Control’s Final Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
Responding to User Actions by Calling a Handler Procedure . . . . . . . . . . . . . . . . . . .100
Enabled / Disabled Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
Letting the User Choose From a List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
Managing MultiListBox Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Specifying Shortcut Keys for Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Closing a Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
Specifying a Window’s Size and Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Map Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Using Animation Layers to Speed Up Map Redraws . . . . . . . . . . . . . . . . . . . . . . . . . .105
Browser Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Graph Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107
Layout Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
Redistrict Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
Message Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
ButtonPads (Toolbars) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
What Happens When the User Chooses a Button?. . . . . . . . . . . . . . . . . . . . . . . . . . .110
MapBasic Statements Related To ButtonPads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
Creating A Custom PushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
Adding A Button To The Main ButtonPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
Creating A Custom ToolButton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
Choosing Icons for Custom Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Selecting Objects by Clicking With a ToolButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
Including Standard Buttons in Custom ButtonPads . . . . . . . . . . . . . . . . . . . . . . . . . . .116
Assigning Help Messages to Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
Docking a ButtonPad to the Top of the Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Other Features of ButtonPads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Cursors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Integrating Your Application Into MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . .119
Loading Applications Through the Startup Workspace . . . . . . . . . . . . . . . . . . . . . . . .120
Manipulating Workspaces through MapBasic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
Performance Tips for the User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Animation Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Avoiding Unnecessary Window Redraws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Purging the Message Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
Suppressing Progress Bar Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
Chapter 7: Working With Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Determining Table Names at Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Opening Two Tables With The Same Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Opening Non-Native Files As Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
Reading Row-And-Column Values Froma Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Alias Data Types as Column References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Using the “RowID” Column Name To Refer To Row Numbers . . . . . . . . . . . . . . . . . .129
Using the “Obj” Column Name To Refer To Graphic Objects . . . . . . . . . . . . . . . . . . .129
Finding Map Addresses In Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Performing SQL Select Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Error Checking for Table and Column References . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Writing Row-And-Column Values to a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Creating New Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Modifying a Table’s Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
Creating Indexes and Making Tables Mappable . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Reading A Table’s Structural Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Working With The Selection Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
Changing the Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Updating the Currently-Selected Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Using the Selection for User Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135
Accessing the Cosmetic Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
Accessing Layout Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
Multi-User Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
The Rules of Multi-User Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
Preventing Conflicts When Writing Shared Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139
Opening a Table for Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
Files that Make Up a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
Raster Image Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
Working With Metadata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
What is Metadata? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
What Do Metadata Keys Look Like? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
Examples of Working With Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
Working With Seamless Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
What is a Seamless Table? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
How Do Seamless Tables Work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
MapBasic Syntax for Seamless Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
Limitations of Seamless Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
Accessing DBMS Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
How Remote Data Commands Communicate with a Database . . . . . . . . . . . . . . . . .148
Connecting and Disconnecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
PostGIS Geometry Conversion Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Accessing/Updating Remote Databases with LinkedTables . . . . . . . . . . . . . . . . . . .150
Live Access to Remote Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Performance Tips for Table Manipulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Set the Default View for Remote Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Minimize Transaction-File Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Use Indices Where Appropriate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Using Sub-Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Optimized Select Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Using Update Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Chapter 8: File Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Sequential File I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Random File I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157
Binary File I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Platform-Specific & International Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
File Information Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Chapter 9: Graphical Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Using the “Obj” Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
Creating an Object Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Limitations of the Object Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Querying An Object’s Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
Object Styles (Pen, Brush, Symbol, Font) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
Understanding Font Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
Stacked Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
Style Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
Selecting Objects of a Particular Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Creating New Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
Object-Creation Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
Object-Creation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
Creating Objects With Variable Numbers of Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . .171
Storing Objects In a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
Creating Objects Based On Existing Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
Creating a Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
Using Union, Intersection, and Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
Creating Isograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Creating Offset Copies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
Modifying Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
General Procedure for Modifying an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Repositioning An Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Moving Objects and Object Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
Modifying An Object’s Pen, Brush, Font, or SymbolStyle . . . . . . . . . . . . . . . . . . . . . .175
Converting An Object To A Region or Polyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Erasing Part Of An Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Points Of Intersection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Working With Map Labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Turning Labels On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Turning Labels Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Editing Individual Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Querying Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Other Examples of the Set Map Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Differences Between Labels and Text Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
Coordinates and Units of Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
Units of Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
Advanced Geographic Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Using Geographic Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
Querying Objects in Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Using Geographic SQL Queries With Subselects . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Using Geographic Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
Proportional Data Aggregation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
Chapter 10: Advanced Features of Microsoft Windows . . . . . . . . . . . . . . . . . . 188
Specifying the Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
Passing Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Calling Standard Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Calling a DLL Routine by an Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Array Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
User-Defined Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
Logical Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Example: Calling a Routine in KERNEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
Troubleshooting Tips for DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
Creating Custom Button Icons and Draw Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . .194
Reusing Standard Icons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
Custom Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
Custom Draw Cursors for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
Inter-Application Communication Using DDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
Overview of DDE Conversations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
How MapBasic Acts as a DDE Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
How MapInfo Professional Acts as a DDE Server . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
How MapInfo Professional Handles DDE Execute Messages . . . . . . . . . . . . . . . . . . .200
Communicating With Visual Basic Using DDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Examples of DDE Conversations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
DDE Advise Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
Incorporating Windows Help Into Your Application . . . . . . . . . . . . . . . . . . . . . . . . . .202
Chapter 11: Integrated Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Conceptual Overview of Integrated Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
Technical Overview of Integrated Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
Other Technical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
A Short Sample Program: “Hello, (Map of) World” . . . . . . . . . . . . . . . . . . . . . . . . . . .206
A Closer Look at Integrated Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
Sending Commands to MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
Querying Data from MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
Customizing MapInfo Professional’s Shortcut Menus . . . . . . . . . . . . . . . . . . . . . . . . .212
Terminating Your Visual Basic Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
A Note About MapBasic Command Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
A Note About Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
A Note About Accelerator Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
Using Callbacks to Retrieve Info from MapInfo Professional . . . . . . . . . . . . . . . . . . .215
Technical Requirements for Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
General Procedure for Using OLE Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
Processing the Data Sent to a Callback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
C/C++ Syntax for Standard Notification Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Alternatives to Using OLE Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
DDE Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220
MBX Callbacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220
Displaying Standard MapInfo Professional Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Disabling Online Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Displaying a Custom Help File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
Related MapBasic Statements and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222
OLE Automation Object Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
Using the OLE Object Model from within the MapInfo Professional Process . . . . . . .226
Properties of the Application Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
Properties of the DockWindow Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Properties of the MBApplications Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Properties of an Object in MBApplications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Properties of the MBGlobals Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
Properties of an Object in MBGlobals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
Properties of the MIMapGen Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
Methods of the MIMapGen Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
Properties of the MISearchInfo Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
Method of the MIRow Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
Properties of the MIField Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
Properties of the MISelection Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
MapInfo Professional Command-Line Arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . .240
Getting Started with Integrated Mapping and Visual C++ with MFC . . . . . . . . . . . . . .241
Adding Toolbar Buttons and Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244
Using Exception Handling to Catch MapInfo Professional Errors . . . . . . . . . . . . . . . .246
Add OLE Automation Server Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
Adding the WindowContentsChanged Callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
Learning More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
Chapter 12: Working with .Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
Creating a Class in .Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Building and Copying the Assembly File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
Declaring and Calling the Method from MapBasic . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
Calling a Method by an Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Passing Arguments to .Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
Performance Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Working with Structures in .Net. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Passing Custom Variable Types (Structures) to .Net. . . . . . . . . . . . . . . . . . . . . . . . . .255
Restrictions of Passing Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
Exception Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
Working with the GAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
Loading an Assembly from the Global Assembly Cache (GAC) . . . . . . . . . . . . . . . . .260
Controlling MapInfo Professional from Within a .Net Method . . . . . . . . . . . . . . . . . .261
Integrated Mapping in .Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
Accessing MapInfo Professional through COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
Callback Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
Thread Safety Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
Appendix A: Sample Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Samples\DLLEXAMP Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
Samples\DotNet Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
Samples\MapBasic Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
Samples\MFC Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Samples\PwrBldr Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Samples\VB4 Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
Samples\VB6 Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
Appendix B: Summary of Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Geographic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
Automatic Type Conversions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
Appendix C: Supported ODBC Table Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Appendix D: Making a Remote Table Mappable . . . . . . . . . . . . . . . . . . . . . . . . . 283
Appendix E: Manually Creating a MapInfo_MapCatalog . . . . . . . . . . . . . . . . . . 285
Manually Making a Remote Table Mappable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
Appendix F: Data Setting and Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
A Glossary for Upgrading Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
Application Data Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
Default Preferences Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295
Registry Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
Installer Requirements and Group Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
MapBasic v.6.5 and 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
MapBasic v.7.0 or Higher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
Appendix G: MapBasic Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

查看积分策略说明
附件下载列表:
2013-1-18 07:34:21  下载次数: 58
MapBasicUserGuide.pdf (2.84 MB)
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 2、回复“ZGDX”免费领取《中国电信5G NTN技术白皮书
  • 3、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 4、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 5、回复“5GX3”免费领取《 R16 23501-g60 5G的系统架构1
  • 6、回复“iot6”免费领取《【8月30号登载】物联网创新技术与产业应用蓝皮书——物联网感知技术及系统应用
  • 7、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 8、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 对本帖内容的看法? 我要点评

     
    [充值威望,立即自动到帐] [VIP贵宾权限+威望套餐] 另有大量优惠赠送活动,请光临充值中心
    充值拥有大量的威望和最高的下载权限,下载站内资料无忧
    wuxiaochuan239
    中级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 534
    帖子 161
    威望 14037 个
    礼品券 8 个
    专家指数 -271
    注册 2014-2-20
    专业方向  移动通讯
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2014-12-29 14:24:20 
    技术问题,回答得专家指数,快速升级

    对本帖内容的看法? 我要点评

     
    [立即成为VIP会员,百万通信专业资料立即下载,支付宝、微信付款,简单、快速!]
    kangyizhe
    高级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 1347
    帖子 274
    威望 265088 个
    礼品券 13 个
    专家指数 -23
    注册 2012-11-9
    专业方向  通信工程
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2015-01-04 17:07:04 
    已阅,是英文资料

    对本帖内容的看法? 我要点评

     
    最新通信职位:广东通信人才网 | 北京通信人才网 | 上海通信人才网 | 南京通信人才网 | 西安通信人才网 | 重庆通信人才网 | 中国通信人才网
    LmTec
    中级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 916
    帖子 183
    威望 22126 个
    礼品券 5 个
    专家指数 1
    注册 2011-10-15
    专业方向  网络维护
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2015-01-04 22:29:53 
    求中文版教程
    太需要了

    对本帖内容的看法? 我要点评

     
    [2分钟拥有VIP权限和充足威望,可下载站内任何资料] [快速找到一份高薪的通信行业职位]
    独侠客
    中级会员
    鎵嬫満鍙风爜宸查獙璇


     发短消息    关注Ta 

    积分 769
    帖子 167
    威望 44532 个
    礼品券 15 个
    专家指数 -66
    注册 2010-8-28
    专业方向  GSM&TDS&LTE
    回答问题数 0
    回答被采纳数 0
    回答采纳率 0%
     
    发表于 2015-04-12 12:44:25 
    哥们 有软件吗?

    对本帖内容的看法? 我要点评

     
    最新通信职位:广东通信人才网 | 北京通信人才网 | 上海通信人才网 | 南京通信人才网 | 西安通信人才网 | 重庆通信人才网 | 中国通信人才网

    快速回复主题    
    标题
    内容
     上传资料请点左侧【添加附件】

    (勾选中文件为要删除文件)


    当前时区 GMT+8, 现在时间是 2024-05-17 08:42:54
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

    Processed in 0.867465 second(s), 27 queries , Gzip enabled
    TOP
    清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信招聘网 - Archiver