
- •Оператор Add Column
- •Оператор Add Map
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter Cartographic Frame
- •Оператор Alter Control
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Bar
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор AutoLabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Функция ButtonPadInfo( )
- •Оператор Call
- •Функция•CartesianArea( )
- •Функция CartesianBuffer( )
- •Функция CartesianDistance ( )
- •Функция CartesianObjectLen( )
- •Функция CartesianPerimeter( )
- •Функция Centroid( )
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Функция CommandInfo()
- •Оператор Commit Table
- •Оператор Continue
- •Предложения Control Button / OKButton / CancelButton
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложения Control ListBox / MultiListBox
- •Предложение Control PopupMenu
- •Предложение Control RadioGroup
- •Предложение Control StaticText
- •Функция ConvexHull( )
- •Предложение CoordSys
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Функция CreateCircle( )
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create Object
- •Оператор Create Pline
- •Оператор Create Point
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Функция CreateText( )
- •Функция DateWindow( )
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Оператор For...Next
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Global
- •Оператор Goto
- •Оператор Graph
- •Оператор If...Then
- •Оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция Int( )
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Функция LabelFindByID( )
- •Функция LabelFindNext( )
- •Функция Labelinfo( )
- •Оператор Layout
- •Функция LegendFrameInfo( )
- •Функция LegendInfo( )
- •Функция LegendStyleInfo( )
- •Оператор Line Input
- •Процедура Main
- •Функция MakeCustomSymbol( )
- •Функция MakeFontSymbol( )
- •Оператор Map
- •Функция Map3dInfo( )
- •Оператор Menu Bar
- •Функция MenuitemInfoByID( )
- •Оператор Metadata
- •Оператор Note
- •Функция NumAllWindows( )
- •Оператор Objects Check
- •Оператор Objects Combine
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Report
- •Оператор Open Table
- •Оператор Open Window
- •Оператор Pack Table
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор Print #
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Remove Cartographic Frame
- •Оператор Remove Map
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Window
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Функция Server_ColumnInfo( )
- •Оператор Server Commit
- •Функция Server_Connect( )
- •Оператор Server Create Map
- •Оператор Server Disconnect
- •Функция Server_DriverInfo( )
- •Функция Server_EOT( )
- •Функция Server_Execute( )
- •Оператор Server Fetch
- •Функция Server_GetodbcHConn( )
- •Функция Server_GetodbcHStmt( )
- •Оператор Server Link Table
- •Функция Server_NumCols( )
- •Функция Server_NumDrivers( )
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File Timeout
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Style
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Функция StyleAttr( )
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Функция UnitAbbr$( )
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Write #
- •Приложение A: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС

Оператор Fetch
Оператор Fetch
Назначение:
Задание текущей позиции курсора в таблице (т. е. какая строка таблицы должна быть текущей)
Синтаксис:
Fetch { First | Last | Next | Prev | Rec n } From table
где
n – номер записи для чтения; table – имя открытой таблицы.
Описание:
Оператор Fetch используется для позиционирования записи в открытой таблице. Выполняя оператор, Ваша программа помещает курсор на определенную строку таблицы. Это состояние записи в таблице называется “текущим”.
Замечание: Термин "курсор" используется здесь для отражения расположения строки в таблице, и никак не связан с визуальным курсором экрана.
После оператора Fetch приложение MapBasic может извлекать данные из текущей записи, используя выражения:
Синтаксис |
Пример |
table.column |
World.Country |
table.col# |
World.col1 |
table.col ( number ) |
World.col( variable_name ) |
Оператор Fetch First переводит курсор на первую неудаленную запись таблицы. Оператор Fetch Last переводит курсор на последнюю неудаленную запись таблицы. Оператор Fetch Next переводит курсор на следующую неудаленную запись таблицы. Оператор Fetch Prev переводит курсор на предыдущую неудаленную запись таблицы.
Оператор Fetch Rec n переводит текущую позицию на определенную строку, даже если она удалена. Замечание: если запись удалена, то оператор генерирует ошибку выполнения 404.
Надо учитывать, что многие операторы MapBasic и команды MapInfo сбрасывают текущее положение курсора в таблице (например, оператор Select, оператор Update, перерисовка экрана). Используйте обращение к текущей строке сразу после выполнения оператора Fetch.
Определение конца таблицы
После выполнения оператора Fetch функция EOT( ) возвращает логическую величину (TRUE или FALSE) в зависимости от того, достигнут ли предел таблицы после последней записи.
Если оператор Fetch помещает курсор на действительную запись таблицы, то функция EOT( ) возвращает значение FALSE.
Если оператор Fetch попытается установить текущей запись после последней записи таблицы, то функция EOT( ) вернет значение TRUE.
Справочник MapBasic |
225 |

Оператор Fetch
В следующем примере оператор Fetch Next проходит по циклу по всем строкам таблицы. После каждого применения оператора вызывается функция EOT( ) и, если она вернет истинное значение, то цикл будет прерван.
Dim i As Integer
i = 0
Fetch First From world Do While Not EOT(world)
i = i + 1
Fetch Next From world Loop
Print ”Число неудаленных записей: ” + i
Примеры:
В этом примере показано, как подвести курсор к 3Lей записи в таблице STATES:
Open Table "states" |
|
|
Fetch Rec 3 From |
states |
'позиционирование на 3 ю запись |
Note states.abbr |
|
'вывод значения колонки Abbr в записи ' |
Таким же образом можно доставать значения из временных таблиц (например, из таблицы Selection).
Select * From states Where pop90 > pop80 Fetch First From Selection
Note Selection.col1 + " содержит отрицательный прирост населения"
Смотрите также:
EOT( ), Open Table
226 |
Справочник MapBasic |

Функция FileAttr( )
Функция FileAttr( )
Назначение:
Возвращает информацию об открытом файле.
Синтаксис:
FileAttr(filenum, attribute)
где
filenum – номер файла, открытого оператором Open File; attribute – код возвращаемого атрибута.
Величина, полученная в результате:
Целое число. Величина типа Integer или Small Integer.
Описание:
Функция FileAttr( ) используется для получения информации об открытом в MapInfo файле.
Параметр attribute должен принимать одно из следующих значений:
Значение attribute |
Результат |
FILE _ATTR_MODE |
Короткое целое, величина типа Small Integer, |
|
соответствующая коду режима, в котором был открыт |
|
файл: |
|
MODE_INPUT |
|
MODE_OUTPUT |
|
MODE_APPEND |
|
MODE_RANDOM |
|
MODE_BINARY |
FILE_ATTR_FILESIZE |
Целое число, величина типа Integer, размер файла в |
|
байтах. |
Ошибки:
В результате выполнения функции Вы можете получить код ошибки ERR_FILEMGR_NOTOPEN, если файл не открыт.
Смотрите также:
EOF( ), Get, Open File, Put, TableInfo
Справочник MapBasic |
227 |

Функция FileExists( )
Функция FileExists( )
Назначение:
Возвращает логическую величину (TRUE или FALSE), в зависимости от того, существует файл или нет.
Синтаксис:
FileExists(filespec)
где filespec – строка с полным именем файла, включая DOSLмаршрут.
Величина, полученная в результате:
Логическая. Величина типа Logical.
Пример:
If FileExists(”C:\MapInfo\TODO.TXT”) Then
Open File ”C:\MapInfo\TODO.TXT” For INPUT As #1
End If
Смотрите также:
TempFileName$( )
228 |
Справочник MapBasic |

Функция FileOpenDlg( )
Функция FileOpenDlg( )
Назначение:
Вызывает диалоговое окно команды ФАЙЛ > ОТКРЫТЬ ТАБЛИЦУ из меню в MapInfo и возвращает имя файла, выбранное пользователем.
Синтаксис:
FileOpenDlg(path, filename, filetype, prompt)
где
path – строковая величина, определяющая начальное значение выбранного каталога;
filename – строковая величина, определяющая начальное значение выбранного файла в каталоге (в Macintosh этот параметр должен быть пустым (""));
filetype – строковая величина в три символа или меньше, определяющая тип файла; prompt – строковая величина, задающая заголовок диалога.
Величина, полученная в результате:
Строка с именем файла или пустая, если была отмена. Величина типа String.
Описание:
Функция FileOpenDlg( ) открывает диалоговое окно подобно команде MapInfo ФАЙЛ > ОТКРЫТЬ ТАБЛИЦУ.
Чтобы выбрать файл из списка, представленного в диалоге, Вы можете указать на имя файла и нажать на кнопку OK, или просто дважды указать мышкой на имя файла. В этом случае функция возвращает полное имя выбранного файла, включая DOSLмаршрут. Если Вы нажали на кнопку "Отмена", то возвращаемая строка будет пуста ("").
Заметим, что функция FileOpenDlg( ) не открывает выбранный файл. Для того, чтобы открыть этот файл, необходимо выполнить оператор Open Table. Если же Вам нужно, чтобы в Вашей программе выбранный файл открывался автоматически, используйте оператор Run Menu Command с
использованием аргумента M_FILE_OPEN или M_FILE_ADD_WORKSPACE.
Параметр path назначает каталог, в котором помещены файлы для выбора. Значение каталога является начальным, и ничто не мешает пользователю выбрать другой каталог в диалоговом окне. Если параметр не задан (пустое значение), то каталогом выбора будет текущий рабочий каталог.
Параметр filename определяет начальное значение имени файла, выбранного в диалоге. Если программа запускается в среде Macintosh, то в этом параметре Вы должны задать пустую строку ("").
Параметр filetype принимает строковые значения обычно длиной в три символа и определяет тип файлов для выбора в диалоговом окне. И если, например, параметр посылает значение "TAB", то диалог покажет список файлов таблиц MapInfo, если посылается значение "WOR", то диалог покажет список файлов с Рабочими Наборами MapInfo.
Существуют и другие трехсимвольные значения. Эти специальные значения параметра filetype приведены в следующей таблице (только из трех символов). Если надо вывести список всех файлов, то в качестве параметра filetype используется маска “*.*”.
Значения type |
Типы файлов |
"TAB" |
Таблицы MapInfo. |
Справочник MapBasic |
229 |

Функция FileOpenDlg( )
"WOR" |
Рабочие Наборы MapInfo. |
"MIF" |
Формат обмена данными MapInfo (MapInfo Interchange Format), |
|
используется для импорта/экспорта карт в/из ASCIILтекстовых файлов. |
"DBF" |
Формат dBASE или других совместимых баз данных. |
"WKS", "WK1" |
Табличные файлы Lotus. |
"XLS" |
Табличные файлы Excel. |
"XLS3" |
Табличные файлы Excel 3.0 (только для Macintosh). |
"DXF" |
Формат обмена данными AutoCAD. |
"MMI", "MBI" |
Формат обмена данными с MapInfo для DOS. |
"MB" |
Файлы с текстами программ MapBasic. |
"MBX" |
Файлы с откомпилированными программами MapBasic. |
"TXT", |
Текстовые файлы. |
"TEXT" |
Текстовые файлы (только для Macintosh). |
"BMP" |
Формат растрового образа Windows. |
"WMF" |
Метафайлы Windows. |
"PICT" |
Формат растрового образа Macintosh. |
В Windows каждому типу соответствует определенное DOSLрасширение имени файла. Другими словами, тип файла "WOR" говорит MapBasic, чтобы был показан список файлов с расширением ".WOR", т. к. имена с таким расширением имеют файлы Рабочих Наборов в MapInfo для Windows.
Если Вы хотите, чтобы Вашу программу можно было использовать в любой системе, используйте только трехсимвольную установку параметра filetype. Например, если Вы пишете прикладную программу для работы в MapInfo для Macintosh, которая показывает диалог со списком файлов Рабочих Наборов, созданных в Macintosh, то задайте тип "WOR" (параметр filetype). Файлы Рабочих Наборов в Macintosh могут и не иметь расширения имени ".WOR", но зато каждый такой файл имеет встроенный тип. При вызове функции FileOpenDlg( ) MapBasic автоматически конвертирует трехсимвольный тип filetype в принятый в системе Macintosh код типа файла.
В Windows некоторые специальные значения filetype соответствуют строчке меню в нижнем левом углу диалога. Если в функции FileOpenDlg( ) параметр filetype задает значение не из приведенного списка, то в диалоге в окошке списка типов файлов будет пустое место.
Пример:
Dim s_filename As String
s_filename = FileOpenDlg("","","TAB","Open Table")
Смотрите также:
FileSaveAsDlg( ), Open File, Open Table
230 |
Справочник MapBasic |

Функция FileSaveAsDlg( )
Функция FileSaveAsDlg( )
Назначение:
Вызывает диалоговое окно команды ФАЙЛ > СОЗДАТЬ КОПИЮв MapInfo и возвращает имя файла, введенное пользователем.
Синтаксис:
FileSaveAsDlg(path, filename, filetype, prompt)
где
path – строковая величина, определяющая начальное значение выбранного каталога;
filename – строковая величина, определяющая начальное значение выбранного файла в каталоге; filetype – строковая величина в три символа или меньше, определяющая тип файла (в Macintosh этот параметр должен быть пустым (""));
prompt – строковая величина, задающая заголовок диалога.
Величина, полученная в результате:
Строка с именем файла или пустая строка, если диалог был закрыт кнопкой отмены. Величина типа String.
Описание:
Эта функция, подобно команде ФАЙЛ > СОЗДАТЬ КОПИЮв MapInfo, открывает диалоговое окно.
Пользователь может ввести с клавиатуры имя файла или выбрать файл из списка, представленного в диалоге; для этого Вы можете указать на имя файла и нажать на кнопку OK, или просто дважды указать мышкой на имя файла. Если файл уже существует на диске, MapBasic спросит, действительно ли необходимо заменить старое содержимое файла на новое.
Функция возвращает полное имя введенного или выбранного файла, включая DOSLмаршрут после того, как пользователь нажмет на кнопку “OK”. Если Вы нажали на кнопку "Отмена", то возвращаемая строка будет пуста ("").
Параметр path назначает каталог, в котором должен быть сохранен файл. Значение каталога является начальным, и ничто не мешает пользователю изменить каталог в диалоговом окне. Если параметр не задан (пустое значение), то каталогом будет текущий рабочий каталог.
Параметр filename определяет начальное значение имени файла.
Параметр filetype принимает строковые значения обычно длиной в три символа и определяет тип файлов для выбора в диалоговом окне. Значение filetype может быть одним из специальных значений. Например, если параметр посылает значение "TAB", то диалог покажет список файлов таблиц MapL Info, а если – "WOR", то диалог покажет список файлов с Рабочими Наборами MapInfo. Все специальные значения параметра filetype приведены в таблице в описании функции FileOpenDlg( ). Если программа запускается в среде Macintosh, то в этом параметре Вы должны задать пустую строку ("").
Функция FileSaveAsDlg( ) не сохраняет выбранный файл, но использует диалог соответствующей команды для получения полного имени, под которым надо сохранить файл. После этого для сохранения выбранного файла можно выполнить оператор Commit Table.
Смотрите также:
Commit Table, FileOpenDlg( )
Справочник MapBasic |
231 |