- •Часть 2
- •Оглавление
- •1. Структурный подход к программированию
- •1.1. Цели структурного программирования
- •1.2. Основные принципы структурного подхода
- •1.3. Спецификация программ
- •1.4. Метод пошаговой детализации
- •2. Предыстория объектно-ориентированного программирования
- •2.1. Введение в объектно-ориентированное программирование
- •2.2. Тип Объекты
- •2.3. Основные понятия ооп. Инкапсуляция. Наследование
- •X, y : integer; {координаты позиции}
- •XX,yy:array [1..1000] of integer;
- •2.4. Совместимость объектных типов по присваиванию
- •2.5. Описание типа-потомка
- •2.6. Полиморфизм
- •2.7. Виртуальные методы. Конструкторы и деструкторы
- •2.7.1. Правила работы с виртуальными методами
- •3. Типы данных и операторы языка object pascal в delphi
- •3.1. Предопределенные типы данных
- •3.1.1 Вещественные типы
- •3.1.2. Длинные строки
- •3.2. Структурированные типы
- •3.2.1. Множества
- •Var MySet: set of 'a'..'z';
- •3.2.2. Массивы
- •Var FlexArray: array of Real;
- •Var Ints: array of array of Integer;
- •3.2.3. Записи
- •Var Record1,Record2:tDateRec;
- •3.2.4. Указатели
- •I: Integer;
- •V1,v2,v3,v4,v5:Variant;
- •I:Integer;
- •3.3. Типы данных, специфичные для Windows
- •3.3.1. Приведение и преобразование типов
- •3.4. Операторы языка Паскаль
- •I:Integer;
- •I:Integer;
- •3.4.1. Элементы управления редактированием
- •3.5. Процедуры и функции библиотеки vcl
- •4. Реализация ооп на языке pascal
- •V: Real;
- •Наследование
- •Virtual;
- •Конструкторы и деструкторы
- •Перекрытие методов
- •5. Программирование в среде delphi
- •5.1. Основные элементы
- •5.2. Реализация объектно-ориентированного программирования
- •5.3. Разработка интерфейса приложения
- •5.3.1. Создание простейшего Windows-приложения
- •5.3.2. Создание Windows-приложения с метками и кнопками
- •Объект Свойство Значение
- •6.1.3. Меню Edit
- •6.1.4. Меню Search
- •6.1.5. Меню View
- •6.1.6. Меню Run
- •6.1.7. Меню Component
- •6.1.8. Меню Tools
- •6.1.9. Полоска кнопок быстрого доступа SpeedBar
- •6.1.10. Локальные меню. SpeedMenu
- •6.2. Работа с формами
- •6.2.1. Палитра компонентов
- •6.2.2. Object Inspector
- •6.2.3. Написание кода
- •6.2.4. Компиляция проекта
- •6.2.5. Интегрированный отладчик
- •6.2.6. Файлы, создаваемые системой
- •7. Структура delphi-программ
- •7.1. Разработка проекта Dialog
- •7.2. Процедуры вызова диалоговых окон
- •7.3. Преобразования типов
- •Var factW,optW,Rost,Delta:integer;
- •Var factW,optW,Rost,Delta:real;
- •7.4. Простейшие компоненты
- •7.4.1. Группы радиокнопок - компоненты RadioGroup, RadioButton, GroupBox
- •7.4.2. Компоненты выбора из списков - ListBox, ComboBox
- •7.4.3. Многострочные окна редактирования Memo и Richedi
- •7.4.4. Графические объекты
- •If OpenDialog1.Execute
- •Image1.Picture.LoadFromFile
- •7.4.5. Канва и пиксели
- •X, y :real; // координаты функции
- •7.4.6. Воспроизведение немых видео клипов – компонент Animate
- •7.4.7. Установка и настройка приложения: работа с файлами *.Ini
- •IniFile.Free;
- •Упражнения
- •8. Репозиторий объектов и эксперты
- •8.1. Страницы репозитория объектов
- •8.1.1. Страница New
- •8.1.2. Страница Forms
- •8.1.3. Страница Dialogs
- •8.1.4. Страница Data Modules
- •8.1.5. Страница Projects
- •8.2. Эксперты Delphi
- •8.2.1. Application Expert
- •8.2.2. Dialog Box Expert
- •9. Классы и модули
- •9.1. Классы и сокрытие информации
- •9.2. Классы и модули
- •9.3. Модули и область видимости
- •9.4. Модули и программы
- •9.5. Информация о типе на этапе выполнения
- •If MyAnimal is Dog then …
- •If MyAnimal is Dog
- •If MyAnimal is Dog then
- •10. Использование компонентов
- •10.1. Буксировка из одного компонента в другой
- •10.2. Обработка исключений
- •10.3. Восприятие ввода для пользователя
- •Val( Edit1.Text,Number,Code);
- •Val((Sender as tEdit).Text,Number,Code);
- •11.2. Различные роли элементов меню
- •11.3. Редактирование меню с помощью Menu Designer
- •If OpenDialog1.Execute
- •If SaveDialog1.Execute
- •Procedure tForm1.ViewEdit1Click(Sender:tObject); begin
- •If Panel1.Visible
- •If Buttons1.Enabled
- •12. Получение «ввода от мыши» и рисование в форме
- •12.1. События, связанные с мышью
- •12.2. Рисование в форме
- •If ssShift in Shift
- •If Circle then Canvas.Ellipse(Center.X-Radius.X,Center.Y-
- •Else Canvas.Rectangle(Center.X-Radius.X,Center.Y-
- •12.3. Черчение и рисование в системе Windows
- •13. Инструментальная линейка и строка состояния
- •13.1. Построение инструментальной линейки
- •Procedure tForm1.SpeedButton1Click(Sender:tObject); begin
- •If SpeedButton1.Down
- •13.2. Добавление всплывающих подсказок в линейку
- •13.3. Комбинированный список в инструментальной линейке
- •13.4. Построение строки состояния
- •14.1. Добавление второй формы в программу
- •14.2. Создание диалоговой панели
- •Задание № 1
- •Procedure tForn1.BitBtnClick(Sender:tObject); begin PageControl1.SelectNextPage(true);
- •Do ListBox1.Items.Add(PageControl1.Page[I].Caption);
- •14.3.1. Блокнот с набором ярлыков
- •If FontDialog1.Execute
- •15.2. Жизненный цикл программного средства
- •15.3. Понятие качества программного средства
- •15.4. Обеспечение надежности основной мотив разработки программных средств
- •15.4.1. Методы борьбы со сложностью
- •15.4.2. Обеспечение точности перевода
- •15.4.3. Преодоление барьера между пользователем и разработчиком
- •15.4.4. Контроль принимаемых решений
- •Литература
- •Часть 2. Объектно-ориентированное программирование
5.3.1. Создание простейшего Windows-приложения
1. Создать папку для сохранения разработанных приложений
2. Запустить Delphi.
3. Изменить заголовок окна формы с Form1 на Привет: в окне инспектора объектов (Object Inspector) установить для свойства Caption значение Привет.
4. Изменить цвет формы со стандартного на другой: в окне инспектора объектов установить для свойства Color значение clAqua.
5. Выполнить приложение:.
5.1. Запустить приложение - меню Run, Run или F9 или кнопка на панели инструментов.
5.2. Изменить размеры окна.
5.3. Поэкспериментировать со стандартными кнопками минимизации и максимизации окна.
5.3. Закончить работу приложения, закрыв его окно.
6. Сохранить форму и проект на диске: Меню File, Save All, установить свою папку, создать новую папку (с именем Приложение1), установить новую папку, открыть ее, ввести имя проекта.
5.3.2. Создание Windows-приложения с метками и кнопками
1. Запустить Delphi.
2. Поместить объект Label в окно формы Form1.
2.1. Выбрать в палитре компонентов (на странице стандартных компонентов) компонент Label .
2.2. Щелкнуть на нем и затем щелкнуть в форме. Объект будет добавлен в форму и по умолчанию получит имя Label1.
2.3. Переместить объект Label1 на желаемое место в форме.
3. Изменить свойства объекта Label1:
3.1. Убедиться, что объект Label1 выделен.
3.2. В окне инспектора объектов (Object Inspector) установить следующие значения для свойств объекта:
Объект Свойство Значение
Label1 Caption Моя первая программа!
Font 12 p., красный
Alignment taCenter
Color желтый (Yellow)
AutoSize False
4. Выполнить приложение: меню Run, Run или F9.
5. Сохранить форму и проект на диске: Меню File, Save All, установить свою папку, ввести имя Приложение2.
6. Поместить объект Button (командная кнопка) в окно Form1. Он по умолчанию получит имя Button1. Изменить его размеры.
7. Установить свойство Caption объекта Button1 в значение «Увеличение».
8. Написать код для события Click на объекте Button1.
8.1. Два раза щелкнуть по объекту Button1 в форме, что приведет к открытию окна кода (переключение между окноми кода и форм - F12).
8.2. Между словами Begin и End написать следующий код:
Label1.Font.Size := Label1.Font.Size +2;
9. Выполнить программу. Обратить внимание на то, что происходит при нажатии кнопки с надписью «Увеличение».
10. Сохранить форму и проект на диске: Меню File, Save.
11. Создать объект «командная кнопка» для уменьшения размера шрифта.
12. Создать объект «командная кнопка» для того, чтобы двигать текст. Код: Label1.Left := Label1.Left + 10;
Label1.Top := Label1.Top + 10;
13. Создать объект «командная кнопка» для того, чтобы сделать текст невидимым. Код: Label1.visible:=false;
14. Создать объект «командная кнопка» для выхода из работы программы. Код: Close ;
15. Сохранить форму и проект.
5.3.3. Создание Windows-приложения с радио-кнопками и вариацией цвета
1. Поместить компоненты Label, Panel, GroupBox, RadioButton (страница Standard) в форму.
2. Установить следующие свойства объектов, используя инспектор объектов:
Label1 Caption Светофор
Panel1,2,3 Caption Цвет
GroupBox1 Caption
RadioButton1 Caption Красный
RadioButton2 Caption Желтый
RadioButton3 Caption Зеленый
3. Записать код для процедуры обработки события Click (щелчок мыши) на объекте RadioButton1:
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Panel1.Color:=clRed;
Panel2.Color:=clWhite;
Panel3.Color:=clWhite;
end;
Самостоятельно записать код для процедур:
TForm1.RadioButton2Click и TForm1.RadioButton3Click
4. Добавить печать информации «Стойте», «Внимание», «Идите» на панели с соответствующим сигналом белого цвета шрифтом жирного начертания 12 п.
5.3.4. Создание Windows-приложения с цифровыми часами
1. Поместить компоненты Label (страница Standard) и Timer (страница System) в форму Form1.
2. Установить следующие свойства объектов, используя инспектор объектов:
Объект Свойство Значение
Form1 Name Часы
Label1 Caption 00:00:00
Label1 Color clYellow
Label1 Font.Size 24
Label1 Font.Color Красный
3. Записать код обновления времени для процедуры
TClock.Timer1Timer;
procedure TClock.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=TimeToStr(Time);
end;
4. Выполнить приложение.
5. Сохранить форму и проект на диске в новой папке.
6. Развитие задачи - добавление кнопок регулирования скорости обновления времени.
6.1. Добавить в форму компоненты GroupBox и RadioButton: (компонент GroupBox является контейнером для других компонентов).
6.2. Установить следующие свойства объектов:
GroupBox1 Caption Скорость
RadioButton1 Caption Медленно
RadioButton2 Caption Умеренно
RadioButton3 Caption Быстро
6.3. Записать код для процедуры TForm1.RadioButton3Click:
Timer1.Interval := 1000;
Этот код реализует изменение свойства Interval объекта Timer1.
Самостоятельно записать код для процедур: TForm1.RadioButton1Click (3000) и TForm1.RadioButton2Click (2000)
6.4. Выполнить приложение и сохранить результаты.
5.3.5. Создание Windows-приложения для вычисления различных математических функций
Ввести значение x и вычислить значения следующих математических функций:
Abs(x) log10(x)
Ln(x) Sqr(x)
Power(x,k) Sqrt(x)
sin(x) Exp(x)
cos(x)
1. Поместить компоненты Label и Edit в окно формы Form1 и установить их свойства.
2. Записать код для обработки события OnClick на объекте Button1:
procedure TForm1.Button1Click(Sender: TObject);
Var x, y1, y2 : real;
begin
x := StrToFloat(Edit1.Text);
y1 := cos(x);
y2 := ln(x);
Edit2.text := FloatToStr(y1);
Edit3.text := FloatToStr(y2);
end;
4. Добавить возможность вычисления остальных функций. Учесть, что для использования функций Log10 и Power необходимо в строке Uses добавить в перечень модуль Math .
5.3.6. Создание Windows-приложения для вычисления случайного числа и сравнения его с числом, введенным пользователем.
По результатам сравнения выдаются сообщения: «Вы угадали», «Число меньше искомого», «Число больше искомого», «Число вне диапазона». Код:
var
Form1: TForm1; m : integer; {Случайное число}
...
procedure TForm1.Button1Click(Sender: TObject);
Var
n:integer;
s:string;
begin
n:=StrToInt(Edit1.Text);
If(n<0) Or (n>10)
Then s:=' Число вне диапазона'
Else if n>m
Then s:=' Число больше искомого'
Else If n<m
Then s:='Число меньше искомого'
Else If n = m
Then s:='Вы угадали';
Label2.Caption:=s;
end;
Procedure tform1.formcreate(Sender: tobject);
begin
Randomize;
m:=Random(10);
End;
6. КОМПОНЕНТЫ СРЕДЫ DELPHI
6.1. Меню и команды Delphi
Чтобы выдать команду в среде Delphi, можно воспользоваться тремя основными способами:
с помощью меню;
с помощью полоски SpeedBar (инструментальной линейки);
с помощью SpeedMenu (одного из локальных меню, которое активизируется при нажатии правой кнопки мыши).
6.1.1. Обращение к справочной системе Help
Для вызова справочной системы необходимо выбрать соответствующую команду в выпадающем меню Help или отметить элемент интерфейса в исходном тексте и нажать клавишу F1. При нажатии кнопки «Разделы» в окне Help появляется диалоговое окно справочной системы Windows, которое позволяет вам просмотреть содержание всех файлов Help-группы, отыскать ключевое слово по индексу или начать процесс поиска.
6.1.2. Меню File
Команды выпадающего меню File можно использовать для работы как с проектами, так и с файлами исходного кода.
К командам, работающим с проектами, относятся New, New Application, Open, Reopen, Save Project As, Save All, Close All, Add to Project и Remove from Project. С файлами исходного кода работают команды New, New Form, New Data Module, Open, Reopen, Save As, Save, Close и Print. Основной командой является File/New, которую можно использовать для вызова экспертов, для начала работы с новым приложением, для наследования формы из уже существующей и т.д. Чтобы открыть проект или файл исходного кода, с которыми вы работали последний раз, используйте команду File/Reopen.
