Взаимодействие компонентов, работающих с базами данных

Глава 3

Stdlib.h

Файл

Псевдослучайное целое, диапазон от 0 до 231 - 1

Long Irand(void)

Irand

Функция

Синтаксис / Описание

Функция

rand

RandG

random

randomize

Randomize

srand

Синтаксис / Описание

int rand(void)

Псевдослучайное целое, диапазон от 0 до RAND_MAX

Extended RandG(Extended Mean, Extended StdDev)

Псевдослучайные числа, распределенные по нормально-

му закону; Mean — математическое ожидание,

StdDev — среднее квадратичное отклонение

int random(int num.)

Псевдослучайное целое, диапазон от 0 до num - 1

void randomize(void)

Рандомизация генераторов (кроме RandG) случайной

величиной

void Randomize(void)

Рандомизация RandG случайной величиной

void srand(unsigned seed)

Рандомизация генераторов (кроме RandG) числом seed

Файл

stdlib.h

Math.hpp

stdlib.h

stdlib.h

Math.hpp

stdlib.h

 

 

 

С.250

 

зировать.

Каждое серьезное приложение должно иметь:

• главное меню MainMenu

• инструментальную панель быстрых кнопок (например, ТооШаг),дублирую-

щих основные разделы меню

• контекстные меню PopupMenu,всплывающие при щелчке пользователя пра-

вой кнопкой мыши на том или ином компоненте

• ярлычки подсказок (реализуются свойством Hint),всплывающие при переме-

щении курсора мыши над быстрыми кнопками и иными компонентами

• полосу состояния StatusBar,используемую часто для развернутых подсказок

• файл справки, темы которого отображаются при нажатии клавиши Fl и при

выборе пользователем соответствующего раздела меню.

Методика разработки такого приложения в общих чертах сводится к следую-

щему:

1. Продумывается и составляется список действий, которые должны быть до-

ступны будущему пользователю через разделы меню, инструментальные пане-

ли, кнопки и другие элементы управления.

2. На форму переносится список изображений ImageListи заполняется пиктог-

раммами, которые будут использоваться для тех нестандартных действий, ко-

торые должны быть доступны из быстрых кнопок инструментальной панели.

3. На главную форму приложения переносится компонент диспетчеризации дейст-

вий: ActionList или ActionManager.Компонент связывается с ImageList.Двой-

ным щелчком на диспетчере действий вызывается редактор действий, с помо-

щью которого формируется список стандартных и нестандартных действий.

4. Каждому действию задается набор характеристик: Name (имя) Caption(над-

пись, в которой выделяется символ быстрого доступа), Shortcut(горячие кла-

виши), Imagelndex(номер изображения в ImageList), Hint(тексты подска-

зок), HelpContextили HelpKeyword(ссылка на тему справки) и др. Для не-

стандартных действий все эти характеристики вы записываете сами. Для

стандартных действий они заносятся автоматически. Вам надо только перевес-

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

не устраивающие вас стандартные изображения и комбинации горячих кла-

виш. А если у вас предусмотрена в приложении контекстная справка, то надо

задать ссылки на соответствующие темы. Впрочем, в начале проектирования

справки, конечно, еще нет. Так что свойства HelpContext и HelpKeywordвы

можете задать позднее.

5. > Записываются обработчики событий выполнения для всех нестандартных дей,-

ствий. Стандартные действия обрабатываются автоматически и для многих из

них достаточно задать некоторые свойства обработки. Впрочем, как будет вид-

но позднее, иногда надо писать обработчики и для стандартных действий.

Дальнейшие шаги зависят от того, используете ли вы компонент ActionList,

или ActionManager. Для ActionListдалее надо сделать следующее:

6. На форму переносится компонент MainMenu— главное меню, связывается

с ImageList,в компоненте формируется меню, и в его разделах даются ссылки

на действия, описанные в ActionList.

Компоненты C++Builder 151

7. На форме создается инструментальная панель (обычно, компонент ТооШаг).

Панель связывается с ImageList, а в ее кнопках даются ссылки на действия,

описанные в ActionList.

Если вы используете компонент ActionManager,то эти шаги выглядят иначе:

6. На форму переносится компонент ActionMainMenuBar- - полоса главного

меню. Она связывается с диспетчером ActionManager.Затем из редактора ActionManager

перетаскиваются мышью на полосу меню категории разделов, кото-

рые должны входить в меню как головные разделы, или отдельные действия.

7. В редакторе ActionManagerсоздается новая инструментальная панель, или

несколько панелей. На них перетаскиваются мышью необходимые действия.

Дальнейшие операции во всех случаях сводятся к следующему:

8. Если необходимо обеспечить в приложении контекстные всплывающие меню,

то на форму переносится один или несколько (по числу различных контекст-

ных меню) компонентов PopupMenu.Они связываются с компонентом Image-

Listсвоим свойством Images.Далее контекстные меню заполняются анало-

гично главному меню, причем обычно большинство разделов просто копиру-

ются из главного меню.

9. При переносе на форму компонентов, с которыми должны быть связаны кон-

текстные меню, в их свойствах PopupMenuдаются ссылки на соответствую-

щие компоненты PopupMenu.

10.На форму переносится компонент ApplicationEvents,и с его помощью запи-

сываются обработчики событий приложения, в частности, отображение раз-

вернутых подсказок в полосе состояния и т.п.

11.Создается файл справок .Ыр и связывается с приложением.

Конечно, это очень схематичное описание методики проектирования. Деталь-

ное рассмотрение этой методики проведено в [1].