Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB_REF_7.pdf
Скачиваний:
25
Добавлен:
13.02.2015
Размер:
2.96 Mб
Скачать

Оператор Create Table

Оператор Create Table

Назначение:

Создание новой таблицы.

Синтаксис:

Create Table table

( column columntype [ , . . . ] ) | Using from_table } [ File filespec ]

[ { Type NATIVE |

Type DBF [ CharSet char_set ] |

Type {Access | ODBC} database_filespec [ Version version ] Table tablename

[ Password pwd ] [ CharSet char_set ]

} ]

[ Version version ]

table имя для новой таблицы MapInfo.

column имя колонки в новой таблице. Имя колонки может быть длиной до 31 символов, и может содержать буквы, числа, и знак подчеркивания. Название колонки не может начинаться с цифры.

from_table имя текущей открытой таблицы, в которой находится та колонка, которую надо сохранить в новой таблице. Таблица from_table должна быть базовой и должна содержать колонку с данными. Таблицы запросов и растровые таблицы не могут использоваться для этих целей, их применение даст сообщение об ошибке. Структура колонки в новой таблице будет идентичной той, которая имеется в исходной таблице.

filespec определяет место, где создавать файлы .TAB, .MAP, и .ID (и в случае Access, .AID файлов). Если Вы пропускаете предложение File, то файлы создаются в текущей директории.

char_set строковая величина, определяющая кодировку символов в таблице (смотрите описание стандартного предложения CharSet).

database_filespec строка, определяющая доступную базу данных Access. Если такая база не существует, MapInfo создаст новый Access-файл .MDB.

version это выражение указывающее какая версия базы данных Microsoft Jet будет использоваться при создании новой таблицы. Допустимые значения 4.0 (для Access 2000) или 3.0 (для Access ’95/ ’97). Если значение не указано, то по умолчанию принимается версия 4.0. Если база данных в которой создается новая таблица уже существует, то указанная версия базы данных игнорируется.

tablename строковая переменная, определяющая имя таблицы, которая появится в Access.

pwd пароль на уровне базы данных, определяемый при включении защиты базы данных.

version равно 100 (при создании таблицы, которая может читаться ранними версиями MapInfo) или 300 (формат MapInfo). Этот параметр не применяется при создании таблицы Access; версия для таблицы Access управляется DAO.

columntype тип данных, связанных с колонкой. Каждый параметр columntype задает тип данных колонки и имеет следующий синтаксис:

Char( width ) |

Float |

Integer |

SmallInt |

Справочник MapBasic

171

Оператор Create Table

Decimal( width , decplaces ) | Date |

Logical

width определяет максимальный размер каждого поля (применяется не ко всем типам полей). Символьные поля могут содержать до 254 символов.

decplaces определяет число знаков после десятичной точки для поля десятичного типа.

Описание

Оператор Create Table создает новую пустую таблицу размером до 250 колонок. Определите ODBC для создания новых таблиц на сервере DBMS.

Предложение Using позволяет создавать новую таблицу как часть функциональности "Объединение объектов по колонке". Таблица from_table должна быть базовой, и должна содержать колонку с данными. Таблицы запросов и растровые таблицы не могуи здесь использоваться и появится сообщение об ошибке. Структура (колонок) создаваемой новой таблицы будет идентична структуре данной таблице.

Добавочное предложение filespec определяет место, где создается новая таблица. Если предложение filespec не используется, таблица создается в текущей директории или папке.

Предложение Type определяет формат данных таблицы. По умолчанию это формат MapInfo, но может быть также и DBF. Формат MapInfo (NATIVE) занимает меньше места, чем формат DBF, но формат DBF читается в любых dBASE–совместимых системах управления базами данных. Таким образом создаются новые таблицы на серверах DBMS с помощью предложения ODBC Type оператора Create Table.

Предложение CharSet определяет установку шрифта. Параметр char_set должен быть строковой постоянной, такой как “MacRoman” или “WindowsLatin1”. Если предложение CharSet не определено, MapBasic использует по умолчанию шрифт, который установлен в этот момент Windows. См также обсуждение предложения CharSet для получения большей информации.

Величина типа SmallInt для колонок резервирует два байта для каждого значения; так, колонка может содержать значения от -32,767 до +32,767. Величина типа целое (Integer) для колонок резервирует четыре байта для каждого значения; так, колонка может содержать значения от - 2,147,483,647 до +2,147,483,647.

Предложение Version управляет форматом таблицы. Если Вы зададите Version 100, MapInfo создаст таблицу в формате, читаемом ранними версиями MapInfo, ранее 3.0. Если зададите Version 300, MapInfo создаст таблицу в формате, используемом MapInfo 3.0. Обратите внимание, что объекты типа полилиния и регион, имеющие более 8,000 узлов и полилинии, состоящие из множества сегментов требуют версию 300. Если Вы пропустите предложение Version, то таблица сохранится в формате версии 300.

Пример

Следующий пример показывает, как создать таблицу, названную Towns, содержащую 3 поля: символьное поле, названное townname, целочисленное поле, названное population, и десятичное поле, названное median_income. Файл будет создан в поддиректории C:\MAPINFO\DATA . Поскольку необязательное предложение Type используется, таблица будет создана в формате dBASE.

Create Table Towns

(townname Char(30), population SmallInt,

172

Справочник MapBasic

Оператор Create Table

median_income Decimal(9,2) ) File ”C:\MAPINFO\TEMP\TOWNS” Type DBF

Смотрите также

Import, Export, Open, Drop, Alter Table, Create Index, Create Map

Оператор Server Create Map

Справочник MapBasic

173

Оператор Create Text

Оператор Create Text

Назначение:

Создает объект типа "текст".

Синтаксис:

Create Text

[ Into { Window window_id | Variable var_name } ] text_string

(x1, y1) (x2, y2) [ Font . . . ]

[ Label Line { Simple | Arrow } (label_x, label_y) ] [ Spacing { 1.0 | 1.5 | 2.0 } ]

[ Justify { Left | Center | Right } ] [ Angle text_angle ]

где

window_id – целое число, идентификатор окна Карты или Отчета; var_name – имя существующей объектной переменной;

text_string – текст длиной до 255 символов (многострочный текст содержит символ Chr$(10)); x1, y1 – координаты одного угла прямоугольника, заполненного текстом;

x2, y2 – координаты противоположного по диагонали угла прямоугольника; label_x, label_y – координаты места, к которому прикреплен текст; text_angle – угол поворота текста в градусах, действительная величина.

Слово Font начинает стандартное предложение для назначения стиля шрифта текстового объекта.

Описание:

Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Text. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты. Если объект создается для окна Отчета, параметры x и y интерпретируются как координаты на листе в объявленных ранее единицах измерения листа. (Смотрите описание оператора Set Paper Units.) Так X-координата – это расстояние от левого края листа до точки, а Y-координата – расстояние от верхнего края листа. Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set CoordSys Layout.

Параметры x1, y1, x2 и y2 задают прямоугольник текста. Если текстовый объект создается в окне Карты, текст будет заполнять заданную текстовую область так, чтобы длина строки была равна ширине текстовой области. Размер шрифта, заданный предложением Font, будет проигнорирован. В окне Отчета текст будет рисоваться заданного в предложении Font размера, при этом координаты верхнего левого угла текстовой области (x1, y1) будут задавать расположение объекта на листе, а вторая пара (x2, y2) будет проигнорирована.

Предложение Font назначает шрифт для текстового объекта. Если предложения нет в операторе, оператор Create Text использует текущую установку шрифта в MapInfo (шрифт можно изменить в диалоге команды НАСТРОЙКА > СТИЛЬ ТЕКСТА).

Смотрите также:

Autolabel, Font, Insert, Update

174

Справочник MapBasic

Функция CreateText( )

Функция CreateText( )

Назначение:

Возвращает текстовый объект, созданный в определенном окне Карты.

Синтаксис:

CreateText(window_id , x , y , text , angle , anchor , offset)

window_id – целочисленный идентификатор окна Карты;

x , y – координаты, задающие закрепленное положение подписи;

text – строка с текстом подписи, представляющим текстовый объект;

angle – угол поворота подписи в градусах; для для горизонтального текста он равен нулю;

anchor – целое число типа Integer от 0 до 8, контролирующее расположение подписи относительно места привязки. Ниже перечислены возможные значения кодов, которые описаны в MAPBASIC.DEF.

LAYER_INFO_LBL_POS_CC (0)

LAYER_INFO_LBL_POS_TL (1)

LAYER_INFO_LBL_POS_TC (2)

LAYER_INFO_LBL_POS_TR (3)

LAYER_INFO_LBL_POS_CL (4)

LAYER_INFO_LBL_POS_CR (5)

LAYER_INFO_LBL_POS_BL (6)

LAYER_INFO_LBL_POS_BC (7)

LAYER_INFO_LBL_POS_BR (8)

Двухбуквенное окончание определяет ориентацию подписи: T=Top, B=Bottom, C=Center, R=Right, L=Left. Например, для размещения подписи ниже и правее места привязки, укажите код LAYER_INFO_LBL_POS_BR, или укажите значение 8.

offset – целое число от 0 до 50, расстояние в точках от подписи до точки привязки на подписываемом объекте; offset игнорируется, если значение кода привязки равно 0.

Величина, полученная в результате

Величина типа Object.

Описание:

Функция CreateText( ) возвращает величину типа Object, являющейся текстовым объектом.

Текстовый объект использует текущий стиль текста. Для создания текстового объекта с определенным стилем, используйте оператор Set Style перед CreateText( ).

В тот момент, когда текст создан, его высота контролируется размером текущего шрифта. Таким образом, после создания текстового объекта его высота зависит от размера окна Карты; изменение масштаба ведет к соответственному изменению размера текста.

Возвращаемый объект имеет тип Object и сохраняется в существующей строке таблицы (используя оператор Update) или вставлеяется в новую строку таблицы (используя оператор Insert).

Справочник MapBasic

175

Функция CreateText( )

Пример:

Следующий пример создает текстовый объект и помещаеь его на Косметический слой Карты (целочисленная переменная i_map_id содержит идентификатор окна Карты).

Insert Into Cosmetic1 (Obj)

Values ( CreateText(i_map_id, 80, 42.4, ”Sales Map”, 0,0,0) )

Смотрите также:

Autolabel, Create Text, Font, Insert, Update

176

Справочник MapBasic

Функция CurDate( )

Функция CurDate( )

Назначение:

Возвращает текущее значение даты в формате ГГГГММДД.

Синтаксис:

CurDate(_)

Величина, полученная в результате:

Дата.

Описание:

Функция CurDate(_) возвращает текущее значение даты.

Формат всегда будет вида – ГГГГММДД. Для того чтобы возвращаемое значение было в формате локальной системы, используйте функцию FormatDate$().

Пример:

Dim d_today As Date

d_today = CurDate( )

Смотрите также:

FormatDate$(), Day(_), Month(_), StringToDate(_), Timer(_), Weekday(_), Year(_)

Справочник MapBasic

177

Функция CurrentBorderPen( )

Функция CurrentBorderPen( )

Назначение

Возвращает текущее значения стиля линии границы региона.

Синтаксис

CurrentBorderPen( )

Возвращаемое значение

Pen

Описание

Функция CurrentBorderPen( ) возвращает текущее значения стиля линии границы региона. MapInfo Professional применяет текущий стиль линии к любому площадному объекту, нарисованному пользователем. Если программа MapBasic создает объект используя оператор типа Create Region, но в нем не задан стиль линии границы предложением Pen, то в объекте будет использован текущий стиль BorderPen.

Возвращаемое значение может быть присвоено переменной Pen, или может быть использовано в качестве параметра внутри оператора, который использует установки Pen в качестве параметра (в таком как Set Map).

Чтобы извлечь специфические аттрибуты стиля Pen (такие как color), надо вызвать функцию Style Attr( ).

Более подробная информация об установках Pen находится в описании предложения Pen.

Пример

Dim p_user_pen As Pen

p_user_pen = CurrentBorderPen( )

Смотрите также

Pen, CurrentLinePen(), Set Style, StyleAttr( )

178

Справочник MapBasic

Функция CurrentBrush( )

Функция CurrentBrush( )

Назначение:

Возвращает значение установленного на данный момент стиля штриховки.

Синтаксис:

CurrentBrush(_)

Величина, полученная в результате:

Величина типа Brush.

Описание:

Функция CurrentBrush(_) возвращает значение текущей установки стиля штриха. В MapInfo это значение изменяется в диалоге команды НАСТРОЙКИ > СТИЛЬ ОБЛАСТЕЙ. Когда Вы рисуете в окне такие объекты, как эллипс, прямоугольник, сглаженный прямоугольник или регион, MapInfo заполняет его установленным штрихом. Когда программа на MapBasic создает такие объекты (например, оператором Create Region(_) без предложения Brush, объект заштриховывается в соответствии с текущей установкой стиля штриха в MapInfo.

Величина, полученная функцией CurrentBrush(_), может быть присвоена переменной типа Brush или использована как параметр в операторах, в которых используется установка стиля штриха (такие, как Set Map или Shade).

Для вывода отдельных характеристик стиля штриха (например, цвета) используется функция Style Attr(_).

Более подробно о стиле можно прочитать в описании предложения Brush.

Пример:

Dim b_current_fill As Brush

b_current_fill = CurrentBrush( )

Смотрите также:

Brush, MakeBrush( ), StyleAttr( )

Справочник MapBasic

179

Функция CurrentFont( )

Функция CurrentFont( )

Назначение:

Возвращает значение шрифта, используемого в данный момент в окне Карты.

Синтаксис:

CurrentFont(_)

Величина, полученная в результате:

Величина типа Font.

Описание:

Функция возвращает значение текущей установки стиля шрифта. В MapInfo это значение изменяется в диалоге команды НАСТРОЙКИ > СТИЛЬ ТЕКСТА. Когда Вы создаете в окне текстовый объект, MapInfo рисует буквы установленным шрифтом. Когда программа MapBasic создает текстовый объект при помощи оператора Create Text без слова Font, объекту назначается шрифт в соответствии с текущей установкой шрифта в MapInfo.

Величина, полученная функцией CurrentFont(_), может быть присвоена переменной типа Font или использована как параметр в операторах, в которых используется установка шрифта.

Для вывода отдельных характеристик стиля шрифта (например, цвета) используется функция

StyleAttr(_).

Более подробно о стиле можно прочитать в описании предложения Font.

Пример:

Dim f_user_text As Font

f_user_text = CurrentFont( )

Смотрите также:

Font, MakeFont( ), Set Style, StyleAttr( )

180

Справочник MapBasic

Функция CurrentLinePen( )

Функция CurrentLinePen( )

Назначение

Возвращает текущий стиль линии Pen.

Синтаксис

CurrentLinePen( )

Возвращаемое значение

Pen

Описание

Функция CurrentLinePen( ) возвращает текущий стиль линии Pen. MapInfo Professional присваивает текущий стиль любой линии или полилинии, нарисованной пользователем. Если программа MapBasic создает объект с помощью оператора, такого как Create Line, но при этом оператор не использует предложение Pen, то объект будет использовать текущий стиль Pen. Возвращаемая величина может быть присвоена переменной Pen, или может быть использована в качестве параметра внутри оператора, который использует установки Pen в качестве параметра (например, Set Map).

Чтобы извлечь специфические аттрибуты стиля Pen (такие как color), надо вызвать функцию Style Attr( ).

Более подробная информация об установках Pen находится в описании предложения Pen.

Пример

Dim p_user_pen As Pen

p_user_pen = CurrentPen( )

Смотрите также

Pen, CurrentBorderPen(), Set Style, StyleAttr( )

Справочник MapBasic

181

Функция CurrentPen( )

Функция CurrentPen( )

Назначение:

Возвращает значение установленного на данный момент стиля линии и устанавливает стиль границы региона, который будет таким же как и стиль линии.

Синтаксис:

CurrentPen(_)

Величина, полученная в результате:

Величина типа Pen.

Описание:

Функция CurrentPen(_) возвращает значение текущей установки стиля линии. MapInfo Professional присваивает текущий стиль линии любой линии или полилинии, нарисованной пользователем. Если программа MapBasic создает объект используя оператор типа Create Line, на при этом сам оператор не включает в себя предложение Pen, то объект будет использовать текущий стиль Pen. Если Вам надо использовать текущий стиль линии не перустанавливая стиль границы региона, то используйте функцию CurrentLinePen().

Возвращаемое значение может быть присвоено переменной Pen, или может быть использовано как параметр внутри оператора, который использует настройку Pen (например, Set Map).

Для извлечения отдельных аттрибутов стиля Pen (таких как color), вызовите функцию

StyleAttr( ).

Более подробно настройки Pen описаны в предложении Pen.

Пример

Dim p_user_pen As Pen

p_user_pen = CurrentPen()

Смотрите также

MakePen( ), Pen, Set Style, StyleAttr( )

182

Справочник MapBasic

Функция CurrentSymbol( )

Функция CurrentSymbol( )

Назначение:

Возвращает значение установленного на данный момент стиля символа для точечного объекта.

Синтаксис:

CurrentSymbol(_)

Величина, полученная в результате:

Величина типа Symbol.

Описание:

Функция CurrentSymbol(_) возвращает значение текущей установки стиля символа для точечного объекта. В MapInfo это значение может изменяться в диалоге команды НАСТРОЙКИ > СТИЛЬ СИМВОЛОВ. Когда Вы рисуете в окне точечный объект, MapInfo обозначает его установленным символом. Когда программа MapBasic создает такой объект при помощи оператора Create Point без слова Symbol, объект изображается в соответствии с текущей установкой стиля символа в MapInfo.

Величина, полученная функцией CurrentSymbol(_), может быть присвоена переменной типа Symbol или использована как параметр в операторах, в которых используется установка стиля символа (таких, как Set Map или Shade).

Для вывода отдельных характеристик стиля символа (например, цвета) используется функция

StyleAttr(_).

Более подробно о стиле можно прочитать в описании предложения Symbol.

Пример:

Dim sym_user_symbol As Symbol

sym_user_symbol = CurrentSymbol( )

Смотрите также: MakeSymbol( ), Set Style, StyleAttr( ), Symbol

Справочник MapBasic

183

Функция DateWindow( )

Функция DateWindow( )

Назначение:

Возвращает текущую дату, установленную как целое в диапазоне от 0 до 99, или (-1) если режим управления окном даты отключен.

Синтаксис:

DateWindow(context)

context - это короткое целое, которое может быть или DATE_WIN_CURPROG или DATE_WIN_SESSION.

Описание:

Это зависит от того, какой контекст (context) передается. Если context это DATE_WIN_SESSION, то возвращаются текущие настройки компьютера. Если context это DATE_WIN_CURPROG, то возвращаются локальные настройки MapBasic, если context пропущен, то возвращаются настройки текущего сеанса.

MBX скомпилированные ранее версии v5.5 будут до сих пор конвертировать двузначные года в текущее столетие (5.0 и более ранние версии). Для получения результатов, адаптированных к следующему тысячелетию, перекомпилируйте приложение с помощью MapBasic v5.5.

Пример:

В следующем примере переменные Date1 = 19890120, Date2 = 20101203 и MyYear = 1990.

DIM Date1, Date2 as Date

DIM MyYear As Integer

Set Format Date "US"

Set Date Window 75

Date1 = StringToDate("1/20/89")

Date2 = StringToDate("12/3/10")

MyYear = Year("12/30/90")

Смотрите также:

Оператор SetDateWindow

184

Справочник MapBasic

Функция Day( )

Функция Day( )

Назначение:

Возвращает номер дня (от 1 до 31) из даты.

Синтаксис:

Day(date_expr)

где date_expr – выражение, в результате которого получается дата.

Величина, полученная в результате:

Короткое целое число. Величина типа SmallInt.

Описание:

Функция возвращает целочисленное значение от одного до тридцати одного, являющееся номером дня в месяце. Например, для даты 12/17/92 функция будет равна 17.

Пример:

Dim day_var As SmallInt, date_var As Date date_var = StringToDate("05/23/1985") day_var = Day(date_var)

Смотрите также:

CurDate( ), Month( ), Timer( ), Year( )

Справочник MapBasic

185

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]