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

Оператор Graph

Оператор Graph

Назначение:

Открывает новое окно Графика.

Синтаксис (версии 5.5):

Graph

label_column , expr [, ... ] From table

[ Position (x, y) [ Units paperunits ] ] [ Width width [ Units paperunits ] ]

[ Height height [ Units paperunits ] ] [ Min | Max ]

[ Using template_file [ Restore ] [ Series In Columns ] ]

где

label_column – имя колонки, используемой для подписывания оси Y; expr – выражение;

table – имя открытой таблицы;

paperunits – строковая величина, задающая единицу измерения листа (например, "mm");

x, y – координаты позиции верхнего левого угла окна Графика в "бумажных" единицах измерения; width и height – определяют размер окна Графика в "бумажных" единицах измерения.

template file - это файл шаблона графика

Синтаксис (версии до 5.5)

Graph

label_column , expr [ , ... ] From table

[ Position ( x , y ) [ Units paperunits ] ]

[ Width

width

[ Units paperunits ]

]

[ Height

height

[ Units paperunits ]

]

[ Min | Max ]

 

 

label_column – имя колонки, используемой для подписывания оси Y;

expr – выражение;

table – имя открытой таблицы;

paperunits – строковая величина, задающая единицу измерения листа (например, "mm");

x , y – координаты позиции верхнего левого угла окна Графика в "бумажных" единицах измерения;

window_width и window_height – определяют размер окна Графика в "бумажных" единицах измерения;

Описание:

Если предложение Using присутствует и template_file указывает файл шаблона, то график версии 5.5 будет создан на основе указанного шаблона. В противном случае будет создан график версии 5.0. Если включено предложение Restore, то текст заголовка из файла шаблона будет использован для окна графика.

В противном случае для заголовка графика будет использован стандартный текст. Ключевое слово Restore будет использовано когда команда Graph записывается в рабочий набор, при открытии такого рабочего набора текст заголовка будет восстановлен в точности таким, каким он был при

Справочник MapBasic

277

Оператор Graph

сохранении рабочего набора. Ключевое слово Restore не используется в Graph команде, создаваемой с помощью Мастера графиков, и для каждого заголовка будет использован стандартный текст. Если включается Series In Columns, то серии графиков будут организовываться из колонок таблицы. В противном случае, серии будут образовываться из строк таблицы.

Команды Graph в рабочих наборах или программах, которые созданы в версиях ранее 5.5 будут создавать окно графика версии 5.0. Когда окно графика 5.0 активно в версии MapInfo 5.5, то меню графика версии 5.0 так же будет активным, и пользователь может настраивать график используя диалоги версии 5.0. Мастер графиков будет всегда создавать окно графиков версии 5.5.

Оператор Graph создает новое окно Графика и показывает в нем данные, определенные в таблице table. Вид графика в окне будет столбцовый повернутый, если Вы заранее не определили другой вид оператором Set Graph. Выполнив оператор Set Graph после оператора Graph Вы можете также изменить заголовок графика, вид осей, подписей и т. п.).

Команда ОКНО > ГРАФИК в MapInfo вызывает диалог, в котором пользователь выбирает имена полей, значения которых будут отображены в графике. Оператор Graph в MapBasic, кроме этого, позволяет задавать выражения с именами полей для построения графика. В диалоге команды ГРАФИК пользователь может задать только четыре колонки, тогда как оператор может построить график из 255 колонок (если этот график имеет смысл).

Предложение Position задает расположение окна на экране. Координаты x и y определяют верхний левый угол окна Графика относительно верхнего левого угла окна MapInfo.

Предложения Width и Height определяют ширину и высоту окна Графика. Параметры x, y, window_width, window_height задаются в единицах, определенных в предложении Units. Если оно в каком-либо из трех вышеупомянутых предложений опущено, соответствующие параметры будут задаваться в "бумажных" единицах, определенных в Вашей программе (смотрите оператор Set Paper Units).

Ключевые слова Max и Min используются для открытия окна Графика на все рабочее окно MapInfo или для создания окна свернутым в иконку. Последнее действие не поддерживается в системе Macintosh.

Пример (графики версии 5.5):

Graph State_Name, Pop_1980, Pop_1990, Num_Hh_80 From States Using

»C:\Program Files\MapInfo\GRAPHSUPPORT\Templates\Column\Percent.3tf»

Graph City, Tot_hu, Tot_pop From City_125 Using »C:\Program Files\Map

Info\GRAPHSUPPORT\Templates\Bar\Clustered.3tf» Series In Columns

Пример (графики версии до 5.5):

Graph Country, Population From Selection

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

Set Graph

278

Справочник MapBasic

Функция HomeDirectory$( )

Функция HomeDirectory$( )

Назначение:

Возвращает строкой личный каталог пользователя.

Синтаксис:

HomeDirectory$( )

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

Строка. Величина типа String.

Описание:

Функция HomeDirectory$( ) возвращает строку, представляющую личный каталог пользователя.

Значение, которое будет возвращено функцией, определяется системной платформой.

Система

 

Результат

Windows

 

Каталог, содержащий стартовые файлы Windows (например, WIN.INI). При

 

 

 

работе в сети каждый пользователь может иметь свой личный Windows-каталог,

 

 

что позволяет задавать свою личную конфигурацию.

Macintosh

 

Расположение папки System. Замечание: Вы можете избежать хранения файлов,

 

 

относящихся к MapBasic-программе файлов непосредственно в папке System.

 

 

Если Вам необходимо расположить файлы конфигурации в лекгодоступном

 

 

месте, то можно использовать папку Preferences, которая находится внутри

 

 

папки System.

Пример:

Dim s_home_dir As String

s_home_dir = HomeDirectory$( )

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

ApplicationDirectory$( ), ProgramDirectory$( ), SystemInfo( )

Справочник MapBasic

279

Оператор If...Then

Оператор If...Then

Назначение:

Условное выполнение той или иной группы операторов.

Синтаксис:

If if_condition Then if_statement_list

[ ElseIf elseif_condition Then elseif_statement_list ]

[ ElseIf... ] [ Else

else_statement_list ]

End If

где

condition – выражение, результат которого есть логическая величина (TRUE или FALSE); statement_list – группа операторов, количество которых может быть нулевым.

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

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

Описание:

Оператор If... Then позволяет выбрать, какую группу операторов выполнить при удовлетворении определенных условий, задаваемых выражениями if_condition и elseif_condition.

Возможна простая форма оператора If, оператор без предложений ElseIf и Else...

If if_condition Then if_statement_list

End If

В этом случае вычисляется значение выражения if_condition. Если выражение равно логическому значению TRUE, то MapBasic выполнит операторы if_statement_list. Иначе MapBasic пропустит группу операторов statement_list и передаст управление программой следующему оператору после

End If.

Второй вариант формы If включает конструкцию Else:

If if_condition Then if_statement_list

Else

else_statement_list

End If

Здесь вычисляется значение выражения if_condition. Если выражение равно логическому значению TRUE, то MapBasic выполнит операторы if_statement_list и передаст управление программой следующему оператору после End If. Иначе MapBasic пропустит группу операторов statement_list и

выполнит else_statement_list.

Третий вариант формы If включает предложение ElseIf, и потом предложение Else (хотя это не обязательно):

If if_condition Then if_statement_list

ElseIf elseif_condition Then elseif_statement_list

280

Справочник MapBasic

Оператор If...Then

Else

else_statement_list

End If

В этом случае также сначала вычисляется значение выражения if_condition. Если выражение равно логическому значению TRUE, то MapBasic выполнит операторы if_statement_list и передаст управление программой следующему оператору после End If. Иначе MapBasic будет проверять выражения elseif_condition и, если оно истинно, выполняются операторы elseif_statement_list и управление программой передается следующему оператору после End If. Если выражение elseif_condition ложно, будут выполнены операторы, определенные конструкцией Else.

Оператор If может содержать несколько конструкций ElseIf, позволяющих Вам рассматривать любое количество возможных состояний. Но если Вы хотите, чтобы программа была написана в хорошем стиле, используйте оператор Do Case, а не оператор If с несколькими предложениями ElseIf.... .

Пример:

Проверим, не является ли сегодняшний день праздничным (Новый год, Рождество или Татьянин день), и выведем соответствующее поздравление. Если день не является праздником, будет выведено сообщение "Добрый день."

Dim today As Date

Dim today_mon, today_day, yearcount As Integer

today = CurDate( )

' чтение текущей даты

today_mon

= Month(today)

' чтение

текущего месяца

today_day

= Day(today)

' чтение

текущего числа (1 31)

If today_mon = 1 And today_day = 1 Then

Note "С Новым Годом!"

yearcount = yearcount + 1

ElseIf today_mon = 1 And today_day = 7 Then

Note "С Рождеством!"

ElseIf today_mon = 1 And today_day = 25 Then

Note "С днем ангела, Танечка!"

Else

Note "Добрый день."

End If

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

Do Case

Справочник MapBasic

281

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