Визуальное программирование. Методический сборник
.pdf
понента, необходимо преобразовать полученную строчку в целое число. При выводе числа на компонент требуется выполнить обратное преобразование: целое – в строку.
Проект № 2. Простейший калькулятор
−Создайте новый проект. Сохраните проект и форму в отдельной папке под уникальными именами.
−Разместите два редактируемых поля. Задайте для них свой-
ство Text = 0.
−Между полями поместите врамке кнопки сознаками опера-
ций «+», «-», «/» и «*».
−Правеерасположитенадписьсознакомоперации«=». Справа от знака «=» поместите вторую надпись для вывода результата. Начальное значение равно нулю.
−При нажатии на кнопку со знаком операции во вторую надпись должен выводиться результат операции над числами, введенными в редактируемые поля.
−Если в поля введены не числа, то во второй надписи должно появиться сообщение «Не число!». Если задан знаменатель, равный нулю, то при попытке деления чисел во второй надписи должно появиться сообщение «Деление на ноль!!!»
−Сохраните все и проверьте работу приложения.
Замечание: функции преобразования типов порождают исключения при невозможности такого преобразования. Эти исключения нужно перехватить и выдать сообщение об ошибке.
11
Задание 2. Списки и комбинированные списки. Их свойства и методы. События, связанные со списками.
Проект № 1
−Создайтеновыйпроект. Поместитенаформутекстовоеполе длявводадолжностисотрудника. Очиститесвойство“Text”. Сделайте поле недоступным – задайте свойство “Enabled” равным значению “false”. Слева от поля поместите надпись «должность». Справа от поля поместите комбинированный список.
−Задайте тип комбинированного списка, допускающий как выбор значений из списка, так и ввод новых значений в поле комбинированного списка. Заполните список значениями доступных должностей.
−При выборе в списке значения должности она должна отображаться в текстовом поле, расположенном справа от списка. При вводе должности в поле комбинированного списка, эта должность также должна отображаться в текстовом поле, расположенном справа от комбинированного списка.
−Сохраните проект и проверьте работу программы.
−Поместите на форму кнопки «Добавить», «Удалить», «Изменить» и «Очистить список», предназначенные для добавления в список новой должности, удаления или редактирования выделенной
всписке должности и очистке всего списка, соответственно.
−Поместите на форму еще одно текстовое поле для ввода должности сотрудника. Очистите свойство “Text”. Слева от нового поля поместите надпись «новая должность». При добавлении и ре-
12
дактировании должностей новая должность должна считываться из этого поля.
−Сохраните проект и проверьте работу программы.
−Поместите на форму кнопки «Сохранить» и «Открыть». При нажатии на кнопку «Сохранить» список доступных должностейдолжензаписыватьсявтекстовыйфайл. Принажатиинакнопку «Открыть» список должностей должен заполняться из другого текстового файла.
Замечание: комбинированный список объединяет два компонента – текстовое поле и собственно список. Соответственно, комбинированный список обладает свойствами, методами и событиями, присущими обоим компонентам.
Проект № 2
−Поместите на форму текстовые поля для ввода фамилии, имени и отчества. Поля расположите по вертикали, одно под другим. Очистите свойство “Text” у всех полей. Слева от соответствующих полей поместите надписи «фамилия», «имя» и «отчество».
−Внизуформыпоместитекомпонентдлявыводамногострочного текста. Этот объект должен быть достаточного размера по ширине. Введите вертикальную линейку прокрутки. Задайте первоначальный текст записки по приведенному образцу. При любом редактировании полей, предназначенных для ввода фамилии, имени или отчества в заявлении, отображающемся внизу формы, символ « # » должен меняться на фамилию и инициалы «заявителя».
13
−Запустите программу и введите свою фамилию, имя и от-
чество.
−Создайте текстовый файл с бланком заявления. Вместо фамилии и инициалов заявителя поместите символ « # ». При вызове программы текстовый файл должен считываться в компонент, предназначенный для вывода многострочного текста.
Замечание: для считывания текста из файла можно использовать события, связанные с созданием или активацией формы.
Задание 3. Переключатели (радиокнопки) и флажки. Их свойства и методы. События, связанные с переключателями и флажками.
Проект № 1
−Создайтеновыйпроект. Поместитенаформукомпонентдля ввода многострочного текста. Введите вертикальную линейку прокрутки. Исходный текст записки можно ввести через диалог свойства компонента. Слева от текстового поля расположите вертикально четыре кнопки: «вырезать», «копировать», «вставить» и «удалить». Соответствующие операции должны проводиться над выделенным фрагментом текста. Вырезанный или скопированный фрагмент сохраните в глобальной переменной.
−Сохраните проект и проверьте работу программы.
14
−Отредактируйте проект – используйте буфер обмена (Clipboard) вместо глобальной переменной для хранения вырезанного или скопированного фрагмента.
Замечание: можно создать в программе свой объект – буфер обмена, но в этом случае приложение не сможет осуществлять обмен данными с другими программами. Поэтому лучше получить доступ к имеющемуся буферу обмена.
−Сохраните проект и проверьте работу программы.
−Непосредственноподтекстовымполемрасположитепанель группы переключателей «Цвет символов». Задайте имена переключателей «черный», «синий» и «красный». Выбор переключателя в группедолжензадаватьцветсимволовзаписки, отображаемой втекстовом поле.
−Справа от группы переключателей, управляющих цветом символов, расположите группу переключателей, задающих цвет фона – «белый», «желтый» и «зеленый».
Замечание: желательно, чтобыпризагрузкепрограммывкаждой группе переключателей был выбран один из них, соответствующий реальным значениям цвета символов и фона.
−Справа от группы переключателей, задающих цвет фона, расположите еще одну рамку, поместив в нее флажки, задающие форматирование текста, – «курсив», «жирный», «подчеркнутый» и «перечеркнутый».
Замечание: в отличие от группы переключателей, в группе флажковмогутбытьвыбранысразунесколькоилиневыбранниодин.
−И, наконец, справа от группы флажков, определяющих стиль шрифта, поместите комбинированный список, задающий размер шрифта. Применение комбинированного списка рассматривалось в предыдущем задании.
−Сохраните проект и проверьте работу программы.
Задание 4. Создание меню приложения. Вложенные меню. Маркеры команд меню. Группы команд. Клавиши быстрого доступа. Стандартные диалоги.
Проект № 1
− Создайтеновыйпроект. Поместитенаформукомпонентдля ввода многострочного текста. Введите линейки прокрутки. Исход-
15
ный текст записки можно ввести через свойства компонента. Если нужно считать текст из файла, можно использовать события, связанные с созданием или активацией формы.
− Добавьте компонент, предназначенный для работы с меню приложения. Создайте меню «Файл» с командами «Открыть», «Сохранить» и «Выход». Задайте для команд меню клавиши быстрого доступа и пиктограммы.
− Найдите компоненты, предназначенные для вызова стандартных диалогов. Поместите на форму диалоги открытия и сохранения файлов. Создайте обработчики команд меню, используя для выбора файла стандартные системные диалоги.
Замечание: диалоги открытия и сохранения файлов предназначены для задания имени файлов. Сама процедура чтения или за-
16
писи в файл должна быть реализована вами. Пиктограммы невизуальных компонентов, отображенные на рисунке, зависят от среды разработки. Приведенные в образце пиктограммы соответствуют среде Borland Builder.
− Сохраните проект и проверьте работу программы.
− Добавьте стандартные диалоги для выбора шрифта и цвета. Доработайте меню. Пункт меню «редактирование» содержит команды: «вырезать», «копировать», «вставить» и «удалить». Пункт меню «шрифт» включает три группы команд. Команды первой группы – «курсив», «жирный», «подчеркнутый» и «перечеркнутый» – должны отображать маркер флажка, показывающий, что данный параметр выбран. Команды второй группы – «черный», «синий» и «красный» – должны работать аналогично радиокнопкам, то есть позволятьвыбортолькоодногопараметра, задающегоцветсимволов. Третья группа содержит команды вызова диалогов для выбора шрифта и фона.
Замечание: желательно, чтобыпризагрузкепрограммывкаждой группе переключателей был выбран один из них, соответствующий реальному значению цвета символов.
− Сохраните проект и проверьте работу программы.
Задание 5. Панели инструментов. Виды кнопок панели инструментов. Кнопки с фиксацией состояния. Группы кнопок. Кнопки-списки. Изображения на кнопках. Связь кнопок панели инструментов с командами меню.
Проект № 1
− Данное приложение аналогично проекту, рассмотренному в предыдущем задании, но интерфейс программы основан на исполь-
17
зовании панели инструментов. Можно создать новый проект или продолжить работу с предыдущим проектом – в этом случае кнопки панели инструментов будут дублировать команды меню.
−Найдите и поместите на форму компонент, предназначенный для работы с панелью инструментов. Создайте список изображений для пиктограмм кнопок. Для кнопок задания цвета рисунки создайте самостоятельно. Подключите к панели инструментов список изображений. Добавьте кнопки на панель инструментов. Задайте нужные стили кнопок – обычные кнопки, кнопки с фиксацией состояния, кнопки-списки.
−Кнопки первых групп панели инструментов не фиксируют состояние (нажата или нет). Они соответствуют пунктам меню предыдущего задания «Файл» («Открыть», «Сохранить», «Выход»)
и«Редактирование» («вырезать», «копировать», «вставить», «удалить»). Кнопки третьей и четвертой групп – это кнопки с фиксацией состояния. При этом кнопки третьей группы («курсив», «жирный», «подчеркнутый» и «перечеркнутый») могут одновременно находиться в нажатом состоянии, а кнопки четвертой группы («черный», «синий», «красный») должны функционировать аналогично радиокнопкам, то есть нажатой может оставаться только одна кнопка в группе. Последняя кнопка – это кнопка-список. Подключите к ней любой список команд меню.
−Если создан новый проект, поместите на форму невизуальные компоненты стандартных диалогов – открытия и сохранения файлов, выбора цвета и шрифта. Если вы продолжаете работу с предыдущим проектом (создания меню), эти диалоги уже размещены на форме.
−Для кнопок панели инструментов создайте обработчики событий, либо свяжите кнопки с нужными командами меню.
Замечание: желательно, чтобы при загрузке программы в группе кнопок управления цветом была нажата та, которая соответствует реальному значению цвета символов.
−Сохраните проект и проверьте работу программы.
18
Задание 6. Обработка событий мыши и клавиатуры. Технология Drag&Drop. Применение технологии Drag&Drop для обмена информацией между компонентами.
Проект № 1
−Создайте новый проект. Поместите на форму компонент «метка» («надпись»). Измените текст надписи на «Допускается ввод только десятичных дробей со знаком».
−Добавьте редактируемое поле. Используя события поля, связанныеснажатиемклавишклавиатуры, заблокируйтевводвполе любых символов, кроме необходимых, для ввода и редактирования знаковых десятичных чисел.
−Сохраните проект и проверьте работу программы.
Проект № 2
− Создайте новый проект. Поместите на форму редактируемоеполеидвасписка(иликомбинированныхсписка). Заполнитенесколько строчек в каждом списке.
19
−Используя процесс перетаскивания мышью (технология Drag&Drop), реализуйтеобработкусобытий, связанныхсперетаскиванием текста из редактируемого поля во второй список. Перетаскиваемыйтекстдолжендобавлятьсявконецсписка, асписок– раскрываться.
−Приперемещенииинформациинадпервымспискомондолжен «отпрыгивать» – перемещаться вниз на несколько пикселей.
−Сохраните проект и проверьте работу программы.
−Далеереализуйтевозможностьперетаскиваниявыделенной строки из первого списка в редактируемое поле.
−Сохраните проект и проверьте работу программы.
Замечание: при перемещении над компонентом, который мо-
жет принять перетаскиваемую информацию, курсор мыши должен
выглядеть так: 
В противном случае курсор мыши имеет вид: 
Задание 7. Обработка событий мыши и клавиатуры. Отображение и редактирование графической информации. Задание цвета и стиля линий. Графические примитивы.
Проект № 1
− Создайте новый проект. Поместите на форму два компонента, предназначенных для рисования и отображения графической информации.
20
