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

Оператор Get

Оператор Get

Назначение:

Читает данные из файла, открытого в бинарном режиме (BINARY) или в режиме произвольного доступа (RANDOM).

Синтаксис:

Get [#]filenum, [ position ], var_name

где

filenum – номер файла, открытого оператором Open File; position – позиция, с которой начинается чтение из файла; var_name – имя переменной.

Описание:

Оператор Get читает данные из файла, открытого оператором Open File, и помещает их в переменную var_name. Способ чтения оператором Get определяется режимом, в котором файл был открыт оператором Open File.

Если файл открыт в режиме произвольного доступа, то параметр position определяет строку данных, с которой начинается чтение. Сразу после открытия файла чтение можно производить из первой строки. По мере чтения оператором Get позиция считывания автоматически наращивается, и нет нужды каждый раз менять значение Position. Однако, если Вы хотите перейти не к следующей по порядку строке, то Вам придется явно задать значение Position.

Если файл открыт в режиме бинарного доступа, то одним оператором Get читается одно значение var_name. То, как читаются данные, зависит от порядка задания байтов в исходном файле и типа переменной var_name. Если переменная имеет тип Integer, то прочитываются 4 байта из двоичного файла и превращаются в переменную MapBasic. Переменные заполняются при чтении по следующим правилам:

Тип

Данные

Logical

Однобайтовое значение, или 0, или другое ненулевое число.

SmallInt

Двубайтовое значение, целое число.

Integer

Четырехбайтовое значение, целое число.

Float

Восьмибайтовое число в формате IEEE.

String

Длина строки плюс один байт для нулевого значения,

 

обозначающего конец строки.

Date

4 байта: SmallInt для года, один байт для месяца и один байт

 

для дня.

Другие типы

Чтение не производится.

Справочник MapBasic

253

Оператор Get

Врежиме чтения двоичных кодов параметр Position используется для задания позиции считывания на определенное значение смещения в файле. Сразу после открытия файла значение позиции устанавливается на единицу (начальный байт файла). По мере выполнения оператора Get значение смещения автоматически увеличивается на общую длину считанной информации. Если Вы не задаете значение Position, каждый новый оператор Get продолжает чтение с того места, на котором оно остановилось в прошлый раз.

Воператоре Get нужно поставить две запятые, если параметр position опущен.

Если файл был открыт в режиме BINARY, оператор Get не может заполнять строку (переменную типа String) неопределенной длины; любая переменная типа String в операторе Get должна иметь определенную длину.

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

Open File, Put

254

Справочник MapBasic

Функция GetMetadata$( )

Функция GetMetadata$( )

Назначение:

Извлекает из таблицы метаданные.

Синтаксис:

GetMetadata$( table_name, key_name )

где

table_name – имя открытой таблицы, заданое как недвусмысленное имя (например, World) или как строка (например, “World”);

key_name – строковая величина, представляющая собой имя ключа метаданных.

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

Величина типа String, строка длинной до 239 байт. Если ключ не существует или соответствующее значение пусто, то MapInfo вернет пустую строку.

Описание:

Эта функция возвращает метаданные из таблицы. Более подробное описание процесса извлечения метаданных из таблицы см. в описании оператора Metadata, а также в главе 7 Руководства пользователя MapBasic.

Пример:

Если в таблице PARCELS есть ключ метаданных “\Copyright”, то следующий оператор распечатывает соответствующее значение метаданных:

Print GetMetadata$(Parcels, ”\Copyright”)

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

Metadata

Справочник MapBasic

255

Функция GetSeamlessSheet( )

Функция GetSeamlessSheet( )

Назначение:

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

Синтаксис:

GetSeamlessSheet( table_name )

где table_name – имя открытой сшитой таблицы.

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

Строка. Величина типа String, представляющая собой имя таблицы (или пустую строку при отмене выбора пользователем).

Описание:

Эта функция показывает диалоговое окно со списком таблиц, составляющих сшитую таблицу. Если пользователь выбирет таблицу и нажмет на кнопку “OK”, то функция вернет имя выбранной таблицы. Если пользователь отменит диалог, то результатом будет пустая строка.

Пример:

Sub Browse_A_Table(ByVal s_tab_name As String)

Dim s_sheet As String

If TableInfo(s_tab_name, TAB_INFO_SEAMLESS) Then s_sheet = GetSeamlessSheet(s_tab_name)

If s_sheet <> ”” Then Browse * From s_sheet

End If Else

Browse * from s_tab_name End If

End Sub

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

Set Table, TableInfo( )

256

Справочник MapBasic

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