Введение в делфи
Введение в делфи.1985. В ней была оформлена новая модель объектов, позаимствованная из различных оо языков. Система делфи — система программирования, включающая в себя базовые языки программирования object pascal и интегрируемую среду разработчика. Программирование ориентированное на событие — неотъемлемая черта windows. Делфи предоставляет полный доступ к подструктуре событий ОС Windows. С другой стороны Делфи упрощает программирование обработчиков таких событий. Поведение объекта определяется тем, какие обработчики и для каких событий он имеет. Создание приложения Делфи состоит из настройки свойств, используемых объектов и создания обработчика событий.
4) Первая программа.
Создание нового приложения: file-> New->Application
На экране появится пустая форма, а редакторе откроется файл модуля Unit1.pas
Созданный автоматический модуль будет содержать следующую информацию:
Unit Unit 1; // имя модуля должно совпадать с именем физического файла на диске, содержащего текст.
Interface // раздел описаний
Uses windows messages, SysUtils, Graphics // подключаемые модули
Type TForm1=class(TForm);
…….
………
Private
Public
End;
Var Form1: TForm1;
Implementation;// начало раздела реализации
{SR8.DFM}//
Компоненты делфи хранятся в библиотеке визуальных компонентов(Visual Component Library)/
Каждый из компонентов описан соответствующими классами в паскале, например:
Butter1: TButter;
Label1: TLabel;
Memo1: TMemo;
…….
Form1 представлена в программе типом TForm1, который первоначально не имеет полей и методов, т. к. форма пуста. В дальнейшем члены класса TForm 1 будут выполнятся как автоматически(при размещении их на форме проектировщике форм) так и вручную самим программистом.
5) Управление проектом.
Информация относящаяся к текущему разрабатываемому приложению объединяется в рамках системы Делфи в один проект, который хранит все необходимые настройки в специальных файлах. Проектом управляет менеджер проекта — программа входящая в систему Делфи. Функции менеджера проекта входит визуальное представление структуры проекта и его содержимого(файлы с исходными текстами, файлы форм, файлы других видов). Менеджер проекта дополнительно позволяет ввести несколько проектов, объединённых в одну группу. Вызывается менеджер проекта командой View-> ProjectManager. В окне МП указано: название проекта, структура группы проектов, тип результирующего приложения( исполняемый код файл с расширением. exe или динамическая библиотека с расширением. dll). Любой компонет из проекта можно удалить( Remove) с помощью (New) можно добавить новый кмпонент как в проект так и в группу. Свойство любого из объектов, доступных в МП можно изменить щелкнув на значке объектов правой кнопкой мыши. Добавление ранее созданных проектов к группе проектов выполняется командой Add Existing Project. Любая программа в Делфи состоит изфала проекта(расширения. dpr) и одного или нескольких модулей с расширением. pas.
Файлы проектов-программа написанная на языке OP и предназначенная для обработки компилятором.
Для просмотра можно выполнить команду project ->view source
Program project1;
Uses Forms;
Unit1 in Unit1.pas { Form1};
{SR*.res}
Begin
Application. Initialize;
Application. CreateForm(TForm1, Form);
Application. Run;
End.
Лекция №2. Основы программирования в среде Делфи.
1)Элементы интерфейса программы.
Интегрированная среда разработки Делфи представляет собой многооконную систему и первоначально включает в себя 5 окон.
Основные страницы компонентов представлены: Standard, Additional, Win 32, System и другие.
2) окно конструкторов формы: Form1- в нём выполняется проектирование форы для чего на форму из палитры компонентов помещаются необходимые компоненты. При этом проектирование заключается в визуальном проектировании формы.
3)Object tree View — окно-дерево компонентов О_о
4) Object Inspector — окно инспектора объектов-окно отображает свойство како-либо компонента, активизированного щелчком мыши. Имя активизированного компонента находится под заголовком окна.
Properties и Events.(Свойства и события на которые будут реагировать компоненты программы).
5) Окно редактор кода Unit1.pas.
Окно содержит код программы.
Для системы Делфи каждая незавершённая программа – проект. Проект состоит из:
-файла проекта project1.dpt.
-project1.dof
-файлы ресурсов проекта Project1.res
-файл настроек проекта project1.cfg
2)Использование визуальных компонентов.
Standard
1.Main Menu
Компоненты main menu не визуальны. Создаётся с помощью специального редактора, редактор меню вызывается двойным щелчком на объекте main menu. Первоначально меню пустое. В свойстве caption можно ввести название первого пункта меню, например файл(с указанной горячей клавишей и нажать клавишу Enter). Редактор меню переключится обратно, где уже появится первый пункт. Чтобы поставить разделитель между пунктами меню надо в свойстве caption в первой позиции указать дефис. Обработчик события для пункта вызова main menu:
Procedure TForm1.N4Click(Sender:TObject);
Begin
Close;
End;
Выделить нужный пункт меню, нажмите правой кнопкой по пункту меню и выберете Create Submenu.
2. PopUpMenu-контекстное меню.
Контекстных меню может быть сколько угодно. Создаётся так же как и главное меню. Для вызова созданного меню из программы для соответствующего объекта в свойстве popupmenu задать значение созданного контекстного меню.
3. Label — метка(подсказки)
4.edit — поде ввода
5. Memo-многострочный текстовый редактор состоит из массива строк.
6. Button
7. Check box-флажок
8. Radio button-зависимый перекл.
9. ListBox-список
10. ComboBox-раскрывающийся список
11. Scrollbar-полосы прокрутки
12. GroupBox-панель группировки
13. RadioGroup-массив из радио кнопок
14. Panel
15.ActionList
Лекция №3. Методы построения классов. Иерархия классов.
1)Класс.
Класс-тип данных, а объект, конкретно существующий в памяти компьютера экземпляр класса.
Класс — это структурный тип данных, который включает описание полей данных, а также процедур и функций работающих с этими полями данных. Применительно к классам такие процедуры и функции получили название методов . Метод определяет реакцию на некоторые внешние или внутренние сообщения на события. Переменные типа class называют объектами. Объект переменной должен быть:
1) Создан. Для него должна быть память.
2) Инициирован. Полям объекта присваиваются значения.
3) Уничтожен. Память выделенная под объект должна быть освобождена.
Обычно классы строятся на базе уже существующих, при этом применяется механизм, реализующий определённые отношения существующего и строящегося класса: наследование, композиция, агрегация, полиморфное наследование.
Наследование-отношение между классами, при котором один класс строится на базе другого.
Посредством добавления полей для определения методов. Указанные классы называют дочерними(потомками подтипов) и родительскими (базовыми супертипов).
Композиция-такое отношение между классами, когда один является неотъемлемой частью второго. Композиция реализуется включением в класс фиксированного числа так называемых объектных полей.
Объектные поля, являющиеся объектами другого класса.
Агрегация-такое отношение между классами, при котором точное количество объектов одного класса, включаемых в другой класс неограниченна. Дополнение реализуется с использованием указателей на объект.
Полиморфное наследование-наследование, при котором осуществляется переопределение методов классов родителя потомков. Метод потомков в этом случае имеет тоже имя, что и метод родителя, но выполняет другие действия.
|
|
3)Иерархия классов
|
TObject.
Инкапсулирует методы которые:
1. Создают и разрушают объекты классов
2. Реагируют на создание и разрушение экземпляров класса
3. Возвращают информацию об объектах и классах
4. Поддерживают обработку событий
5. Поддерживают интерфейсы реализуемые классами
Реакция на создание и разрушение обеспечивается 2-мя методами:
Procedure AfterConstruction;
Procedure BeforeDestruction;
Метод AfterConstruction вызывается автоматически после завершения конструктора, а BeforeDestruction после завершения деструктора.
Class Tpersistent.
Инкапсулирует методы для поддержки и переносимости информации из одного объекта в другой, в том числе для записи свойств в потоке.
Class TComponent.
Реализует возможности:
1. Для интеграции с оболочкой делфи своих объектов.
2. Для поддержки свойств принадлежности.
3. Для поддержки технологии экспорта компонентов делфи в компоненты ActiveX и т. д.
Class TControl.
Отвечает за видимые компоненты. Инкапсулирует свойства и методы:
-положение компонентов на экране
-выравниванием
-формирование курсора мыши
-шрифт
-цвет фона
-подсказка
Лекция 4. Форма как главный компонент.
1)Form Style
Значение: fsNormal
fsMDIchild
2)BorderIcons
Значение:
Чтобы появилась кнопка help необходимо
3)BorderStyle
Значение: bsNone(отсутствие рамки и заголовка)
bsSingle
bsSizeable
bstoolwindow
Работа с несколькими формами.
Добавление новой формы в проект: File->New->Form
Удаление формы из проекта: Project-> Remove from project
Рассмотреть список форм: view->Form или shift+f12
Просмотр программных кодов: view->units(ctrl+f12)
Одна и только одна форма называется главной. Главное окно-то окно которое появляется в момент запуска приложения.
Сделать форму главной: Project->options->main menu
Остальные окна должны появляться по командам Show или ShowMadal
Unit unit1;
Interface;
Uses windows;
Implementation
Uses unit2;
Жизненный цикл формы. Этапы существования формы.
Этапы:
1. Создание(create)-может быть выполнено автоматически либо самим программистом.
По команде File->New->Form новая форма создаётся автоматически.
Программа:
If not assigned(form2) then
Form2:=TForm2.create(self);
Form2.Show;
2. Прорисовка формы(show)-может выполняться одним из двух методов:showmadal, show.
3. Скрытие(hide)
4. Закрытие(close)
5. Уничтожение(release): form2.release)
Создание меню.
Рассмотрим главное и контекстное.
А)главное меню TMainmenu-относится к форме.
Свойства:
-count(количество вложенных пунктов подменю)
-items(содержит все опции подменю)
-bitmap
-checked
Для того чтобы установить комбинацию клавиш для пункта меню нужно в caption установить &новый, а свойстве
Список действий ActionList (вкладка Standard)
Используется при организации совместного использования нескольких взаимосвязных компонентов управления(пунктов различных меню, кнопок). Связь между компонентами управления и объектом ActionList осуществляется с помощью свойства Action компонента управления. Действия при работе с ActionList:
-вынести компонент на форму
-двойным щелчком левой кнопкой мыши вызвать редактор списка действий(Editing Form1.ActionList)
Для создания нового действия Action 1
-для того чтобы перейти в обработчик события Action1Execute необходимо дважды щёлкнуть по названию действия Action1 в редакторе действий
|
-для того чтобы подключить Action1 к конкретному компоненту необходимо в свойстве Action этого компонента в раскрывающемся списке выбрать Action1
Procedure TForm1.Action1Execute(sender:TObject)
Begin
If (MessageDlg(‘Вы действительно хотите закрыть приложение?’, mtConfirmation, [mbOk, mbCancel],0)=mrOk) then
close;
end;
Таблицы строк. Компонент Stringrid.
Компонент StringGrid представляет собой таблицу для отображения данных в виде строк и столбцов.
Столбец 1 |
Столбец 2 |
Столбец 3 |
Столбец 4 |
|
Строка 1 |
1.1 |
1.2 |
1.3 |
1.4 |
Строка 2 |
2.1 |
2.2 |
2.3 |
2.4 |
Строка 3 |
3.1 |
3.2 |
3.3 |
3.4 |
Строка 4 |
4.1 |
4.2 |
4.3 |
4.4 |
Свойства:
1) RowCount, ColCount
2) FixedCols, FixedRows-фиксированные используются для заголовка если значение 0,то фиксированные строки и столбцы отсутствуют
3) DefaultColWidth, DefaultColHeight-
4) Color-цвет формы
5) FixedColor
6) GridLineWidth-толщина линий сетки
Свойства компонентов определяющих отображаемые данные:
1)Cells[Acol, ARow:Integer]:string;
2)Cols[Index:Integer]:TStrings;
3)Rows[Index:Integer]:TStrings-список столбцов
Procedure TForm1.FormCreate(…);
Var I, j:integer;
Begin
With StringGrid1 do
Begin
For
I:=1 to RowCount-1
Пример.
Прорисовка объекта, стирание объекта, перемещение объекта и использование таймера.
Client width, client height
Unit Unit 1;
Interface
………..
Public
Procedure paint (x, y: integer);
Procedure erase (x, y: integer) ;
End;
Var Form1:TForm;
Fx, fy :integer;
Implementation
Procedure Form1.paint(x, y: integer);
Begin
Canvas. Pen. Color:=clblack; // цвет линии
Canvas. Brush. Color := clyellow; // цвет кисти
Canvas. Ellipse (x, y, x+30, y+30); // левый глаз
Canvas. Ellipse (x+9, y+10, x+11, y+13); // правый глаз
Canvas. Ellipse (x+19, y+10, x+21, y+13);
Procedure TForm1.Time1Timer (Sender: TObject);
Begin
Erase (fx, fy);
Fx:= random(Form1.ClientWidth-30);
Fy:= random (Form1.ClientHeight-30);
Paint(fx, fy);
End;
Procedure TForm1.Form1FormCreate (Sender: TObject);
Begin
fx:=100;
fy:=100;random
Компоненты графики.
1)Компонент Image(вкладка additional)- предназначен для показа готового изображения. В нём можно отобразить изображения с расширением
Bmp, wmf, ico
Свойства:
1) Picture-для загрузки изображения на этапе проектирования
2) Autosize-если установлено true, то размер компонента image будет автоматически подгоняться под размер помещённых в него изображений, не искажая их, а если false то изображение может не поместиться на компонент или площадь компонента может быть больше площади изображения.
3) Stretch-если true-подгоняет рисунок под размер компонента искажая его.
4) Center-центрирует изображение
5) Transparent-прозрачность-если true-делает изображение прозрачным. Это свойство можно использовать для наложения изображений друг на друга.
2. Shape-компонент рисования фигуры.(additional)
Свойства:
1)Shape:
-stCircle
-st Ellipse
-st Rectangle
-st Round Rectangle
-st Round Square
-st Square
2)Brush
Подсвойства:
1)Color-цвет
2)Style-тип штриховки фигуры:
— bs Solid(сплошная заливка)
— bs Diagonal
— bs Cross
— bs DiagCross
— bs FDiagonal
— bs Vertical
3)Pen
Color,
3.Chart-компонент создания графиков и диаграмм.
Редактор состоит из Chart и Series.
Страницы вкладки Chart:
1)Series-управление сериями кривых, в том числе добавление, удаление, клонирование
2)General-позволяет во время выполнения приложения
3) Axis — настройка осей графика, в том числе, надпись вдоль оси, масштабирование, положение осей на графике.
4)Titles
5)Legend-вывод описания кривых
6)Panel-настройка панели для вывода кривых
7)Walls-настройка стен плоскостей вдоль осей
8)3D-настройка трёхмерного изображение
Страницы вкладки Series:
1)Add
2)Delete
3)Title-наименование серии
4)Clone
5)Change-изменить типы вывода серии
Лекция №8. Мультимедийные возможности Delphi
Делфи предоставляет в распоряжение программиста 2 компонента, которые позволяют разрабатывать мультимедийные программы.
1)Animate
2)MediaPlayer
Компонент Animate:
(вкладка Win32)
Свойства:
Позволяют воспроизводить простую анимацию, кадры которой находятся в avi файле(изображение без звука)
1. FileName-имя файлов, в котором находится анимация
2. StartFrame-номер кадры с которого начинается отображение анимации
3. StopFrame
4. CommonAvi
5. Activate
6. Color
7. Transparent
8. Repetitions
Компонент MediaPlayer:
Позволяет воспроизводить видеоролики и сопровождать звук анимацией
Свойства:
1)FileName
2)Device Type:
— dt AutoSelect
— dt NameAudio
— dt AviVideo
— dt CDAudio
3) AutoOpen
4)Display-определяет компонент на поверхности которого воспроизводиться ролик.
5)VisibleButtons
Лекция №10.Многостраничные панели.
Многостраничные панели позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания.
TabControl(win32)-одностраничный блокнот, представляет собой прямоугольную область с набором закладок. Применяется в случаях, когда требуется набор закладок, используеых как группа зависимых переключателей. Например при создании календаря или записной книжки с указателем
Св-ва:
1) Style-стили:
-tsTabs
-tsButtons(закладки в виде кнопок)
-tsFlatButtons(закладки в виде плоских кнопок)
2) Tabs
6)TabIndex-для переключения на требуемую закладку
Компонент PageControl-многостраничный блокнот, который имеет несколько страниц расположенных одна под другой.
TTAbSheet-панель на которой можно размещать любые управляющие компоненты.
Для работы с многостраничным блокнотом надо разместить на форме компонент PageControl