🗊 Презентация Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8)

Нажмите для полного просмотра!
Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №1 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №2 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №3 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №4 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №5 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №6 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №7 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №8 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №9 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №10 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №11 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №12 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №13 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №14 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №15 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №16 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №17 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №18 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №19 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №20 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №21 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №22 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №23 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №24 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №25 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №26 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №27 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №28 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №29 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №30 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №31 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №32 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №33 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №34 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №35 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №36 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №37 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №38 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №39 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №40 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №41 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №42 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №43 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №44 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №45 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №46 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №47 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №48 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №49 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №50 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №51 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №52 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №53 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №54 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №55 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №56 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №57 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №58 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №59 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №60 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №61 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №62 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №63 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №64 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №65 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №66 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №67 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №68 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №69 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №70 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №71 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №72 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №73 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №74 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №75 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №76 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №77 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №78 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №79 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №80 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №81 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №82 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №83 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №84 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №85 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №86 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №87 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №88 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №89 Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8), слайд №90

Содержание

Вы можете ознакомиться и скачать презентацию на тему Создание приложений Windows. Программирование в среде Delphi с использованием библиотеки VCL (Глава 8). Доклад-сообщение содержит 90 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Часть 3 Создание приложений Windows МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети Лектор:...
Описание слайда:
Часть 3 Создание приложений Windows МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети Лектор: д.т.н., проф. Иванова Галина Сергеевна

Слайд 2


Введение. Особенности программирования «под Windows»
Описание слайда:
Введение. Особенности программирования «под Windows»

Слайд 3


Принцип событийного управления Приложение (в отличие от программы) – набор подпрограмм, вызываемых при наступлении некоторого события, которым...
Описание слайда:
Принцип событийного управления Приложение (в отличие от программы) – набор подпрограмм, вызываемых при наступлении некоторого события, которым считается любое изменение в системе, касающееся данного приложения. Каждому приложению на экране соответствует окно. Окно – самостоятельно существующий объект, параметры которого хранятся в специальной структуре данных, а поведение определяется обработчиками сообщений, составляющими оконную функцию.

Слайд 4


Структура приложения Минимально любое приложение Windows состоит из двух частей: основной программы и оконной функции. Появившиеся в очереди...
Описание слайда:
Структура приложения Минимально любое приложение Windows состоит из двух частей: основной программы и оконной функции. Появившиеся в очереди сообщения выбираются циклом обработки сообщений и передаются через Windows соответствующей оконной функции приложения. Для выполнения действий обработчики сообщений обращаются к функциям API.

Слайд 5


Обработка сообщения от клавиатуры
Описание слайда:
Обработка сообщения от клавиатуры

Слайд 6


Завершение приложения
Описание слайда:
Завершение приложения

Слайд 7


Глава 8 Программирование в среде Delphi с использованием библиотеки VCL МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра...
Описание слайда:
Глава 8 Программирование в среде Delphi с использованием библиотеки VCL МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети Лектор: д.т.н., проф. Иванова Галина Сергеевна

Слайд 8


8.1 События Delphi и их обработчики Обработчики сообщений Windows предусмотрены у объектов класса TForm и классов управляющих компонентов, таких как...
Описание слайда:
8.1 События Delphi и их обработчики Обработчики сообщений Windows предусмотрены у объектов класса TForm и классов управляющих компонентов, таких как кнопки, редакторы и т. п. Обработка выполняется следующим образом: В системе происходит событие, например, пользователь пере-двинул мышь или нажал на клавишу клавиатуры, в результате генерируется сообщение об этом событии – сообщение Windows. Сообщение Windows диспетчируется конкретному приложению. В приложении сообщение передается активному компоненту (окну или управляющему элементу). Метод обработки сообщения Windows компонента инициирует заранее предусмотренные события Delphi. Если в приложении предусмотрен соответствующий обработчик события Delphi, то он вызывается, если нет – то продолжается обработка сообщения Windows.

Слайд 9


События Delphi Обработчики сообщений Windows, встроенные в классы компонентов VCL, инициируют множество событий Delphi. Например, обработчик события...
Описание слайда:
События Delphi Обработчики сообщений Windows, встроенные в классы компонентов VCL, инициируют множество событий Delphi. Например, обработчик события клавиатуры WM_CHAR класса TForm инициирует три события Delphi.

Слайд 10


Обработчики событий Delphi Для каждого обработчика событий предусмотрен заголовок и определеный список передаваемых ему параметров. а) procedure...
Описание слайда:
Обработчики событий Delphi Для каждого обработчика событий предусмотрен заголовок и определеный список передаваемых ему параметров. а) procedure TForm1.FormActivate(Sender:TObject); Параметр Sender – отправитель (инициатор события). б) procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); Параметр Key – символ ANSI. в) procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); Параметры: Key – виртуальный код, Shift – управляющие клав. г) procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

Слайд 11


8.2 Класс формы TForm Основное окно приложения строится на базе класса TForm. При входе в Delphi предоставляется заготовка приложения, которая...
Описание слайда:
8.2 Класс формы TForm Основное окно приложения строится на базе класса TForm. При входе в Delphi предоставляется заготовка приложения, которая «умеет» (содержит определенные обработчики сообщений Windows) выполнять стандартные действия. Свойства: Caption – заголовок окна (по умолчанию Form1); FormStyle – вид формы(обычное, родительское, дочернее, неперекрываемое); Width, Height, Top, Left – размеры и местоположение; Color – цвет фона; Font – характеристики шрифта; Cursor – форма курсора мыши и т. д. Методы: Show – показать; Hide – спрятать; Close – закрыть; ShowModal – показать в модальном режиме и т. д.

Слайд 12


События Delphi, обрабатываемые объектами класса TForm а) при изменении состояния формы: OnCreate – в начальной стадии создания формы - используется...
Описание слайда:
События Delphi, обрабатываемые объектами класса TForm а) при изменении состояния формы: OnCreate – в начальной стадии создания формы - используется при необходимости задания параметров (цвет или размер); OnActivate – при получении формой фокуса ввода (окно становится активным и ему адресуется весь ввод с клавиатуры); OnShow – когда форма (окно) становится видимой; OnPaint – при необходимости нарисовать или перерисовать форму; OnResize - при изменении размеров формы на экране; OnDeactivate – при потере формой фокуса ввода (окно становится неактивным); OnHide – при удалении формы с экрана (окно становится невидимым); OnCloseQuery – при попытке закрыть форму - обычно используется для создания запроса-подтверждения необходимости закрытия окна; OnClose – при закрытии формы; OnDestroy – при уничтожении формы;

Слайд 13


События Delphi для класса TForm (2) б) от клавиатуры и мыши: OnKeyPressed – при нажатии клавиш, которым соответствует код ANSI; OnKeyDown, OnKeyUp –...
Описание слайда:
События Delphi для класса TForm (2) б) от клавиатуры и мыши: OnKeyPressed – при нажатии клавиш, которым соответствует код ANSI; OnKeyDown, OnKeyUp – при нажатии и отпускании любых клавишI; OnClick, OnDblClick – при обычном и двойном нажатии клавиш мыши; OnMouseMove – при перемещении мыши (многократно); OnMouseDown, OnMouseUp – при нажатии и отпускании клавиш мыши; в) при перетаскивании объекта мышью: OnDragDrop – в момент опускания объекта на форму; OnDragOver – в процессе перетаскивания объекта над формой (многократно); г) другие: OnHelp – при вызове подсказки; OnChange – при изменении содержимого компонент.

Слайд 14


8.3 Основные визуальные компоненты и средства визуализации сообщений пользователю 1. Метка (класс TLabel) Метка – окно с текстом и может...
Описание слайда:
8.3 Основные визуальные компоненты и средства визуализации сообщений пользователю 1. Метка (класс TLabel) Метка – окно с текстом и может использоваться для формирования на форме некоторых надписей или подписей. Основные свойства: Caption – заголовок – текст, выводимый в окне компонента. Name – имя компонента в программе. Visible – определяет видимость компонента. Alignment – определяет способ выравнивания текста в окне компонента: taCenter - по центру; taLeftJustify - по левой границе; taRightJustify - по правой границе. Font – определяет шрифт текста. Color – определяет цвета текста и фона в окне. WordWrap – определяет, разбивать или нет текст на строки. Transparent – определяет, виден ли рисунок фона через окно.

Слайд 15


Основные визуальные компоненты (2) 2. Строчный редактор (класс TEdit) Компонент представляет собой окно, обычно выделенное цветом, которое может...
Описание слайда:
Основные визуальные компоненты (2) 2. Строчный редактор (класс TEdit) Компонент представляет собой окно, обычно выделенное цветом, которое может использоваться, например, для организации ввода информации. Основные свойства: Text – строка текста. ReadOnly – определяет возможность ввода информации в окно. Name – имя компонента в программе. Visible – определяет видимость компонента. Enable – доступность компонента. Основные методы: Clear – очистка поля Text. SetFocus – установка фокуса ввода. Основные события: OnKeyPressed – нажатие алфавитно-цифровой клавиши.

Слайд 16


Основные визуальные компоненты (3) 3. Кнопка Компонент представляет собой окно, в котором размещается название кнопки. Используется для инициирования...
Описание слайда:
Основные визуальные компоненты (3) 3. Кнопка Компонент представляет собой окно, в котором размещается название кнопки. Используется для инициирования каких-либо действий. Основные свойства: Caption - название кнопки. Name – имя компонента в программе. Visible – определяет видимость компонента. Enable – доступность компонента. Default – определяет, генерируется ли событие OnClick для данной кнопки при нажатии клавиши Enter. Cancel – аналогично, но для клавиши Esc. Основные события: OnClick – «щелчок» мышкой в зоне компонента. Основные методы: SetFocus – установка фокуса ввода.

Слайд 17


Средства визуализации сообщений пользователю 1 Метод MessageBox (класс TApplication) function MessageBox(Text, Caption: PChar;...
Описание слайда:
Средства визуализации сообщений пользователю 1 Метод MessageBox (класс TApplication) function MessageBox(Text, Caption: PChar; Flags:Longint=MB_OK):Integer; Пример: Application.MessageBox('Строка пуста', 'Error',mb_Ok); Возвращает код ответа. 2 Функция MessageDlg function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Word; Пример: MessageDlg('Поле пусто',mtError, [mbOk],0);

Слайд 18


Вычисление квадрата заданного числа
Описание слайда:
Вычисление квадрата заданного числа

Слайд 19


Формы интерфейса
Описание слайда:
Формы интерфейса

Слайд 20


Диаграмма состояний интерфейса
Описание слайда:
Диаграмма состояний интерфейса

Слайд 21


Объектная декомпозиция (диаграмма объектов)
Описание слайда:
Объектная декомпозиция (диаграмма объектов)

Слайд 22


Определение обрабатываемых событий по диаграмме состояний интерфейса
Описание слайда:
Определение обрабатываемых событий по диаграмме состояний интерфейса

Слайд 23


Диаграмма классов приложения
Описание слайда:
Диаграмма классов приложения

Слайд 24


Файл проекта Program Ex8_01; Uses Forms, MainUnit in 'MainUnit.pas' {MainForm}; {$R *.RES} begin Application.Initialize;...
Описание слайда:
Файл проекта Program Ex8_01; Uses Forms, MainUnit in 'MainUnit.pas' {MainForm}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TMainForm, MainForm); Application.Run; end.

Слайд 25


Файл MainUnit Unit MainUnit; interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; Type...
Описание слайда:
Файл MainUnit Unit MainUnit; interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; Type TMainForm = class(TForm) Bevel1: TBevel; NextButton, ExitButton: TButton; InputLabel, OutPutLabel: TLabel; InPutEdit, OutPutEdit: TEdit; procedure FormActivate(Sender: TObject); procedure InPutEditKeyPress(Sender: TObject; var Key: Char); procedure NextButtonClick(Sender: TObject); procedure ExitButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end;

Слайд 26


Файл MainUnit (2) var MainForm: TMainForm; implementation {$R *.DFM} procedure TMainForm.FormActivate(Sender: TObject); begin...
Описание слайда:
Файл MainUnit (2) var MainForm: TMainForm; implementation {$R *.DFM} procedure TMainForm.FormActivate(Sender: TObject); begin NextButton.Enabled:=false; InPutEdit.ReadOnly:=false; InPutEdit.Clear; InPutEdit.Enabled:=true; InPutEdit.SetFocus; OutPutLabel.Visible:=false; OutPutEdit.Visible:=false; end;

Слайд 27


Файл MainUnit (3) procedure TMainForm.InPutEditKeyPress(Sender: TObject; var Key: Char); var x:real;Code:integer; begin If Key=#13 then begin...
Описание слайда:
Файл MainUnit (3) procedure TMainForm.InPutEditKeyPress(Sender: TObject; var Key: Char); var x:real;Code:integer; begin If Key=#13 then begin Key:=#0; Val(InPutEdit.Text,x,Code); if Code=0 then begin InputEdit.ReadOnly:=true; InputEdit.Enabled:=false; OutPutLabel.Visible:=true; OutPutEdit.Visible:=true; OutPutEdit.Text:=floattostr(sqr(x)); NextButton.Enabled:=true; NextButton.SetFocus; end

Слайд 28


Файл MainUnit (4) else begin MessageDlg('Недопустимые символы.',mtError, [mbOk], 0); end end end; procedure TMainForm.NextButtonClick(Sender:...
Описание слайда:
Файл MainUnit (4) else begin MessageDlg('Недопустимые символы.',mtError, [mbOk], 0); end end end; procedure TMainForm.NextButtonClick(Sender: TObject); begin FormActivate(NextButton); end; procedure TMainForm.ExitButtonClick(Sender: TObject); begin Close; end; end.

Слайд 29


8.4 Расширение Delphi Pascal Дополнительные скалярные типы данных а) целый Cardinal 0..2147483647 без знака 4 байта б) логические ByteBool 1 байт...
Описание слайда:
8.4 Расширение Delphi Pascal Дополнительные скалярные типы данных а) целый Cardinal 0..2147483647 без знака 4 байта б) логические ByteBool 1 байт WordBool 2 байта LongBool 4 байта в) символьные ANSIChar 1 байт (ANSI) WideChar 2 байта (Unicode) г) вещественные – денежный: Currency -922337203685477.5808.. 922337203685477.5807 8 байт

Слайд 30


Тип «Дата-время» д) TDateTime - Double – целая часть – число дней с 30.12.1899, дробная – часть дня Пример: 35065.75  1.1.1996 18.00 Для работы...
Описание слайда:
Тип «Дата-время» д) TDateTime - Double – целая часть – число дней с 30.12.1899, дробная – часть дня Пример: 35065.75  1.1.1996 18.00 Для работы используются следующие подпрограммы: 1) function Now:TDateTime – возвращает текущую дату и время; 2) function Date:TDateTime – возвращает текущую дату; 3) function Time:TDateTime – возвращает текущее время; 4) function DateTimeToStr(D:TDateTime):String – преобразует дату и время в строку символов; 5) function DateToStr(D:TDateTime):String – преобразует дату в строку символов; 6) function TimeToStr(D:TDateTime):String – преобразует время в строку символов;

Слайд 31


Тип «Дата-время» 7) function StrToDate(S:String):TDateTime – преобразует строку в дату, разделитель – символ, указанный при настройке Windows,...
Описание слайда:
Тип «Дата-время» 7) function StrToDate(S:String):TDateTime – преобразует строку в дату, разделитель – символ, указанный при настройке Windows, формат: день.месяц[.год]; 8) function StrToTime(S:String):TDateTime – преобразует строку во время, разделитель – символ, указанный при настройке Windows, формат: часы.минуты[.секунды][ am или pt]; 9) function StrToDateTme(S:String):TDateTime – преобразует строку в дату-время, разделители – символы, указанный при настройке Windows, формат: день.месяц[.год] часы:минуты[.секунды][ am или pt]; 10) procedure DecodeDate(D:TDateTime:Var Year,Month,Day:Word) – декодирует дату; 11) procedure DecodeTime(D:TDateTime: Var Hour,Min,Sec,MSec:Word) – декодирует время;

Слайд 32


Строковые типы a) ShortString – до 255 символов, 0-й байт – длина строки; б) AnsiString – указатель на строку ANSI символов, WideString – указатель...
Описание слайда:
Строковые типы a) ShortString – до 255 символов, 0-й байт – длина строки; б) AnsiString – указатель на строку ANSI символов, WideString – указатель на строку символов Unicode: в) String: {$H+} ==ANSIString; {$H-} ==ShortString; Исключение! String[] – всегда ShortString Для перечисленных строк определены операции конкатенации и сравнения, а также специальные функции в System и SysUtils г) PChar – указатель на массив символов, завершающийся нулем. Строки совместимы: := :=

Слайд 33


Дополнительные процедуры и функции 1) function ANSILowerCase(const S:String):String – заменяет прописные буквы на строчные; 2) function...
Описание слайда:
Дополнительные процедуры и функции 1) function ANSILowerCase(const S:String):String – заменяет прописные буквы на строчные; 2) function ANSIUpperCase(const S:String):String – заменяет строчные буквы на прописные; 3) function StrToInt(S:String):Integer – преобразует строку в целое число; 4) function StrToIntDef(S:String; Default:Integer):Integer – то же + возвращает код ошибки; 5) function StrToIntRange(S:String; Min..Max:LongInt):LongInt – то же + генерирует исключение ERangeError, если не входит в диапазон; 6) function StrToFloat(S:String):Extended – преобразует строку в вещественное число, в качестве разделителя использует символ, указанный при настройке Windows;

Слайд 34


Дополнительные процедуры и функции (2) 7) function IntToStr(V:Integer):String – преобразует целое число в строку символов; 8) function...
Описание слайда:
Дополнительные процедуры и функции (2) 7) function IntToStr(V:Integer):String – преобразует целое число в строку символов; 8) function IntToHex(V:Integer; Digits:Integer):String – преобразует целое число в строку шестнадцатеричных символов, минимальной длиныDigits; 9) function FloatToStr(V:Extended):String – преобразует вещественное число в строку символов.

Слайд 35


Файлы 1. Изменены некоторые служебные слова и названия процедур: Text  TextFile Assign  AssignFile Close  CloseFile
Описание слайда:
Файлы 1. Изменены некоторые служебные слова и названия процедур: Text  TextFile Assign  AssignFile Close  CloseFile

Слайд 36


Процедурный тип данных 1) При объявлении указателя на метод добавляют of object Пример: Type metodproc = procedure(Sender:TObject) of object; 2)...
Описание слайда:
Процедурный тип данных 1) При объявлении указателя на метод добавляют of object Пример: Type metodproc = procedure(Sender:TObject) of object; 2) Переменным процедурного типа можно присвоить nil и проверять их значение при необходимости Пример: if Assigned(p2) then p2(x,y);

Слайд 37


8.5 Классы Delphi Основная особенность: все объекты размещаются в динамической памяти. Описание класса: Type = class() private protected public...
Описание слайда:
8.5 Классы Delphi Основная особенность: все объекты размещаются в динамической памяти. Описание класса: Type = class() private protected public published automated end; Если имя родителя не указано, то им считается класс TObject.

Слайд 38


Конструктор и деструктор Переменные класса являются ссылками. В отличие от указателей операция разыменования при работе с ними не используется....
Описание слайда:
Конструктор и деструктор Переменные класса являются ссылками. В отличие от указателей операция разыменования при работе с ними не используется. Конструктор Create и деструктор Destroy класса должны содержать вызов конструктора и деструктора TObject, которые обеспечивают выделение и освобождение памяти: Constructor .Create; begin inherited Create; . . . end; Destructor Destroy; override;{деструктор виртуальный!} Destructor .Destroy; begin . . . inherited Destroy; end;

Слайд 39


Сравнение объектных моделей Type pTNum = ^TNum; TNum = Object n: integer; procedure Init (an:integer); end; Procedure TNum.Init; begin n:=an; end; ....
Описание слайда:
Сравнение объектных моделей Type pTNum = ^TNum; TNum = Object n: integer; procedure Init (an:integer); end; Procedure TNum.Init; begin n:=an; end; . . . Var p:pTNum; Begin New(p, Init(5)); WriteLn(p^.n); Dispose(p); End.

Слайд 40


Особенности работы с объектами Var A, B:TNum; A:=TNum.Create; B:=A; B.Destroy; A.n:=3; {!!!}
Описание слайда:
Особенности работы с объектами Var A, B:TNum; A:=TNum.Create; B:=A; B.Destroy; A.n:=3; {!!!}

Слайд 41


Особенности переопределения методов 1) виртуальные методы: procedure Print;virtual; {в базовом класса} procedure Print;override; {в производном...
Описание слайда:
Особенности переопределения методов 1) виртуальные методы: procedure Print;virtual; {в базовом класса} procedure Print;override; {в производном классе} 2) абстрактные методы: procedure Print;virtual;abstract; {в базовом класса} procedure Print;override; {в производном классе} Класс, содержащий абстрактные методы, называется абстрактным. Объекты абстрактного класса создавать не разрешается.

Слайд 42


8.6 События Мыши 1 Событие «Нажатие кнопки мыши над компонентом окна приложения»: procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift:...
Описание слайда:
8.6 События Мыши 1 Событие «Нажатие кнопки мыши над компонентом окна приложения»: procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); где Button:TMouseButton - определяет, какая кнопка нажата: type TMouseButton = (mbLeft, mbRight, mbMiddle); - соответственно, левая, правая или средняя кнопки. Shift:TShiftState - определяет нажатые управляющих клавиш клавиатуры и мыши: type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); X, Y: Integer - координаты мыши относительно компонента.

Слайд 43


События Мыши (2) 2 Событие «Движение мыши»: procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); 3 Событие «Отпускание клавиши...
Описание слайда:
События Мыши (2) 2 Событие «Движение мыши»: procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); 3 Событие «Отпускание клавиши мыши»: procedure MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Слайд 44


8.7 Создание графических изображений Изображения в Windows создаются с помощью типов: точка, прямоугольник; и компонентов: перо, которое используется...
Описание слайда:
8.7 Создание графических изображений Изображения в Windows создаются с помощью типов: точка, прямоугольник; и компонентов: перо, которое используется для рисования линий; кисть, которая используется для закрашивания замкнутых фигур; шрифт, который используется при выводе надписей; холст, на котором выполняются изображения.

Слайд 45


Точка и прямоугольник Точка – тип, позволяющий определить точку на экране: type TPoint = record X: Longint; Y: Longint; end; Прямоугольник – тип,...
Описание слайда:
Точка и прямоугольник Точка – тип, позволяющий определить точку на экране: type TPoint = record X: Longint; Y: Longint; end; Прямоугольник – тип, используемый для задания прямоугольника: type TRect = record case Integer of 0: (Left, Top, Right, Bottom: Integer); 1: (TopLeft, BottomRight: TPoint); end;

Слайд 46


Компонент перо (класс TPen) C помощью класса TPen создается объект Перо, служащий для вычерчивания линий, контуров и т. п. Свойства: Color:TColor –...
Описание слайда:
Компонент перо (класс TPen) C помощью класса TPen создается объект Перо, служащий для вычерчивания линий, контуров и т. п. Свойства: Color:TColor – цвет вычерчиваемых линий; Width:Integer – толщина линии в пикселях экрана; Style:TPenStyle – стиль линий – учитывается только для толщины 1 пиксель: psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame; Mode:TPenMode – способ взаимодействия линий с фоном, например, pmBlack – только черные линии, pmWhite – только белые линии, pmNop – линии не видны на фоне, pmNot – инверсия фона и т.д..

Слайд 47


Компонент Кисть (класс TBrush) Объекты класса TBrush служат для заполнения внутренего пространства. Свойства: Color:TColor – цвет кисти: clAqua...
Описание слайда:
Компонент Кисть (класс TBrush) Объекты класса TBrush служат для заполнения внутренего пространства. Свойства: Color:TColor – цвет кисти: clAqua (прозрачный), clBlack, clBlue, clDkGray, clFuchsia, clGray, clGreen, clLime (салатовый), clLtGray, clMaroon (каштановый), clNavy (синий), clOlive, clPurple (фиолетовый), clRed, clSilver (серебряный), clTeal, clWhite, clYellow Style:TBrushStyle – стиль кисти, например: bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal,bsBDiagonal, bsCross, bsDiagCross; BitMap:TBitMap – растровое изображение, которое будет использоваться кистью для заполнения, если свойство определено, то цвет и стиль игнорируются.

Слайд 48


Компонент Шрифт (класс TFont) Объект класса TFont – определяет шрифт, которым выводится текст. Свойства: Charset:TFontCharSet – набор символов:...
Описание слайда:
Компонент Шрифт (класс TFont) Объект класса TFont – определяет шрифт, которым выводится текст. Свойства: Charset:TFontCharSet – набор символов: RUSSIANCHARSET – русский, OEM_CHARSET – текст MS DOS; Name:TFontName – имя шрифта, по умолчанию – MS Sans Serif; Color:TColor – цвет; Height:Integer – высота в пикселях; Size:Integer – высота в пунктах (1/7 дюйма); Pitch:TFontPitch – способ расположения букв в тексте: fpFixed – моноширный текст, fpVariable – пропорциональный текст, fpDefault – ширина шрифта по умолчанию; Style:TFontStyle – стиль шрифта – комбинация из: fsBold – полужирный, fsItalic – курсив, fsUnderline – подчеркнутый, fsStrikeOut – перечеркнутый.

Слайд 49


Компонент Канва (класс TCanvas) Класс создает Канву – холст для рисования. Свойства: Brush:TBrush – кисть; Pen:TPen – перо; Font:TFont – шрифт;...
Описание слайда:
Компонент Канва (класс TCanvas) Класс создает Канву – холст для рисования. Свойства: Brush:TBrush – кисть; Pen:TPen – перо; Font:TFont – шрифт; PenPos:TPoint – определяет текущее положение пера над холстом в пискелях относительно левого верхнего угла; CopyMode:TCopyMode – способ взаимодействия растрового изображения с цветом фона, используется при копировании части канвы на другую методом CopyRect: cmBlackness – заполнение черным цветом, cmDestInvert – заполнение инверсным фоном, cmSrcCopy – копирует изображение источника на канву и т.д.; Pixels[X,Y:Integer]:TColor – массив пикселей канвы.

Слайд 50


Основные методы класса TCanvas procedure MoveTo(X,Y:Integer) – перемещает перо в указанную точку; procedure LineTo(X,Y:Integer)– чертит линию из...
Описание слайда:
Основные методы класса TCanvas procedure MoveTo(X,Y:Integer) – перемещает перо в указанную точку; procedure LineTo(X,Y:Integer)– чертит линию из текущей точки в заданную; procedure Rectangle(X1, Y1, X2, Y2: Integer)– рисует и закрашивает кистью прямоугольник; procedure Polyline(Points:array of TPoint)– рисует ломаную линию; type TPoint = record X,Y:Longint; end; procedure Polygon(Points: array of TPoint)– рисует и закрашивает кистью многоугольник; procedure Ellipse(X1, Y1, X2, Y2: Integer)– рисует эллипс в заданном прямоугольнике и закрашивает кистью; procedure FrameRect(const Rect:TRect) – очерчивает границы прямоугольника текущей кистью без заполнения;

Слайд 51


Основные методы класса TCanvas (2) procedure Arc(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит дугу эллипса в прямоугольнике (X1,Y1,X2,Y2), направление...
Описание слайда:
Основные методы класса TCanvas (2) procedure Arc(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит дугу эллипса в прямоугольнике (X1,Y1,X2,Y2), направление – против часовой стрелки; procedure Chord(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит сегмент эллипса в прямоугольнике (X1,Y1,X2,Y2), направление – против часовой стрелки; procedure Pie(X1,Y1,X2,Y2,X3,Y3, X4,Y4:integer) – чертит сектор эллипса в прямоугольнике (X1,Y1,X2,Y2), направление – против часовой стрелки; procedure RoundRect(X1,Y1,X2,Y2, X3,Y3:integer) – чертит и заполняет прямоугольник с закругленными краями.

Слайд 52


Основные методы класса TCanvas (3) procedure FillRect(const Rect: TRect)– закрашивает кистью прямоугольник, включая левую и верхнюю границы. type...
Описание слайда:
Основные методы класса TCanvas (3) procedure FillRect(const Rect: TRect)– закрашивает кистью прямоугольник, включая левую и верхнюю границы. type TRect = record case Integer of 0: (Left, Top, Right, Bottom: Integer); 1: (TopLeft, BottomRight: TPoint); end; procedure FloodFill(X,Y:Integer;Color:TColor; FillStyle:TFillStyle)– type TFillStyle = (fsSurface,fsBorder); FillStyle=fsBorder - заливка области с границей цвета Color; FillStyle=fsSurface - заливка области цвета Color цветом, определенным кистью.

Слайд 53


Основные методы класса TCanvas (4) procedure TextOut(X,Y:Integer; const Text:string)– вывод строки текста шрифтом TFont в прямоугольник с верхним...
Описание слайда:
Основные методы класса TCanvas (4) procedure TextOut(X,Y:Integer; const Text:string)– вывод строки текста шрифтом TFont в прямоугольник с верхним левым. углом в точке (X,Y); function TextExtent(Const Text:String):TSize – возвращает ширину и высоту прямоугольника, охватывающего текстовую строку Text; function TextWidth(Const Text:string):Integer – возвращает ширину прямоугольника, охватывающего текстовую строку;

Слайд 54


Компонент Образ (класс TImage) Образ – окно для работы с графикой. Свойства: AutoSize:Boolean – автоматическое изменение размера компонента в...
Описание слайда:
Компонент Образ (класс TImage) Образ – окно для работы с графикой. Свойства: AutoSize:Boolean – автоматическое изменение размера компонента в зависимости от размера картинки (при загрузке рисунка); Stretch:Boolean – автоматическое масштабирование рисунка при изменении размеров компонента; Picture:TPicture – свойство-объект картинка (двоичный образ, пиктограмма, графический метафайл); класс включает методы: procedure LoadFromFile(const FileName: string); – загрузка картинки из файла; procedure SaveToFile(const FileName: string); – сохранение картинки в файле. Canvas:TCanvas – холст; Brush:TBrush – кисть; Pen:TPen – перо; Font:TFont – шрифт.

Слайд 55


Рисование прямоугольников (Ex8_2)
Описание слайда:
Рисование прямоугольников (Ex8_2)

Слайд 56


Модуль MainUnit unit MainUnit; interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type...
Описание слайда:
Модуль MainUnit unit MainUnit; interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TMainForm = class(TForm) Image: TImage; ExitButton: TButton; procedure FormActivate(Sender: TObject); procedure ImageMouseDown(Sender: TObject; Button:TMouseButton; Shift:TShiftState; X,Y:Integer); procedure ImageMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); procedure ImageMouseUp(Sender: TObject; Button:TMouseButton;Shift: TShiftState;X,Y: Integer); procedure ExitButtonClick(Sender: TObject); end;

Слайд 57


Модуль MainUnit (2) var MainForm: TMainForm; implementation Var Rect:TRect;first:boolean; {$R *.DFM} procedure TMainForm.FormActivate(Sender:...
Описание слайда:
Модуль MainUnit (2) var MainForm: TMainForm; implementation Var Rect:TRect;first:boolean; {$R *.DFM} procedure TMainForm.FormActivate(Sender: TObject); begin Image.Canvas.Brush.Color:=clWhite; end; procedure TMainForm.ImageMouseDown(Sender: TObject; Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin if Button=mbLeft then begin Rect.Left:=x; Rect.Top:=y; first:=true; end; end;

Слайд 58


Модуль MainUnit (3) procedure TMainForm.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin if...
Описание слайда:
Модуль MainUnit (3) procedure TMainForm.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin if first then first:=not first else begin Image.Canvas.Pen.Color:=clWhite; Image.Canvas.Rectangle(Rect.Left,Rect.Top, Rect.Right,Rect.Bottom); end; Rect.Right:=X; Rect.Bottom:=Y; Image.Canvas.Pen.Color:=clBlack; Image.Canvas.Rectangle(Rect.Left,Rect.Top, Rect.Right,Rect.Bottom); end; end;

Слайд 59


Модуль MainUnit (4) procedure TMainForm.ImageMouseUp(Sender: TObject; Button: TMouseButton;Shift:TShiftState;X,Y:Integer); begin if Button=mbLeft...
Описание слайда:
Модуль MainUnit (4) procedure TMainForm.ImageMouseUp(Sender: TObject; Button: TMouseButton;Shift:TShiftState;X,Y:Integer); begin if Button=mbLeft then begin Image.Canvas.Pen.Color:=clWhite; Image.Canvas.Rectangle(Rect.Left,Rect.Top, Rect.Right,Rect.Bottom); Rect.Right:=X; Rect.Bottom:=Y; Image.Canvas.Brush.Color:=clRed; Image.Canvas.FillRect(Rect); Image.Canvas.Brush.Color:=clWhite; Image.Canvas.Pen.Color:=clBlack; end; end; procedure TMainForm.ExitButtonClick(Sender: TObject); begin Close; end; end.

Слайд 60


8.8 Три составляющих движения объекта на плоскости 1 Перемещение x1 = x + dx, y1 = y + dy
Описание слайда:
8.8 Три составляющих движения объекта на плоскости 1 Перемещение x1 = x + dx, y1 = y + dy

Слайд 61


Вращение фигур (Ex8_03)
Описание слайда:
Вращение фигур (Ex8_03)

Слайд 62


Объектная декомпозиция
Описание слайда:
Объектная декомпозиция

Слайд 63


Диаграмма классов предметной области
Описание слайда:
Диаграмма классов предметной области

Слайд 64


Модуль Figure Unit Figure; Interface Uses graphics,ExtCtrls; Type TFigure=Class x,y, halflen,dx,dy:integer; Image:TImage; constructor...
Описание слайда:
Модуль Figure Unit Figure; Interface Uses graphics,ExtCtrls; Type TFigure=Class x,y, halflen,dx,dy:integer; Image:TImage; constructor Create(ax,ay,ah:integer;aImage:TImage); procedure Move(t:single); procedure Draw;virtual;abstract; procedure Rel(t:real); end; TLine=Class(TFigure) procedure Draw;override; end; TSquare=Class(TFigure) procedure Draw;override; end; TCircle=Class(TFigure) r:integer; constructor Create(ax,ay,ah,ar:integer; aImage:TImage); procedure DRAW;override; end;

Слайд 65


Модуль Figure (2) Implementation Constructor TFigure.Create; Begin inherited Create; x:=ax; y:=ay; halflen:=ah; Image:=aImage; End; Procedure...
Описание слайда:
Модуль Figure (2) Implementation Constructor TFigure.Create; Begin inherited Create; x:=ax; y:=ay; halflen:=ah; Image:=aImage; End; Procedure TFigure.Rel; Begin dx:=round(halflen*cos(t)); dy:=round(halflen*sin(t)); End; Procedure TFigure.Move; Begin Image.Canvas.Pen.Color:=clWhite; Draw; Image.Canvas.Pen.Color:=clBlack; Rel(t); Draw; End;

Слайд 66


Модуль Figure (3) Procedure TLine.Draw; Begin Image.Canvas.MoveTo(x+dx,y+dy); Image.Canvas.LineTo(x-dx,y-dy); End; Procedure TSquare.Draw; Begin...
Описание слайда:
Модуль Figure (3) Procedure TLine.Draw; Begin Image.Canvas.MoveTo(x+dx,y+dy); Image.Canvas.LineTo(x-dx,y-dy); End; Procedure TSquare.Draw; Begin Image.Canvas.MoveTo(x+dx,y+dy); Image.Canvas.LineTo(x-dy,y+dx); Image.Canvas.LineTo(x-dx,y-dy); Image.Canvas.LineTo(x+dy,y-dx); Image.Canvas.LineTo(x+dx,y+dy); End; Constructor TCircle.Create; Begin inherited Create(ax,ay,ah,aImage); r:=ar; End; Procedure TCircle.Draw; Begin Image.Canvas.Ellipse(x+dx+r,y+dy+r,x+dx-r,y+dy-r); End; end.

Слайд 67


Описание класса окна Unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...
Описание слайда:
Описание класса окна Unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TMainForm = class(TForm) Image: TImage; BeginButton,EndButton:TButton; Timer1: TTimer; // interval:=100 procedure FormActivate(Sender: TObject); procedure BeginButtonClick(Sender: TObject); procedure EndButtonClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); end; Var MainForm: TMainForm;

Слайд 68


Объявление объектов implementation uses Figure; {$R *.dfm} Var t:single=0.0; L:TLine; S:TSquare; C:TCircle; procedure TMainForm.FormActivate(Sender:...
Описание слайда:
Объявление объектов implementation uses Figure; {$R *.dfm} Var t:single=0.0; L:TLine; S:TSquare; C:TCircle; procedure TMainForm.FormActivate(Sender: TObject); begin Image.Canvas.Brush.Color:=clWhite; end;

Слайд 69


Создание объектов и реализация движения procedure TMainForm.BeginButtonClick(Sender: TObject); begin L:=TLine.Create(60,100,50,Image);...
Описание слайда:
Создание объектов и реализация движения procedure TMainForm.BeginButtonClick(Sender: TObject); begin L:=TLine.Create(60,100,50,Image); S:=TSquare.Create(180,100,50,Image); C:=TCircle.Create(300,100,50,10,Image); Timer1.Enabled:=true; // запуск таймера end; procedure TMainForm.Timer1Timer(Sender: TObject); begin L.Move(t); S.Move(-0.2*t); C.Move(0.5*t); t:=t+0.5; end;

Слайд 70


Процедура организации движения procedure TMainForm.EndButtonClick(Sender: TObject); begin Close; end; initialization finalization L.Free; S.Free;...
Описание слайда:
Процедура организации движения procedure TMainForm.EndButtonClick(Sender: TObject); begin Close; end; initialization finalization L.Free; S.Free; C.Free; end.

Слайд 71


Построение графика функции (Ex 8.4)
Описание слайда:
Построение графика функции (Ex 8.4)

Слайд 72


Отображение графика функции на экран
Описание слайда:
Отображение графика функции на экран

Слайд 73


Модуль Graphic unit Graphic; Interface Uses ExtCtrls,Graphics; Type Fn=Function(X:single):single; Procedure Run(xn, xk:single; n:integer; F:Fn;...
Описание слайда:
Модуль Graphic unit Graphic; Interface Uses ExtCtrls,Graphics; Type Fn=Function(X:single):single; Procedure Run(xn, xk:single; n:integer; F:Fn; x1,y1,x2,y2:integer; Image:TImage); Implementation Procedure Run; Var arr:array[1..200] of record x,y:integer; end; x, y, dx, dxl, dyl, Fmin, Fmax, i, mx, my:single; {масштабы} xm, ym, {размер области окна рисования} xs, ys:integer; {нижняя левая точка графика} s:string[10];

Слайд 74


Модуль Graphic (2) Begin Image.Canvas.Pen.Color:=clGreen; Image.Canvas.Rectangle(x1,y1,x2,y2); {рамка} xm:=x2-x1+1; ym:=y2-y1+1; {область графика}...
Описание слайда:
Модуль Graphic (2) Begin Image.Canvas.Pen.Color:=clGreen; Image.Canvas.Rectangle(x1,y1,x2,y2); {рамка} xm:=x2-x1+1; ym:=y2-y1+1; {область графика} dx:=(xk-xn)/n; {шаг просчета точек} x:=xn; y:=F(x); Fmin:=y; Fmax:=y; for i:=2 to n do {табулируем функцию и } begin {вычисляем max и min} x:=x+dx; y:=F(x); if y>Fmax then Fmax:=y; if y

Слайд 75


Модуль Graphic (3) Image.Canvas.Pen.Color:=clRed; Image.Canvas.Pen.Width:=3; x:=xn; for i:=1 to n do {считаем координаты точек} begin...
Описание слайда:
Модуль Graphic (3) Image.Canvas.Pen.Color:=clRed; Image.Canvas.Pen.Width:=3; x:=xn; for i:=1 to n do {считаем координаты точек} begin arr[i].x:=round((x-xn)*mx)+x1+xs; arr[i].y:=round((Fmin-f(x))*my)+y1+ys; x:=x+dx; end; Image.Canvas.MoveTo(arr[1].x,arr[1].y); for i:=2 to n do {соединяем точки} Image.Canvas.LineTo(arr[i].x,arr[i].y);

Слайд 76


Модуль Graphic (4) x:=xn; dxl:=(xk-xn)/5; {расстояние между линиями сетки} Image.Canvas.Pen.Width:=1; Image.Canvas.Pen.Color:=clBlue; repeat...
Описание слайда:
Модуль Graphic (4) x:=xn; dxl:=(xk-xn)/5; {расстояние между линиями сетки} Image.Canvas.Pen.Width:=1; Image.Canvas.Pen.Color:=clBlue; repeat {вертикальные линии сетки и подпись} Str(x:5:2,s); Image.Canvas.TextOut(round((x-xn)*mx)+x1+xs-13, ys+y1+5,s); Image.Canvas.MoveTo(round((x-xn)*mx)+x1+xs, ym+y1-xs); Image.Canvas.LineTo(round((x-xn)*mx)+x1+xs, y1+xs); x:=x+dxl; until x>xk+0.00001;

Слайд 77


Модуль Graphic (5) y:=Fmin; dyl:=(fmax-fmin)/5; repeat {горизонтальные линии сетки и подпись} Str(y:5:2,s); Image.Canvas.TextOut(x1+5,...
Описание слайда:
Модуль Graphic (5) y:=Fmin; dyl:=(fmax-fmin)/5; repeat {горизонтальные линии сетки и подпись} Str(y:5:2,s); Image.Canvas.TextOut(x1+5, round(-(y-Fmin)*my)+ys+y1-6,s); Image.Canvas.MoveTo(x1+xs, round(-(y-Fmin)*my)+y1+ys); Image.Canvas.LineTo(xm+x1-xs, round(-(y-Fmin)*my)+y1+ys); y:=y+dyl; until y>Fmax+0.00001; end; End.

Слайд 78


Секция реализации модуля MainUnit implementation uses Graphic; {$R *.dfm} Function f(x:single):single; Begin Result:=abs(0.64*sin(x*2)); End;...
Описание слайда:
Секция реализации модуля MainUnit implementation uses Graphic; {$R *.dfm} Function f(x:single):single; Begin Result:=abs(0.64*sin(x*2)); End; procedure TMainForm.FormActivate(Sender: TObject); begin Image.Canvas.Brush.Color:=clWhite; end; procedure TMainForm.BeginButtonClick(Sender: TObject); begin Run(-0.9,0.9,100,f,0,0,400,300,Image);end; procedure TMainForm.ExitButtonClick(Sender: TObject); begin Close; end; end.

Слайд 79


Примитивный графический редактор (Ex 8.5)
Описание слайда:
Примитивный графический редактор (Ex 8.5)

Слайд 80


Объектная декомпозиция
Описание слайда:
Объектная декомпозиция

Слайд 81


Диаграмма классов предметной области
Описание слайда:
Диаграмма классов предметной области

Слайд 82


Модуль Figure Unit Figure; Interface Uses extctrls,Graphics; Type TMyFigure=class public x,y,Radius:Word; Color:TColor; Image:TImage; Procedure Draw;...
Описание слайда:
Модуль Figure Unit Figure; Interface Uses extctrls,Graphics; Type TMyFigure=class public x,y,Radius:Word; Color:TColor; Image:TImage; Procedure Draw; virtual; abstract; Рrocedure Clear; Constructor Create(aImage:TImage; ax,ay,ar:Word;aColor:TColor); end;

Слайд 83


Модуль Figure (2) TMyCircle=class(TMyFigure) public Procedure Draw; override; end; TMySquare=class(TMyFigure) public Procedure Draw; override; end;...
Описание слайда:
Модуль Figure (2) TMyCircle=class(TMyFigure) public Procedure Draw; override; end; TMySquare=class(TMyFigure) public Procedure Draw; override; end; Implementation Constructor TMyFigure.Create; Begin inherited Create; Image:=aImage; x:=ax; y:=ay; Radius:=ar; Color:=aColor; Draw; End;

Слайд 84


Модуль Figure (3) Procedure TMyFigure.Clear; Var TempColor:TColor; Begin TempColor:=Color; Color:=Image.Canvas.Brush.Color; Draw; Color:=TempColor;...
Описание слайда:
Модуль Figure (3) Procedure TMyFigure.Clear; Var TempColor:TColor; Begin TempColor:=Color; Color:=Image.Canvas.Brush.Color; Draw; Color:=TempColor; End; Procedure TMyCircle.Draw; Begin Image.Canvas.Pen.Color:=Color; Image.Canvas.Ellipse(x-Radius,y-Radius, x+Radius,y+Radius); End;

Слайд 85


Модуль Figure (4) Procedure TMySquare.Draw; Begin Image.Canvas.Pen.Color:=Color; Image.Canvas.Rectangle(x-Radius,y-Radius, x+Radius,y+Radius); End;...
Описание слайда:
Модуль Figure (4) Procedure TMySquare.Draw; Begin Image.Canvas.Pen.Color:=Color; Image.Canvas.Rectangle(x-Radius,y-Radius, x+Radius,y+Radius); End; End.

Слайд 86


Модуль Main unit Main; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,ComCtrls, StdCtrls, ExtCtrls; type...
Описание слайда:
Модуль Main unit Main; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,ComCtrls, StdCtrls, ExtCtrls; type TMainForm = class(TForm) Image: TImage; ColorButton: TButton; ExitButton: TButton; RadioGroup: TRadioGroup; rLabel: TLabel; rEdit: TEdit; UpDown: TUpDown; ColorDialog: TColorDialog;

Слайд 87


Модуль Main (2) procedure FormActivate(Sender: TObject); procedure ImageMouseDown(Sender: TObject;… ); procedure UpDownClick(Sender: TObject; …);...
Описание слайда:
Модуль Main (2) procedure FormActivate(Sender: TObject); procedure ImageMouseDown(Sender: TObject;… ); procedure UpDownClick(Sender: TObject; …); procedure ColorButtonClick(Sender: TObject); procedure ExitButtonClick(Sender: TObject); end; var MainForm: TMainForm; implementation uses Figure; Var C:TMyFigure; {$R *.dfm} procedure TMainForm.FormActivate(Sender: TObject); begin Image.Canvas.Brush.Color:=clWhite; Image.Canvas.Pen.Color:=clBlack; end;

Слайд 88


Модуль Main (3) procedure TMainForm.ImageMouseDown(Sender: TObject; Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin if Button=mbLeft then...
Описание слайда:
Модуль Main (3) procedure TMainForm.ImageMouseDown(Sender: TObject; Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin if Button=mbLeft then case RadioGroup.ItemIndex of 0: begin C.Free; C:=TMyCircle.Create(Image,X,Y, strtoint(rEdit.Text),Image.Canvas.Pen.Color); end; 1: begin C.Free; C:=TMySquare.Create(Image,X,Y, strtoint(rEdit.Text),Image.Canvas.Pen.Color); end; end; end;

Слайд 89


Модуль Main (4) procedure TMainForm.UpDownClick(Sender:TObject; Button:TUDBtnType); begin if Cnil then begin C.Clear; C.Radius:=strtoint(rEdit.Text);...
Описание слайда:
Модуль Main (4) procedure TMainForm.UpDownClick(Sender:TObject; Button:TUDBtnType); begin if Cnil then begin C.Clear; C.Radius:=strtoint(rEdit.Text); C.Draw; end; end; procedure TMainForm.ColorButtonClick(Sender: TObject); begin if ColorDialog.Execute then Image.Canvas.Pen.Color:=ColorDialog.Color; if Cnil then begin C.Color:=Image.Canvas.Pen.Color; Clear; Draw; end; end;

Слайд 90


Модуль Main (5) procedure TMainForm.ExitButtonClick(Sender:TObject); begin Close; end; initialization finalization C.Free; end.
Описание слайда:
Модуль Main (5) procedure TMainForm.ExitButtonClick(Sender:TObject); begin Close; end; initialization finalization C.Free; end.



Похожие презентации
Mypresentation.ru
Загрузить презентацию