Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии программирования. Программирование графических интерфейс

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
2.24 Mб
Скачать

EHeapException – направильная операция с динамической памятью.

EInOutError – ошибка ввода/вывода.

EIntError – любая ошибка в целочисленных вычислениях. Класс – предок всех классов исключительных ситуаций, возникающих при выполнении целочисленных операций, а именно:

EDivByZero – деление на ноль.

ERangeError – результат находится вне допустимого диапазона значений.

EIntOverflow- переполнение.

EInvalidCast – недопустимое преобразование типов с помощью оператора as.

EMathError – любая ошибка при выполнении операций с плавающей точкой. Класс – предок всех классов исключительных ситуаций, возникающих при выполнении операций с плавающей точкой, а именно:

EInvalidArgument – аргумент математической функции вышел за область допустимых значений.

EInvalidOp – процессорвыполняетошибочнуюинструкцию. EZeroDevide – деление на ноль.

EOverflow – переполнение.

EUnderflow – исчезновение порядка (числослишком мало). EOutOfMemory – при запросе на распределение памяти для динамической переменной в «куче» отсутствует память тре-

буемого размера.

EStackOverflow – переполнение стека.

EStreamError – любая ошибка при работе с потоками. Класс – предок всех классов исключительных ситуаций, возникающих при работе с потоками данных, а именно:

EFCreateError – ошибка создания файла при работе с потоками,

EFOpenError – ошибка открытия файла при работе с потоками.

201

13.4. Пример создания более сложной диалоговой программы

1.Определитьв отдельноммодулепользовательский класс.

2.На главную форму поместить компонент TMainMenu, два списка TListBox для просмотра объектов (в списке показываются только строки, связанные с объектами), компоненты стандартных диалогов TOpenDialog и TSaveDialog, компонент TImage для хранения изображения корзины.

3.Создать (или найти) изображение «корзины» и установить ее в компоненте TImage.

4.С помощью редактора меню создать следующее меню:

File

Work

О программе

|

|

 

Сохранить объекты

Добавить объект

 

Загрузить объекты

Просмотреть объекты

Выход

 

 

5.Разместить на форме компонент TImageList (страница Win32) и разместить в нем подходящие изображения кнопок.

6.Разместить на форме компонент TToolBar (страница Win32) и поместить в него кнопки для следующих команд: «Сохранить объекты», «Загрузить объекты», «Добавить объект», «Просмотреть объекты», «Редактировать объект», «Очистить список». Для каждой кнопки выбрать из TImageList подходящее изображение.

7.Создать диалоги для добавления объектов, просмотра объектов, редактирования объекта.

8.Разместить на форме компонент TActionList. Открыть редактор действий и добавить в нем необходимые действия.

9.Установить для действий необходимые свойства, в том числе свойство Hint.

10.Для каждого действия создать обработчик события.

202

11.Определить для элементов управления свойства Action.

12.Написать обработчик кнопки Next диалога просмотра объектов.

13. Реализовать перетаскивание объектов из списка № 1

всписок № 2 и обратно.

14.Реализовать перетаскивание объектов из списка № 2

в«корзину».

15.Добавить в программу обработку исключительных ситуаций.

Методические указания

1.При создании объектов они добавляются в список № 1.

2.Из списка № 1 объекты можно перемещать только в спи-

сок № 2. При перемещении объекта он удаляется из источники

идобавляется в приемник.

3.Редактируются и просматриваются объекты только

всписке № 1.

4.Очищается только список № 1.

5.Объекты хранятся только в списках TListBox, никаких дополнительных списков (типа коллекций) создавать не надо.

6.В «корзину» можно перемещать объекты только из списка № 2. При этом объект в «корзине» не сохраняется, а только удаляется из списка № 2.

Вопросы для самоконтроля

1.Как может быть реализована процедура создания объектов: диалог для ввода полей объекта, создание объекта, добавление его в список TListBox.

2.Как может быть реализована процедура просмотра объектов: диалоговое окно, выбор объекта из списка, показ его полей в окне, переход к просмотру следующего объекта?

203

3.Каким образом объекты сохраняются в файле: диалог для ввода имени файла, открытие файла, получение объекта из списка, запись в файл, закрытие файла?

4.Каким образом объекты загружаются из файла: диалог для ввода имени файла, открытие файла, чтение из файла, создание объекта, добавление его в список TListBox?

5.Объясните процедуру редактирования объекта: инициирование диалога, сохранение измененных поля в объекте, замена объекта в спискеTListBox

6.Как создается панель инструментов: создание самой панели, помещениенанее кнопок, созданиеизображений для кнопок?

7.Как добавить в программу действия?

8.Какие свойства для объектов-действий обычно устанавливаются?

9.Как связать выбор команды меню или кнопки на панели инструментов с необходимым обработчиком?

10.Как инициируется процесс перетаскивания объектов?

11.Какие события участвуют в процессе перетаскивания?

12.Как изменить форму курсора у компонента, который готов принять перетаскиваемый объект?

204

Учебное издание

Ноткин Аркадий Михайлович

ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ. ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ ИНТЕРФЕЙСОВ:

Microsoft Visual Studio и Borland Delphi

Учебное пособие

Редактор и корректор И.Н. Жеганина

__________________________________________________________

Подписано в печать 23.01.2013. Формат 60×90/16. Усл. печ. л. 13,0. Тираж 100 экз. Заказ № 8/2013.

Издательство Пермского национального исследовательского

политехнического университета.

Адрес: 614990, г. Пермь, Комсомольский проспект, 29, к. 113.

Тел. (342) 219-80-33.