通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2011-9-27
跳转到指定楼层
1#
发表于 2011-11-1 11:22:34 |只看该作者 |倒序浏览
MapBasicUserGuide.pdf

Chapter 1:
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
Hardware & Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Compatibility with Previous Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Installing the MapBasic Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Before You Begin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Starting MapBasic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
MapBasic File Names and File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
MapBasic Documentation Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Conventions Used in This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Working with Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Before You Call  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
The Support Tracking System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Expected Response Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Exchanging Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Software Defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Other Resources  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Chapter 2:
A Quick Look at MapBasic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21
Getting Started  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
How Do I Create and Run a MapBasic Application? . . . . . . . . . . . . . . . . . . . . . . . . . . .22
What Are the Key Features of MapBasic?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
MapBasic Lets You Customize MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . .23
MapBasic Lets You Automate MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . . .23
MapBasic Provides Powerful Database-Access Tools  . . . . . . . . . . . . . . . . . . . . . . . . .24
MapBasic Lets You Connect MapInfo Professional to Other Applications. . . . . . . . . . .24
How Do I Learn MapBasic?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
The MapBasic Window in MapInfo Professional  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Training and On-Site Consulting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Chapter 3:
Using the Development Environment  . . . . . . . . . . . . . . . . . . . . . . . . .27
Introduction to MapBasic Development Environment  . . . . . . . . . . . . . . . . . . . . . . . . . 28
Editing Your Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Limitations of the MapBasic Text Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Compiling Your Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
A Note on Compilation Errors  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Running a Compiled Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
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  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
The Project Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
The Window Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
The Help Menu  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Chapter 4:
MapBasic Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
General Notes on MapBasic Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Case-Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Continuing a Statement Across Multiple Lines  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Codes Defined In mapbasic.def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Typing Statements Into the MapBasic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Fixed-length and variable-length String variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Array Variables  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Custom Data Types (Data Structures). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Global Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Scope of Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
What is a Constant?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
What is an Operator?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
What is a Function Call? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A Closer Look At Constants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Variable Type Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A Closer Look At Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
MapBasic Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Looping, Branching, and Other Flow-Control  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
If…Then Statement  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
Do Case Statement  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
GoTo Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
For…Next Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Do…Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
While…Wend Loop  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Ending Your Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Ending Your Program and MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Main Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Calling a Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Calling a Procedure That Has Parameters  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Passing Parameters By Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Passing Parameters By Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Calling Procedures Recursively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Procedures That Act As System Event Handlers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
What Is a System Event?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
What Is an Event Handler?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
When Is a System Event Handler Called?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Tips for Handler Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Keep Handler Procedures Short  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Selecting Without Calling SelChangedHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Preventing Infinite Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Custom Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Scope of Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Compiler Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
The Define Statement  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
The Include Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Program Organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Chapter 5:
Debugging and Trapping Runtime Errors  . . . . . . . . . . . . . . . . . . . . .  77
Runtime Error Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Debugging a MapBasic Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Summary of the Debugging Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Limitations of the Stop Statement  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Other Debugging Tools  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Error Trapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Example of Error Trapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Chapter 6:
Creating the User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Introduction to MapBasic User Interface Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Event-Driven Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
What Is an Event? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
What Happens When The User Generates A Menu Event? . . . . . . . . . . . . . . . . . . . . . 84
How Does a Program Handle ButtonPad Events?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
How Does a Program Handle Dialog Box Events? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Menus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Menu Fundamentals  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Adding New Items To A Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Removing Items From A Menu  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Creating A New Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Altering A Menu Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Re-Defining The Menu Bar  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Specifying Language-Independent Menu References. . . . . . . . . . . . . . . . . . . . . . . . . . 91
Customizing MapInfo Professional’s Shortcut Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Assigning One Handler Procedure To Multiple Menu Items  . . . . . . . . . . . . . . . . . . . . . 92
Simulating Menu Selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Defining Shortcut Keys And Hot Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Controlling Menus Through the MapInfo Professional Menus File  . . . . . . . . . . . . . . . . 94
Standard Dialog Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Displaying a Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Asking a Yes-or-No Question  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Selecting a File  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Indicating the Percent Complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Displaying One Row From a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Custom Dialog Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Sizes and Positions of Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Control Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Specifying a Control’s Initial Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Reading a Control’s Final Value  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Responding to User Actions by Calling a Handler Procedure . . . . . . . . . . . . . . . . . . . 103
Enabled / Disabled Controls  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Letting the User Choose From a List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
Managing MultiListBox Controls  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Specifying Shortcut Keys for Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Closing a Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Windows  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
Specifying a Window’s Size and Position  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Map Windows  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Using Animation Layers to Speed Up Map Redraws. . . . . . . . . . . . . . . . . . . . . . . . . . 108
Browser Windows  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Graph Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Layout Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
Redistrict Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
Message Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
ButtonPads (Toolbars) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
What Happens When the User Chooses a Button?. . . . . . . . . . . . . . . . . . . . . . . . . . .113
MapBasic Statements Related To ButtonPads  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
Creating A Custom PushButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
Adding A Button To The Main ButtonPad  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116
Creating A Custom ToolButton  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116
Choosing Icons for Custom Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
Selecting Objects by Clicking With a ToolButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Including Standard Buttons in Custom ButtonPads . . . . . . . . . . . . . . . . . . . . . . . . . . .119
Assigning Help Messages to Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
Docking a ButtonPad to the Top of the Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
Other Features of ButtonPads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
Integrating Your Application Into MapInfo Professional . . . . . . . . . . . . . . . . . . . . . . .121
Loading Applications Through the Startup Workspace . . . . . . . . . . . . . . . . . . . . . . . .122
Manipulating Workspaces through MapBasic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
Performance Tips for the User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Animation Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Avoiding Unnecessary Window Redraws  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Purging the Message Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
Suppressing Progress Bar Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Chapter 7:
Working With Tables  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  125
Opening Tables Through MapBasic 126
Determining Table Names at Runtime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Opening Two Tables With The Same Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Opening Non-Native Files As Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Reading Row-And-Column Values From a Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Alias Data Types as Column References  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Using the “RowID” Column Name To Refer To Row Numbers . . . . . . . . . . . . . . . . . .131
Using the “Obj” Column Name To Refer To Graphic Objects  . . . . . . . . . . . . . . . . . . .131
Finding Map Addresses In Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
Geocoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132
Performing SQL Select Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Error Checking for Table and Column References  . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Writing Row-And-Column Values to a Table  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Creating New Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
Modifying a Table’s Structure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Creating Indexes and Making Tables Mappable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Reading A Table’s Structural Information  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Working With The Selection Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Changing the Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Updating the Currently-Selected Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Using the Selection for User Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Accessing the Cosmetic Layer  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Accessing Layout Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Multi-User Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The Rules of Multi-User Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Preventing Conflicts When Writing Shared Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Opening a Table for Writing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Files that Make Up a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Raster Image Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Working With Metadata  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
What is Metadata?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
What Do Metadata Keys Look Like? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Examples of Working With Metadata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
Working With Seamless Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
What is a Seamless Table? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
How Do Seamless Tables Work?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
MapBasic Syntax for Seamless Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Limitations of Seamless Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Accessing DBMS Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
How Remote Data Commands Communicate with a Database  . . . . . . . . . . . . . . . . . 149
Connecting and Disconnecting  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
PostGIS Geometry Conversion Behavior  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
What’s New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Database Features  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Accessing/Updating Remote Databases with Linked Tables . . . . . . . . . . . . . . . . . . . 153
Live Access to Remote Databases  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Performance Tips for Table Manipulation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Set the Default View for Remote Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Minimize Transaction-File Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Use Indices Where Appropriate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Using Sub-Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Optimized Select Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Using Update Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-4-30 14:09 , Processed in 0.571923 second(s), 17 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部