- •Коренькова Татьяна Николаевна
- •Часть 2
- •Практическая часть
- •Типизированные файлы.
- •Нетипизированные файлы.
- •Библеотека graph
- •Практическая часть Основные графические операторы для построения изображений:
- •Процесс построения изображений с помощью графических процедур разбивается на отдельные этапы:
- •Пример программы построения графика функции.
- •Практическая часть
- •Практическое занятие №24. Изучение интегрированной среды разработчика.
- •Ход работы
- •1. Загрузите систему визуального программирования Delphi.
- •Закройте окно программы Forml, минимизируйте главное окно Delphi и создайте на рабочем диске папку с названием группы, а в ней папку, названную вашей фамилией. Снова активизируйте окно Delphi.
- •Сохраните созданную программу в своей папке.
- •6. Визуально ознакомьтесь со свойствами формы Left, Тор, Width и Height.
- •7. Исследуйте, как изменение значений свойств Left, Тор, Width или Height формы в окне ObjectInspector ведет к изменению расположения или размера формы.
- •8. Измените цвет фона формы.
- •Выполните программу еще раз (см. Пункт 3).
- •Вставьте в форму текстовое поле (объект типа Label) с текстом «Анкета студента».
- •12. Вставьте в форму объект типа Image (картинка).
- •13. Вставьте свою портретную фотографию с помощью свойства Picture (иллюстрация) объекта Imagel.
- •14. Наложите свою художественную фотографию на портретную, вставив в форму еще один объект типа Image.
- •15. Поэкспериментируйте со свойством Visible (видимость) двух изображений, каждый раз выполняя программу (см. Пункт 3).
- •16. Вставьте в форму кнопки для поочередного отображения наложенных одна на другую фотографий - два объекта типа Button с названиями Buttonl и Button2.
- •17. Запрограммируйте кнопку «Портретная фотография» так, чтобы после ее нажатия в форме появлялась портретная фотография.
- •18. Запрограммируйте кнопку «Художественная фотография» соответственно ее назначению (см. Пункт 17).
- •Запустите программу и убедитесь, что кнопки выполняют свои функции. Закройте окно программы «Анкета студента».
- •Создайте ехе-файл проекта
- •Практическое занятие №25 Создание простого проекта. Задачаобобменевалюты
- •Ход работы
- •1. Вставьте в форму два объекта типа RadioButton (переключатель), как показано на рис. 7.
- •2. Задайте начальное значение второго переключателя как активное.
- •16. Запустите программу и убедитесь, что переключатели выполняют предписанные им функции.
- •17. Запрограммируйте кнопку «Выход».
- •18. Запрограммируйте кнопку «Вычислить».
- •24. Создайте ехе-файл Вашей программы.
- •25. Закройте среду Delphi, запустите созданную программу и выполните вычисления для разных входных данных.
- •26. Продемонстрируйте созданную форму преподавателю. За- кончите работу.
- •Практическое занятие №26 Объявление класса, создание экземпляров класса.Задачатабулированияфункции Объекты Memo, MainMenu, PopupMenu, CheckBox, GroupBox. Программирование циклов
- •Ход работы
- •Загрузите среду визуального программирования Delphi.
- •Поменяйте заголовок (Caption) формы с «Forml» на «Табулирование функции» (без кавычек) и увеличьте размеры формы в вертикальном направлении.
- •Смените пиктограмму в левом Верхнем углу формы, указав конкретный файл с рисунком пиктограммы в поле значения свойства Icon (пиктограмма) формы.
- •21. Запрограммируйте команду «Табулировать».
- •Практическое занятие №27 Создание наследованного класса. Задачаобиржеценныхбумаг
- •Ход работы
- •8. В окне текста программы перед разделом implementation введите описание констант и переменных программы:
- •10. В окне текста программы после раздела implementation введите описание метода Refresh формы.
- •Сохраните выполненную на данный момент работу в своей папке.
- •Практическое занятие №28 Перегрузка методов. Задачаотелефонномсправочнике
- •Ход работы
- •8. Сохраните выполненную на данный момент форму в своей папке.
- •9. С помощью мыши задайте ширину столбцов таблицы, на- пример так, как показано на рис. 16.
- •10. Добавьте на форму главное меню и введите названия его команд, как показано на рис. 16 и рис. 17.
- •11. Создайте окно формы «о программе» (см. Рис. 18).
- •Сохраните работу и запустите проект на выполнение.
- •18. Добавьте на форму два объекта - стандартные диалоги Windows для открытия и сохранения файлов.
- •19. Запрограммируйте процедуры открытия и сохранения фай- лов телефонного справочника (команды главного меню «Прочитать из файла» и «Записать в файл»).
- •20. Напишите процедуру создания формы.
- •21. Напишите процедуру заполнения полей редактирования NewEdit.
- •22. Напишите процедуру заполнения комбинированного списка NewComboBox.
- •Сохраните работу, запустите программу, заполните таблицу данными и убедитесь в том, что программа правильно записывает на диск и считывает с диска файлы телефонных справочников.
- •Запрограммируйте команду главного меню «Сохранить изменения в списке записей».
- •Практическое занятие №29 Создание проекта с использованием кнопочных компонентов.
- •Ход работы
- •5. Дважды щелкните на первом таймере и запрограммируйте мигание сообщения «Обязательно нажмите на кнопку «Готово» после размещения рисунков!!» так:
- •6*. Введите описание глобальных переменных программы:
- •6**. Введите описания глобальных констант и переменных программы:
- •Аналогично запрограммируйте соответствующие события для перетягивания двух других рисунков.
- •Создайте еще один метод формы tForml — функцию ImagelnShape для проверки расположения рисунка (объекта Image) в середине некоторой геометрической фигуры (объекта Shape).
- •11*. Запрограммируйте кнопку "Готово", проверяющую правильность расположения рисунков в середине фигур и выводящую информационное окно с сообщением "Правильно!" или "Неправильно!":
- •11**.Запрограммируйте кнопку "Готово", проверяющую правильность расположения рисунков в середине фигур:
- •Сохраните программу и проект в своей папке.
- •Запустите программу. Перетягивайте мышью рисунки на середину соответствующих фигур.
- •Создайте ехе-файл программы и поупражняйтесь с ней.
- •Упражнения. Совершенствование проекта
- •Практическое занятие №31 Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени. Калькулятор
- •Постановка задачи.
- •Ход работы.
- •Упражнения. Совершенствование проекта.
- •Практическое занятие №33 Разработка оконного приложения. Создание новых форм с меню, геометрическими фигурами, палитрой и со шкалой.
- •Практическое занятие №34 Разработка оконного приложения с несколькими формами. Разработка проекта Halfbottle.
- •Постановка задачи.
- •Ход работы
- •Упражнения. Совершенствование проекта.
- •Практическое занятие №35 Разработка многооконного приложения. Проект “Худой или полный?”.
- •Упражнения
- •Сообщения и коды ошибок
- •50. Do expected (Нуженоператор do).
- •54. Of expected (Требуется of).
- •55. Interface expected (Требуется интерфейсная секция).
- •57. Then expected (Требуется then).
- •58. To or downto expected (ТребуетсяТОили downto).
- •73. Implementation expected (Отсутствует исполняемая часть модули).
- •102. String constant expected (Нужнаконстантастроковоготипа).
- •106. Character expression expected (Предшествующее выражение должна иметь символьный тип).
- •161. Code generation error (Ошибка генерации кода).
- •162. Asm expected (Отсутствует зарезервированное слово asm). Ошибки, возникающие во время выполнения программ
- •Ошибки ввода-вывода
- •Критические ошибки
- •Фатальные ошибки
- •Литература
Упражнения. Совершенствование проекта
Обеспечьте удаление кнопки Button1 (а также и метки Label1) после ее нажатия. Для этого добавьте в процедуру TForm1.Button1Click(Sender:TObject) строки, задающие значение False свойствам Visible этих компонентов.
Засекретим текст, вводимый в строку редактирования Edit1. Для этого в окне ObjectInspector укажите для этого компонента символ (свойство PasswordChar), который будет печататься в строке при наборе имени вне зависимости от набираемых букв (обычно используется *).
Сделайте так, чтобы цвет формы менялся в зависимости от правильности введенного имени. Для этого добавьте вусловный оператор выражения вида (не забудьте использовать begin и end):
Form1.Color:=clBlack;
Практическое занятие №31 Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени. Калькулятор
Цель работы: научиться создавать проект с использованием компонентов ввода и отображения чисел, дат и времени.
Теоретическая часть
Создадим новый проект приложения. К примеру, в Delphi 7 для этого следует выполнить команду меню File → New → Application.
Теперь разработаем программу калькулятора. Это будет не инженерный, а обычный калькулятор, поэтому над оформлением формы сильно мучаться не придётся – она будет содержать всего лишь одно текстовое поле и 16 кнопок.
Конечный вид размещения элементов управления на форме показан на рис. 1.5.
Практическая часть
Ход работы
Приступим к разработке этой формы. Для начала присвоим значения некоторым свойствам формы Form1 согласно табл. 1.2.
Рис. 1.5. Конечный вид формы программы калькулятор
Таблица 1.2. Свойства формы Form1
Свойство |
Значение |
Пояснение |
Caption |
Калькулятор |
Заголовок формы |
BorderStyle |
bsDialog |
Граница формы не позволяет изменять ее размеры – как у диалоговых окон |
Height |
170 |
Высота формы |
Width |
173 |
Ширина формы |
Теперь
разместим на форме компонент Edit
(текстовое поле)
со
вкладки Standartпалитры
компонентов.
Присвоим свойствам компонента Edit1 значения согласно табл. 1.3
Таблица 1.3. Свойства компонента Edit1
Свойство |
Значение |
Пояснение |
Text |
|
Очищаем содержимое текстового поля |
Left |
4 |
Отступ слева |
Top |
4 |
Отступ сверху |
Width |
157 |
Ширина поля |
Настал
черед кнопок. Для этого можно было бы
использовать обычный компонент Buttonсо
вкладки Standart,
но вместо него мы воспользуемся
компонентом BitBtn
со
вкладки Additional,
чтобы надписи на кнопках можно было
сделать цветными.
Разместим вначале на форму кнопку, соответствующую цифре 7, и присвоим ее свойствам значения согласно табл. 1.4.
Таблица 1.4. Свойства кнопки BitBtn1
Свойство |
Значение |
Пояснение |
Caption |
7 |
Надпись на кнопке |
Left |
4 |
Отступ слева |
Top |
32 |
Отступ сверху |
Width |
33 |
Ширина кнопки |
Font.Size |
10 |
Делаем шрифт надписи крупнее |
Font.Color |
clBlue |
Выделяем надпись синим цветом |
Разместим на форме остальные кнопки, соответствующие цифрам калькулятора. Для этого можно просто выделить уже созданную кнопку, скопировать ее в буфер обмена (например, нажав комбинацию клавиш <Ctrl+C> или выполнив команду меню Edit → Copy), а затем вставить из буфера обмена требуемое количество раз, нажав комбинацию клавиш <Ctrl+V> или выполнив команду меню Edit → Paste. Присвоим свойству Caption каждой кнопки соответствующее значение, а значения свойств Left и Top установим, руководствуясь табл. 1.5.
Таблица 1.5. Координаты цифровых кнопок калькулятора
Caption |
8 |
9 |
4 |
5 |
6 |
1 |
2 |
3 |
0 |
Left |
40 |
76 |
4 |
40 |
76 |
4 |
40 |
76 |
4 |
Top |
32 |
32 |
60 |
60 |
60 |
88 |
88 |
88 |
116 |
Разместим на форме кнопки, соответствующие сбросу (“CE”) и знаку равно (“=”). Изменим из свойства Caption , а так же Left (для кнопки CE – 40, для кнопки = - 60) и Top (116). Свойству Font.Color Присвоим значение clRed (надписи будут выделены красным цветом).
Напоследок разместим на форме ещё четыре кнопки BitBtn, соответствующие арифметическим действиям сложения (свойство Caption = +), вычитания (Caption = -), деления (Caption = /) и умножения (Caption = *). Свойству Width каждой из кнопок присвоим значене 37, свойству Left – значение 124, а свойству Font.Color – значене clNavy. Значения свойства Top соответсвуют цифровым кнопкам калькулятора (32, 60, 88 и 116).
Объявление переменных
Теперь перейдем в редактор кода. Первым делом объявим все переменные, которые будем использовать в программе. Переменные объявляются в разделе var:
… Var Form1: TForm1; … Num1, num2: integer; // для хранения первого и второго числа Doit: string; // действие, которое надо выполнить с числами |
Событие OnClick кнопок калькулятора
После того как в раздел var внесены изминения, создадим обработчик события для каждой цифровой кнопки калькулятора. Для этого можно просто дважды щелкнуть мышью на каждой из кнопок в конструкторе формы и ввести необходимые операторы в процедуре обработки события OnClick
Для кнопки 0 это будет:
Procedure TForm1.BitBtn10Click (Sender: TObject); Begin Edit1.Text:= Edit1.Text + ‘0’; End;
|
Для кнопки 1:
Procedure TForm1.BitBtn7Click (Sender: TObject); Begin Edit1.Text:= Edit1.Text + ‘1’; End;
|
И так далее…
При нажатии кнопки CEдолжен происходить сброс:
Procedure TForm1.BitBtn11Click (Sender: TObject); Begin Edit1.Clear; Num1:=0; Num2:=0; Doit:=’ ‘; End;
|
Здесь очищается текстовое поле (метод Clear) и обнуляются все переменные.
Теперь обработаем события нажатия кнопок арифметических действий.
Для сложения:
Procedure TForm1.BitBtn13Click (Sender: TObject); Begin Num1:= StrToInt (Edit1.Text); Doit:= ‘плюс’; Edit.Clear; End;
|
Для вычитания:
Procedure TForm1.BitBtn14Click (Sender: TObject); Begin Num1:= StrToInt (Edit1.Text); Doit:= ‘минус’; Edit.Clear; End;
|
Для умножения:
Procedure TForm1.BitBtn16Click (Sender: TObject); Begin Num1:= StrToInt (Edit1.Text); Doit:= ‘умножить’; Edit.Clear; End;
|
Для деления:
Procedure TForm1.BitBtn15Click (Sender: TObject); Begin Num1:= StrToInt (Edit1.Text); Doit:= ‘разделить’; Edit.Clear; End;
|
В этих процедурах сначала запоминается число, введенное пользователем (num1), поскольку, если он выполняет какое либо действие, то это означает, что первое число уже введено. Затем запоминается действие (doit), которое пользователь хочет выполнить над переменной num1. После этого текстовое поле очищается (Edit1.clear), чтобы пользователь мог ввести второе число.
Осталась только одна кнопка =, которая выводит результат:
Для сложения:
Procedure TForm1.BitBtn12Click (Sender: TObject); Begin Num2:= StrToInt (Edit1.Text); If doit:= ‘плюс’ Then Edit1.Text:= IntToStr (num1 + num2); If doit:= ‘минус’ Then Edit1.Text:= IntToStr (num1 - num2); If doit:= ‘умножить’ Then Edit1.Text:= IntToStr (num1 * num2); If doit:= ‘разделить’ Then Edit1.Text:= IntToStr (num1 div num2); Num1:=0; Num2:=0; Doit:= ‘ ‘; End;
|
Пользователь нажимает кнопку = после того как уже ввел второе число, поэтому число сохраняется в переменной num2. Затем мы проверяем, какое действие хотел выполнить пользователь. Результат операции заносится в текстовое поле (свойство Edit1.Text), после чего все переменные обнуляются для использования в последующих расчетах.
Компиляция и запуск программы
Теперь можно откомпилировать и запустить программу на выполнение. При первом запуске программы потребуется сохранить файлы с исходным кодом программы. Сохраним файл, содержащий код программы, под именем Calc1.pas, а файл проекта Delphi – под именем Calc.dpr. Программа Калькулятор в действии показана на рис 1.6.
Примечание:
Возможно, у учителя возник вопрос: “А где же различные проверки, например, деления на ноль?” Об этом можно не беспокоиться, поскольку в Delphi это все учитывается, и при неккоректных значениях на экране появляется соответствующее сообщение (рис. 1.7).
Рис.1.6. Программа калькулятор в действии Рис. 1.7. Сообщение о делении на ноль
Практическое занятие №32 Создание проекта с использованием компонентов стандартных диалогов и системы меню.
Разработка проекта Goroscop
Цель работы: научиться создавать проект использованием компонентов стандартных диалогов и системы меню.
Теоретическая часть
