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

Оператор Include

Оператор Include

Назначение:

Объединяет содержимое отдельного текстового файла с текстом программы MapBasic.

Синтаксис:

Include "filename"

где

filename – имя текстового файла.

Предупреждение:

Вы не можете использовать оператор Include в окне MapBasic.

Описание:

Когда MapBasic компилирует программный файл с оператором Include, текст определенного в этом операторе файла рассматривается как часть текста программы. Файл, заданный параметром filename, должен состоять из допустимых операторов MapBasic.

Если имя файла в параметре filename задано без каталога и этот файл не находится в активном каталоге, то компилятор языка MapBasic делает попытку найти его в том каталоге, в котором расположен программный файл MapBasic. Это позволяет Вам не копировать каждый раз файлы стандартных определений (такие, как MAPBASIC.DEF) в каталог разрабатываемой программы.

Оператор используется для подсоединения к файлам стандартных определений, таких, как MAPBAL SIC.DEF и MENU.DEF. В них с помощью оператора Define целочисленным кодам заданы имена (например, TRUE и FALSE), использование которых в Вашей программе делает ее текст более понятным.

Однако, если Вы изменили содержимое текстового файла, подсоединенного оператором Include, то для внесения этих изменений в программу ее необходимо перекомпилировать.

Пример:

Include ”MAPBASIC.DEF”

Справочник MapBasic

267

Оператор Input #

Оператор Input #

Назначение:

Читает данные из файла и помещает их в переменные.

Синтаксис:

Input #filenum , var_name [, var_name ... ]

где

filenum – номер файла, под которым он был открыт оператором Open File; var_name – имя переменной.

Описание:

Оператор Input # читает данные из файла, открытого в режиме последовательного доступа (INPUT, OUTPUT или APPEND), и присваивает их как значения одной или более переменным MapBasic.

Оператор Input # читает данные последовательно от верхней строки к последней, присваивая каждую порцию одной переменной var_name. Оператор Input # считывает порции данных из файла, используя в качестве разделителей запятую и символ конца строки. Поэтому, чтобы прочитать одну строку с запятыми в одну строковую переменную, надо использовать оператор Line Input #.

Когда оператор Input # читает пустую строку, то значением строковой переменной будет пустая строка (""). Если переменная была объявлена численным типом, то значением будет ноль.

После выполнения оператора Input # применение функции EOF( ) помогает определить корректность результата чтения. Если чтение произошло успешно, результатом функции EOF( ) будет логическое "нет" (FALSE), и, если был прочитан признак конца файла, EOF( ) вернет логическое "да" (TRUE).

Пример использования оператора Input # Вы можете увидеть в программе NVIEWS ("Виды") из стандартной поставки MapBasic.

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

EOF( ), Line Input #, Open File, Write #

268

Справочник MapBasic

Оператор Insert

Оператор Insert

Назначение:

Добавляет новую строку в открытую таблицу

Синтаксис:

Insert Into table [ ( columnlist ) ]

{ Values ( exprlist ) | Select columnlist From table }

где

table – имя открытой таблицы; columnlist – список выражений;

exprlist – одно выражение или список, разделенный запятыми.

Описание:

Оператор Insert вставляет новую строку в открытую таблицу. Этот оператор применяется в двух формах, позволяющих либо добавлять таблице по одной строке, либо добавлять группы строк из другой таблицы. В каждом случае порядок и количество значений в списке exprlist, которые будут вставлены в поля новой строки, должны соответствовать колонкам, перечисленным в списке column list. Если колонки не перечислены, то будут рассматриваться все поля в новой строке. Если Вы хотите сохранить таблицу с новыми строками на диске, то после ввода используйте оператор Commit Table.

Если Вы точно знаете, сколько колонок в таблице, и если Вам уже известно, какие именно величины в какие поля надо поместить, то можно опустить предложение (columnlist). Достаточно составить список величин в порядке расположения полей в таблице. В следующем примере результатом оператора будет новая строка в таблице, состоящей из четырех колонок ("Имя", "Адрес", "Город", "Область"), и каждому полю будет определено значение:

Insert Into customers

Values ("Мария Павловна Носова", "ул. Солнечная, 2, 23",

"Троицк", "Московская")

Результатом этого оператора может быть ошибка, если таблица будет иметь больше или меньше колонок, чем четыре. Если Вы не знаете точно, сколько колонок составляют таблицу, или не знаете, в каком порядке расположены колонки в таблице, необходимо в операторе использовать список имен колонок (columnlist).

Следующий оператор создает новую строку со значением в поле "Имя". Для успешного выполнения оператора необязательно знать, сколько всего полей в структуре таблицы.

Insert Into customers ( Имя )

Values ("Степан Иванович Гарин")

Следующий оператор создает точечный объект и вставляет его в поле "Obj" новой записи в таблице SITES. Таким образом, мы создаем новую чистую запись с присоединенным точечным объектом.

Insert Into sites (Obj)

Values ( CreatePoint( 73.5, 42.8) )

Следующий пример иллюстрирует, как оператором Insert можно добавить запись в таблицу, используя запись из другой. Допустим, что в таблице NY_ZIPS содержатся ZIPLкоды штата НьюL Йорк и в таблице NJ_ZIPS содержатся ZIPLкоды штата НьюLДжерси. Добавим все ZIPLкоды из одной таблицы в другую. Такая операция иногда необходима для поиска, так как оператор Find может работать только с одной таблицей.

Справочник MapBasic

269

Оператор Insert

Insert Into NY_ZIPS

Select * From NJ_ZIPS

В следующем примере берутся все объекты из таблицы WORLD и каждый подсоединяется к новой строке таблицы OUTLINE.

Open Table "world"

Open Table "outline"

Insert Into outline (Obj)

Select Obj From World

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

Commit, Delete, Rollback

270

Справочник MapBasic

Функция InStr( )

Функция InStr( )

Назначение:

Возвращает позицию первого символа подстроки в строке.

Синтаксис:

InStr(position, string, substring)

где

position – стартовая позиция для поиска, положительное целое число; string – строковое выражение;

substring – строковое выражение.

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

Целое число. Величина типа Integer.

Описание:

Функция InStr( ) проверяет, входит ли в состав строки, представленной выражением string, другая строка (или символ), представленная выражением substring, и возвращает позицию вхождения. Поиск в первой строке начинается с символа, номер которого задается параметром position. Если position равен единице, MapBasic начинает поиск с начала строки string.

Если строка substring не входит в string, то результатом функции InStr( ) будет 0 (ноль).

Если строка substring найдена в string, то функция InStr( ) вернет номер символа в строке string, который является первым в substring.

Если параметр substring – пустая строка, то результатом будет 0 (ноль).

Функция InStr( ) различает строчные и прописные буквы. Другими словами, функция InStr( ) не найдет подстроку "ИЯ" в строке "Россия" и вернет ноль.

Ошибки:

В результате выполнения функции может генерироваться код ошибки ERR_FCN_ARG_RANGE, если position больше, чем количество символов в строке string.

Пример:

Dim fullname As String, pos As Integer

fullname = "Галина Петровна Соколова" pos = InStr(1, fullname, "Галина")

'

' переменная pos равна 1 (единице)

'

pos = InStr(1, fullname, "Сокол")

'

' теперь pos равна 17 (семнадцати)

'

pos = InStr(1, fullname, "СОКОЛ")

'

' теперь pos равна 0 (нулю);

'

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

Mid$( )

Справочник MapBasic

271

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