оператор define

Призначає ім'я для постійної величини.

Цей оператор не може бути використаний у вікні MapBasic.

Define identifier definition

identifier - ім'я, слово не більше 31 символу довжиною, що починається з букви або символу підкреслення (_);

definition - значення, яке MapBasic підставить замість кожного identifier в тексті програми.

Оператор Define визначає ідентифікатор identifier для постійної величини. Перед компіляцією MapBasic спочатку замінює кожен ідентифікатор identifier на текст, який визначений параметром definition. Приклади застосування оператора Define Ви можете побачити в файлі MAPBA SIC.DEF.

Малі та великі символи в іменах ідентифікаторів не розрізняються. Тобто, якщо Ви за допомогою оператора Define задали деякій величині ідентифікатор FOO. то в тексті програми можна використовувати і Foo. і foo.

В операторі Define не можна застосовувати для імен слова, що використовуються як ключові, наприклад, Set або Create. Список "заборонених" слів наведено в описі оператора Dim.

Оператор Define робить Вашу програму більш зрозумілою, т. К. Ви можете задати осмислені імена констант. Наприклад, в програмі використовується число π (пі), яке приблизно дорівнює 3.141593. Ви можете присвоїти цій константі ім'я Pi і використовувати його в тексті програми. Для цього на початку програми напишіть:

Define PI 3.141593

У параметрі definition оператора Define можна використовувати лапки.

Define FILE_NAME "World.tab"

Наступний оператор входить до складу файлу стандартних визначень MAPBASIC.DEF. Виконання цього визначення призводить до відкриття порожнього вікна "Повідомлення":

Define CLS Print Chr $ (12)

Видаляє один або більш графічних об'єктів. Або ж видаляє одну чи більше рядків з таблиці.

Delete [Object] From table [Where Rowid = id_number]

table - ім'я відкритої таблиці;

id_number - номер рядка, ціле число від 1 і більше.

Оператор Delete видаляє графічний об'єкт або весь запис, відповідну цьому об'єкту в таблиці.

За замовчуванням видаляються всі рядки таблиці. Якщо в операторі вказано ключове слово Object. то, видаливши графічні об'єкти, MapBasic не вилучено записи, до яких ці об'єкти були приєднані.

Параметр id_number з пропозиції Where Rowid =. задає номер рядка, яка буде видалена з колонки. Якщо оператор Delete не містить ключового слова Object і в ньому не заданий номер видаляється рядка, то будуть видалені всі записи з таблиці.

Оператор Delete Object From відрізняється від оператора Drop Map. Перший діє тільки з об'єктами або записами і не впливає на структуру таблиці. Оператор Drop Map. навпаки, змінює структуру таблиці так, що з неї виключаються графічні об'єкти.

У цьому прикладі оператор Delete видаляє всі записи з таблиці CLIENTS.TAB. Сама таблиця не видаляється, а стає порожній, схожою на ту таблицю, яка створюється в MapInfo командою Ф Айл> Н ова ТАБЛИЦЯ.

Open Table "clients.tab"

Delete From clients

Commit Table clients

Оператор Delete видаляє тільки графічний об'єкт, приєднаний до десятій записи таблиці.

Open Table "clients.tab"

Delete Object From clients Where Rowid = 10

Commit Table clients

Drop Map. Insert

[Width w] [Height h] [Position x, y] [Calling handler]

title - строкова величина, яка поміщається в рядок заголовка діалогового вікна;

h - задає висоту діалогового вікна в спеціальних одиницях виміру висоти діалогу (висота одного символу в діалозі дорівнює 8 одиницям);

w - задає ширину діалогового вікна в спеціальних одиницях виміру ширини діалогу (ширина одного символу в діалозі дорівнює 4 одиницям);

x, y - координати верхнього лівого кута діалогу в пікселах щодо верхнього лівого кута робочої області MapInfo's (за замовчуванням діалог буде розташований в середині);

handler - ім'я процедури, яка виконується перед виведенням діалогу на екран; зазвичай в ці процедури поміщаються оператори Alter Control.

Кожен параметр control_clause може бути однією з конструкцій, яка починається одним з наступних ключових слів:

Кожному типу пропозиції Control control_clause присвячений окремий розділ цього справжнього

Оператор Dialog створює діалогове вікно довільного виду для організації діалогу програми з користувачем.

Це так званий модальний діалог; іншими словами, користувач повинен закрити діалог (наприклад, натиснувши на кнопку "OK" або "Скасувати") для того, щоб продовжити роботу з MapInfo.

Все, що знаходиться всередині діалогового вікна, називається елементами діалогу. Кожен елемент створюється за допомогою пропозиції, що починається зі слова Control. Зазвичай діалог містить кілька елементів: кнопки підтвердження та скасування, віконце для введення тексту, прапорці, списки. Скільки елементів повинно містити діалогове вікно, стільки пропозицій, які починаються зі слова Control. має бути в операторі Dialog. Тип елемента діалогу задає наступне за Control ключове слово (дивіться вище). Наприклад, для кнопки підтвердження використовується пропозицію

Оператор Dialog дозволяє створювати Вам діалогові вікна довільного виду. Якщо Ви хочете використовувати стандартні діалоги в своїй програмі, використовуйте наступні оператори і функції: Ask (). Note. ProgressBar. FileOpenDlg (). FileSaveAsDlg ().

Інформацію про основні концепції побудови діалогового вікна в MapBasic Ви можете знайти в 6 чолі Інструкції MapBasic.

Розмір і розташування елементів діалогу

В операторі Dialog розмір і розташування елемента діалогу вимірюються в долях шрифту діалогу. Кожна одиниця виміру ширини в діалозі дорівнює одній четвертій ширини символу (перша координата) і кожна одиниця виміру висоти в діалозі - однієї восьмої висоти символу (друга координата). Так, якщо елемент має ширину 40 і висоту 40, то це означає, що в елемент можна вмістити слово в десять букв і список в п'ять рядків.

Центром координат для визначення місця елементів діалогу узятий верхній лівий кут вікна діалогу, він має координати (0,0). Наступний приклад визначає розташування в діалозі на п'ять букв правіше і на дві літери нижче лівого верхнього кута вікна діалогу:

Пропозиції Position. Height і Width не є обов'язковими. Якщо Ви їх опустили, то MapBasic розмістить елементи за замовчуванням в порядку проходження відповідних пропозицій Con trol в операторі.

Слід враховувати, що один і той же діалог може в Macintosh здатися більше ніж Windows, так як системний шрифт в системі Macintosh крупніше.

Діалогове вікно, відкрите MapBasic оператором Dialog. можна закрити одним з чотирьох способів:

• користувач натискає кнопку елемента OkButton (якщо цей елемент присутній в діалозі);

• користувач натискає кнопку елемента CancelButton (якщо цей елемент присутній в діалозі);

• користувач скасовує діалог, використовуючи системне меню діалогового вікна або клавішу ESC;

• користувач вказує на елемент діалогу, обробник якого виконує оператор Dia

Зазвичай для закриття використовуються кнопки, створювані елементами OKButton або CancelButton. Але, використовуючи обробники для цих елементів, Ви можете перехоплювати закриття діалогу. Наприклад, після натискання кнопки "ОК" з'являється вікно з питанням: "Колишні значення записи будуть втрачені. Ви хочете зберегти таблицю?". Якщо Ви натиснули на кнопку з негативною відповіддю, Ви повертаєтеся в перший діалог.

Для досягнення цього ефекту використовується оператор Dialog Preserve. Оператор працює тільки в підпрограма-обробниках елементів OkButton і CancelButton.

Читання введених значень

Після оператора Dialog за допомогою функції CommandInfo () можна визначити, як був закритий діалог користувачем, кнопкою "OK" або "Скасувати". Якщо користувач натиснув на кнопку "OK", то функція

Схожі статті