Выполнил Ермаков Дмитрий Ермаков Дмитрий Ученик 10 класса МОУ СОШ 19.

Презентация:



Advertisements
Похожие презентации
Объектно-ориентированное программирование Основы языка программирования Lazarus.
Advertisements

Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Презентация Delphi
Слезко Полина Сергеевна Учитель информатики Белоярской СОШ Томской области.
Практические работы в Pascal ABC
Лекция 2 Delphi. Палитра компонентов Окно редактора кода Окно конструктора формы Окно инспектора объектов.
Объектно-ориентированный язык программирования. Выберите в реальной жизни любой объект (холодильник, магнитофон, машина) и опишите его свойства, методы,
Выполнил Ермаков Дмитрий Ермаков Дмитрий Ученик 10 класса МОУ СОШ 19.
Интерфейс графического редактора Adobe PhotoShop 7.0 Подготовила учитель информатики Елизарова Н. Е.
ТЕКСТОВЫЙ РЕДАКТОР Word. Текстовый редактор Word программа создания, редактирования, форматирования, сохранения и печати текстовых документов, проверки.
Подготовила: Сембиева Алия Подготовила: Сембиева Алия Группа: 105 Группа: 105 Факультет: мед-проф Факультет: мед-проф.
Уракова Елена Дмитриевна МБОУ "Самаринская ООШ" ТЕКСТОВЫЙ РЕДАКТОР Word 5informatika.net.
ОКНА СРЕДЫ Visual Basic Презентацию подготовила учитель информатики МБОУ СОШ 3 г. Светлого Нетесова Н. А.
Элементы окна. Виды окон. Виды меню. Сохранение файлов. суббота, 16 ноября 2013 г.
Урок 3. Формы представления данных (таблицы, формы, запросы, отчеты)
Муниципальное бюджетное образовательное учреждение «Средняя общеобразовательная школа 29» Выполнил: Учитель информатики Батова Анна Олеговна Березники,
Интерфейс текстового процессора Microsoft Word. С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся.
МУНИЦИПАЛЬНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА 25 Выполнила: учитель информатики Турганова Н.В. Томск
Графический интерфейс Windows Графический интерфейс позволяет осуществлять взаимодействие человека с компьютером в форме диалога с использованием окон,
Транксрипт:

выполнил Ермаков Дмитрий Ермаков Дмитрий Ученик 10 класса МОУ СОШ 19

В данном электронном учебнике рассмотрены: объектно-ориентированная парадигма программирования, механизмы проектирования, библиотеки объектов. Электронный учебник будет интересен учителям информатики и учащимся средних учебных заведений с углубленным изучением информатики.

Основы объектно-ориентированного программирования в среде Delphi Основы объектно-ориентированного программирования в среде Delphi Объектно-ориентированная парадигма программирования Объектно-ориентированная парадигма программирования Классы и объекты Delphi Классы и объекты Delphi Составляющие класса Составляющие класса Составляющие класса Составляющие класса Поля Поля Поля Методы Методы Методы Свойства Свойства Свойства Объявления класса Объявления класса Объявления класса Объявления класса Интерфейс Delphi Интерфейс Delphi Интерфейс Delphi Интерфейс Delphi Объектно-ориентированное проектирование Объектно-ориентированное проектирование Пустая форма и ее модификация Пустая форма и ее модификация Пустая форма и ее модификация Пустая форма и ее модификация Размещение нового компонента Размещение нового компонента Размещение нового компонента Размещение нового компонента Реакция на события Реакция на события Реакция на события Реакция на события Динамическое изменение свойств компонента Динамическое изменение свойств компонента Динамическое изменение свойств компонента Динамическое изменение свойств компонента Библиотеки объектов Библиотеки объектов Общие свойства компонентов Общие свойства компонентов Общие свойства компонентов Общие свойства компонентов Компоненты страницы STANDARD Компоненты страницы STANDARDКомпоненты страницы STANDARDКомпоненты страницы STANDARD Компонент форма TForm Компонент метка TLabel Компонент однострочный редактор текста TEdit Компонент форма TForm Компонент метка TLabel Компонент однострочный редактор текста TEdit Компонент форма TForm Компонент метка TLabel Компонент однострочный редактор текста TEdit Компонент форма TForm Компонент метка TLabel Компонент однострочный редактор текста TEdit Компонент кнопка TButton Компонент TMemo Компонент Группа переключателей TRadioGroup Компонент кнопка TButton Компонент TMemo Компонент Группа переключателей TRadioGroup Компонент кнопка TButton Компонент TMemo Компонент Группа переключателей TRadioGroup Компонент кнопка TButton Компонент TMemo Компонент Группа переключателей TRadioGroup Компонент главное меню TMainMenu Компонент главное меню TMainMenu Компонент главное меню TMainMenu Компонент главное меню TMainMenu Компонент TPanel Компонент TPanel Компонент TPanel Компонент TPanel Раскрывающийся список TComboBox Раскрывающийся список TComboBox Раскрывающийся список TComboBox Раскрывающийся список TComboBox Компоненты страницы ADDITIONAL Компонент картинка TImage Компоненты страницы ADDITIONAL Компонент картинка TImage Компоненты страницы ADDITIONALКомпонент картинка TImage Компоненты страницы ADDITIONALКомпонент картинка TImage Компоненты страницы System Компонент мультимедийный проигрыватель TMediaPlayer Компоненты страницы System Компонент мультимедийный проигрыватель TMediaPlayer Компоненты страницы System Компонент мультимедийный проигрыватель TMediaPlayer Компоненты страницы System Компонент мультимедийный проигрыватель TMediaPlayer Лабораторные работы Лабораторные работы Лабораторная работа 1 Лабораторная работа 1Лабораторная работа 1Лабораторная работа 1 Лабораторная работа 2 Лабораторная работа 2Лабораторная работа 2Лабораторная работа 2 Лабораторная работа Лабораторная работа 3 Лабораторная работа 3 Лабораторная работа Самостоятельные работ Самостоятельные работы Самостоятельные работ Тест самопроверки Тест самопроверки Литература

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

Поля Поля Методы Методы Свойства Свойства

Полями называются инкапсулированные в классе данные. Принцип инкапсуляции требует обращения к полям класса только с помощью методов и свойств, но также разрешено обращение к полям и напрямую: Полями называются инкапсулированные в классе данные. Принцип инкапсуляции требует обращения к полям класса только с помощью методов и свойств, но также разрешено обращение к полям и напрямую:Type TMyClass=Class TMyClass=Class aIntField: integer; aIntField: integer; aStrField: string; aStrField: string; aObjfield: TObject; aObjfield: TObject; function MyFunc(aPar: integer):Integer; function MyFunc(aPar: integer):Integer; procedure MyProc; procedure MyProc; end; end; Var aObject: TMyClass; begin … aObject.aIntField:=0; aObject.aIntField:=0; aObject.aStrField:=строка символов; aObject.aStrField:=строка символов; …end; Класс-потомок получает все поля своих предков и может дополнять их своими, но он не может удалять их или переопределять. Т.о. чем ниже в иерархии располагается класс, тем больше данных получают в свое распоряжение его объекта. Класс-потомок получает все поля своих предков и может дополнять их своими, но он не может удалять их или переопределять. Т.о. чем ниже в иерархии располагается класс, тем больше данных получают в свое распоряжение его объекта.

Доступ к методам класса, также как к его полям, возможен с помощью составных имен: Доступ к методам класса, также как к его полям, возможен с помощью составных имен: Var aObject:TMyClas; begin … aObject.MyProc; aObject.MyProc; …… ……end; Методы класса могут перекрываться с потомках. Например: Методы класса могут перекрываться с потомках. Например: type TParentClass = class procedure Do Work; procedure Do Work; end; end; TChildClass = class(TParentClass) TChildClass = class(TParentClass) procedure Do Work; procedure Do Work; end; end; Потомки обоих классов могут выполнять сходную по назначению процедуру Do Work, но в общем случае будут это делать по-разному. Такое замещение методов называется статическим, т.к. реализуется компилятором. Потомки обоих классов могут выполнять сходную по назначению процедуру Do Work, но в общем случае будут это делать по-разному. Такое замещение методов называется статическим, т.к. реализуется компилятором. Гораздо чаще используется динамическое замещение методов на этапе прогона программы. Для реализации этого метод, замещаемый в родительском классе, должен объявляться как динамический (dynamic) или виртуальный (virtual). Гораздо чаще используется динамическое замещение методов на этапе прогона программы. Для реализации этого метод, замещаемый в родительском классе, должен объявляться как динамический (dynamic) или виртуальный (virtual). Отличие между динамическим и виртуальным методами заключается в том, что таблица динамических методов содержит адреса только тех методов, которые объявлены как dynamic в данном классе, в то время как таблица виртуальных методов не только данного класса, но и всех его родителей. Значительно большая по размеру таблица VMT обеспечивает более быстрый поиск. Отличие между динамическим и виртуальным методами заключается в том, что таблица динамических методов содержит адреса только тех методов, которые объявлены как dynamic в данном классе, в то время как таблица виртуальных методов не только данного класса, но и всех его родителей. Значительно большая по размеру таблица VMT обеспечивает более быстрый поиск. Классы, содержащие абстрактные методы называют абстрактными. Такие классы инкапсулируют общие свойства своих неабстрактных потомков, но объекты таких классов никогда не создаются и не используются. Для использования абстрактных классов в библиотеку объектов Delphi включаются классы потомки, в которых перекрываются абстрактные методы родителя. Классы, содержащие абстрактные методы называют абстрактными. Такие классы инкапсулируют общие свойства своих неабстрактных потомков, но объекты таких классов никогда не создаются и не используются. Для использования абстрактных классов в библиотеку объектов Delphi включаются классы потомки, в которых перекрываются абстрактные методы родителя.

В состав любого класса входят два специальных метода – конструктор и деструктор. У класса TObject эти методы называются Create и Destroy. Конструктор распределяет объект в динамической памяти и помещает адрес этой памяти в переменную Self, которая автоматически объявляется в классе. Обращение к конструктору должно предварять любое обращение к полям и методам объекта. Деструктор удаляет объект из динамической памяти. Конструктор и деструктор по своей форме являются процедурами, но объявляются при помощи зарезервированных слов constructor и destructor. В состав любого класса входят два специальных метода – конструктор и деструктор. У класса TObject эти методы называются Create и Destroy. Конструктор распределяет объект в динамической памяти и помещает адрес этой памяти в переменную Self, которая автоматически объявляется в классе. Обращение к конструктору должно предварять любое обращение к полям и методам объекта. Деструктор удаляет объект из динамической памяти. Конструктор и деструктор по своей форме являются процедурами, но объявляются при помощи зарезервированных слов constructor и destructor. type type TMyClass = class TMyClass = class IntField: integer; IntField: integer; constructor Create; constructor Create; destructor Destroy; destructor Destroy; end; end; Большинство конструкторов реализуют некоторые действия, необходимые для правильной работы объекта. Поэтому в конструкторе класса-потомка следует сначала вызвать конструктор своего родителя, а уже затем осуществлять дополнительные действия. Вызов любого метода родительского класса достигается при помощи директивы Inherited: Большинство конструкторов реализуют некоторые действия, необходимые для правильной работы объекта. Поэтому в конструкторе класса-потомка следует сначала вызвать конструктор своего родителя, а уже затем осуществлять дополнительные действия. Вызов любого метода родительского класса достигается при помощи директивы Inherited: Cjnstructor TMyClass.Create; begin Inherited Create; // вызываем унаследованный конструктор Inherited Create; // вызываем унаследованный конструктор IntField:=6; // реализуем дополнительные действия IntField:=6; // реализуем дополнительные действияend; Некоторые методы могут вызывать Некоторые методы могут вызывать

Это специальный механизм классов, регулирующий доступ к полям. Свойства объявляются с помощью зарезервированных слов property, read, write. Обычно свойство связано с некоторым полем и указывает те методы класса, которые должны использоваться при записи в это поле или при чтении из него: type TaClass=Class TaClass=Class IntField: integer; IntField: integer; function GetField:Integer; function GetField:Integer; procedure SetField(Value:Integer); procedure SetField(Value:Integer); property Integer Value: Integer read GetField write SetField; property Integer Value: Integer read GetField write SetField; end; end; В программе свойство ведет себя как обычное поле. Например, можно записать такие операторы: Var aObject: TaClass; V: Integer; V: Integer; begin begin aObject:=TaClass.Create; // Создание объекта aObject:=TaClass.Create; // Создание объекта aObject.IntegerValue:=0; aObject.IntegerValue:=0; … V:=aObject.IntegerValue; V:=aObject.IntegerValue; … aObject.Free; // Удаление объекта aObject.Free; // Удаление объекта end; end; Также возможен такой оператор: aObject.IntField:=0; разница между ним и оператором aObject.IntegerValue:=0; заключается лишь в том, что при обращении к свойству автоматически

Подключается метод SetField, в котором могут реализовываться дополнительные действия. Например, при выполнении оператора Label1.Caption:= строка символов; свойство captionкомпонента Label1 не только запоминает строку символов в некоторой переменной, но и прорисовывает метку с новым текстом. Если нет необходимости в дополнительных действиях при чтении или записи свойства, то вместо имени соответствующего метода можно указывать имя поля: Если необходимо, чтобы поле было доступно только для чтения или только для записи, следует опустить соответственно часть write или read.

Любой вновь создаваемый класс может содержать секции, определяемых зарезервированными словами published (декларированные), private (личные), protected (защищенные), public(доступные). Внутри каждой секции вначале определяются поля, а затем методы и свойства.

Delphi – это среда для быстрой разработки приложений с помощью средств визуального программирования, имеющая мощный объектно-ориентированный язык Object Pascal и средства работы с базами данных. Интерфейс Delphi состоит из следующих окон: Главное окно Главное окно Окно формы Окно формы Окно инспектора объектов Окно инспектора объектов Окно дерева объектов Окно дерева объектов Окно кода программы Окно кода программы Главное окно Delphi Главное окно Delphi главное меню главное меню набор пиктограмм палитра компонентов набор пиктограмм палитра компонентов

Главное окно осуществляет основные функции управления проектом создаваемой программы. В этом окне располагается главное меню Delphi, набор пиктограмм и палитра компонентов. Пиктограммы открывают быстрый доступ к наиболее важным опциям главного меню. По функциональному признаку они разделены на 4 группы, каждая из которых занимает отдельную панель. Палитра компонентов занимает правую часть главного окна и имеет закладки, обеспечивающие быстрый поиск нужного компонента. Под компонентом подразумевается некоторый функциональный элемент (объект), содержащий определенные свойства и размещаемый программистом в окне формы. С помощью компонентов создается визуальный интерфейс программы – окна, кнопки, списки выбора и т.д. Окно формы представляет собой проект Windows-окна будущей программы Окно формы Окно формы Вначале оно содержит стандартные интерфейсные элементы – кнопки вызова системного меню, максимизация, минимизация и закрытие окна, полосу заголовка и очерчивающую рамку. Рабочая область заполнена координатной сеткой, служащей для упорядочения размещаемых на форме компонентов. Окно инспектора объектов служит для изменения параметров размещаемых на форме компонент, каждый из которых является встроенным объектом Delphi. Поэтому окно инспектора объектов имеет две страницы – Properties (свойства) и Events (события). Страница Properties служит для установки нужных свойств компонента, страница Events позволяет определить методы, т. е. реакцию компонента на то или иное событие. Каждая страница окна инспектора объектов представляет собой таблицу, левая кнопка

которой содержит название свойства или события, а правая – конкретное значение свойства или имя подпрограммы, обрабатывающей соответствующее событие. В верхней части окна инспектора объектов располагается раскрывающийся список всех помещенных на форму компонентов. Так как форма сама по себе является компонентом, ее имя также присутствует в этом списке. Окно дерева объектов служит для отображения всех компонентов, размещенных на форме, в виде дерева, показывая имена компонентов, родительские компоненты и выделенный компонент. С помощью этого окна можно менять родительский компонент простым перетаскиванием мышью. Окно дерева Окно дерева объектов служит для отображения всех компонентов, размещенных на форме, в виде дерева, показывая имена компонентов, родительские компоненты и выделенный компонент. С помощью этого окна можно менять родительский компонент простым перетаскиванием мышью. Окно дерева Окно кода программы предназначено для объектов Окно кода программы предназначено для объектов создания и редактирования текста программы. Первоначально окно кода содержит минимальный исходный текст, обеспечивающий функционирование пустой формы в качестве Windows-окна. пустой формы в качестве Windows-окна. Окно инспектора объектов Окно кода программы

1. Подготовительный этап В процессе работы над проектом программы вам понадобится множество форм и модулей. Поэтому полезно для каждой программы создавать свой каталог с именем программы. При нажатии Run/Run подготовленная программа проходит этапы компиляции, компоновки и исполнения. На этапе компиляции происходит преобразование подготовленного в окне кода текста программы на языке Object Pascal в последовательность машинных инструкций, на этапе компоновки к ней подключаются необходимые вспомогательные подпрограммы, а на этапе исполнения готовая программа загружается в оперативную память и ей передается управление. 2. Изменение свойств формы Свойства формы можно изменить в окне инспектора объектов. Например, по умолчанию заголовок формы совпадает с ее именем (Form 1). Чтобы изменить его выделить строку Caption в окне инспектора объектов и написать новый заголовок формы.

Для этого нужно выбрать его на панели компонентов и щелкнуть мышью на окне формы. Все видимые компоненты имеют свойства Left слева, Top сверху, Width ширина, Height высота, числовые значения которых определяют положение левого верхнего угла компонента и его размеры в пикселях. При буксировании компонента (мышью или Ctrl+стрелки) или изменении его размеров (мышью или Shift+стрелки) эти размеры автоматически изменяют в окне инспектора объектов.

Функциональность программы определяется совокупностью ее реакций на те или иные события В связи с этим каждый компонент кроме свойств характеризуется набором событий, на которые он может реагировать. Чтобы заставить программу реагировать на какое-либо событие необходимо написать фрагмент программы, которой называется обработчиком события и оформляется в виде процедуры. Чтобы заставить Delphi самостоятельно сделать заготовку для процедуры обработчика события нужно: в окне инспектора объектов на вкладке событий дважды щелкнуть в строке, содержащей имя события. Для события щелчка по компоненту (OnClick) определен более удобный способ: двойной щелчок по компоненту.

Динамическим изменением свойств компонента называется изменение свойств в процессе выполнения программы. Например, при создании формы пусть изменяется надпись на кнопке. Для этого создадим обработчик события OnCreate, которое возникает после создания Windows окна, но до появления этого окна на экране. Чтобы создать обработчик события в окне инспектора объектов раскройте список компонентов на компоненте Form1 и на вкладке события дважды щелкните на правой части строки OnCreat. В ответ Delphi автоматически создаст заготовку процедуры TForm1. FormCreate. Вставьте туда след код: Button1.Caption:=Закрыть; Составное имя Button1. Caption необходимо для точного указания компилятору, о каком свойстве идет речь, так как на форме расположены 2 компонента (форма, кнопка) имеющего свойство Caption. Т. о. любое свойство любого компонента можно изменять динамически, т. е. в ходе работы программы.

Эти свойства обычно изменяются на этапе конструирования формы, но они доступны также и на этапе прогона программы. 1. Положение и размеры компонента определяются в пикселях четырьмя его свойствами. Клиентская область – это внутренняя область, за исключением заголовка, рамки и меню 2. Свойство Align – определяет выравнивания положения компонента относительно границ своего родителя. 3. Свойство Visible: Boolean – прячет или показывает любой видимый компонент. 4. Свойство Enabled: Boolean определяет возможность активизации компонента. 5. Свойство Ctl3D: Boolean регулирует объемность изображения. 6. Свойство Caption: String определяет надпись на компоненте. 7. Свойство Font определяет шрифт. 8. Свойство Alignment регулирует расположение текста относительно границ компонента. 9. С помощью придания свойству DtsktopFont: Boolean значение true можно потребовать от компонента, чтобы он выводил текст системным цветом Windows. 10. Свойство Color: TColor определяет цвет заливки видимой части элемента. Свойство TabStop: Boolean разрешает/запрещает выбор компонента клавишей Tab. 11. Свойством TabOrder: Integer определяет порядок выбора компонента. 12. Свойство Hint: String определяет содержание небольшого справочного окна возле компонента, около которого остановился курсор. Существует для всех видимых компонентов. Свойство Назначение Тип свойства Height ВысотаInteger Left Положение левой кромки Integer Top Положение верхней кромки Integer Width ШиринаInteger AlNone Свойство не установлено AlTop Компонент прижат к верхней границе своего родителя AlBotto m к нижней AlLeft к левой AlRegth к правой AlClient компонент занимает всю клиентскую область родителя TaLeftJustify прижать к левой границе TaRightJustify прижать к правой границе TaCenter расположить по центру

14. Свойство ShowHint: Boolean регулирует появление справочной строки и содержание небольшого справочного окна возле элемента, около которого остановился курсор. Чтобы компонент смог показать ярлычок, нужно поместить текстовую строку в его свойство Hint и присвоить свойству ShowHint значение true. 15. Свойство Anchors привязка к родительскому компоненту при изменении размеров. 16. Свойство ScrollBars определяет наличие полос прокрутки. SsNone Нет полос SsHorizontal Горизонтальная полоса прокрутки SsVertical Вертикальная полоса прокрутки SsBoth Обе полосы

Форма является элементом любого приложения 1. Свойство FormStyle определяет разновидность формы, т.е. стиль формы. 2. Свойство BorderIcons определяет наличие кнопок в заголовке окна. fsNormal Определяет обычную форм (SDI) fsMDIChild Определяет дочернюю форму MDIокна fsMDIForm Определяет главное MDIокно fsStayOnTop Определяет положение окна над всеми другими окнами и препятствует перекрытию окна другими окнами, даже если оно потеряло фокус ввода (используется в исключительных случаях) biSystemMenu Имеется кнопка вызова системного меню biMinimize Имеется кнопка минимизации biMaximize Имеется кнопка максимизации biHelp Имеется кнопка вызова справочной службы

3. Свойство BorderStyle определяет стиль рамки окна. 4. Свойство Icon содержит пиктограмму окна. Для главной формы это свойство определяет пиктограмму приложения. 5. Свойство Menu содержит главное меню окна. 6. Свойство Position определяет положение и размеры окна в момент его положения на экране. bsNone Окно не имеет рамки и заголовка и не может перемещаться и изменять свои размеры bsSingle Рамка толщиной в один пиксель, окно не может изменять свои размеры bsSizeable Обычная рамка bsDialog Рамка диалогового окна, окно не может изменять свои размеры bsToolWindow Подобно bsSingle,но с уменьшенным по высоте заголовком bsSizeToolWin Подобно bsSizeable, но с уменьшенным по высоте заголовком poDesigned Такие же, как на этапе конструирования окна poDefault Положение и размеры определяет Windows poDefaultPosOnly Положение как на этапе конструирования, размеры определяет Windows poDefaulSizeOnly Размеры как на этапе конструирования, положение определяет Windows poScreenCenter В центре экрана с размерами, как на этапе конструирования

7. Свойство WindowState определяет состояние окна в момент его появления на экране. События формы 1. Событие OnCreate возникает при создании формы. 2. Событие OnActivate возникает, когда форма стала активной. 3. Событие OnClose возникает при закрытии формы. 4. Событие OnCanResize возникает при изменении размеров формы. 5. Событие OnPaint возникает при перерисовке формы. wsNormal Обычное окно wsMinimized Минимизировано до пиктограммы wsMaximized Распахнуто на весь экран

Предназначена для размещения Предназначена для размещения различного рода текстовых различного рода текстовых надписей. надписей. 1. Свойство AutoSize (значение true, false0) указывает, будет ли метка изменять свои будет ли метка изменять свои размеры в зависимости от помещенного размеры в зависимости от помещенного на нее текста. на нее текста. 2. Свойство LayOut определяет выравнивание текста по вертикали относительно границ метки. 3. Свойство WordWrap: Boolean имеет значение или и размещает (или запрещает) разрыв строки на границе слова. Пример. Вывод многострочных надписей Пример. Вывод многострочных надписей Label1.AutoSize:=False; Label1.AutoSize:=False; Label1.WordWrap:=True; Label1.WordWrap:=True; Label1.Caption:=Это многострочная метка.; Label1.Caption:=Это многострочная метка.;tlTop Текст располагается вверху tlCenter Текст располагается по вертикали tlBottom Текст располагается внизу

Предназначен для ввода редактирования и отображения Предназначен для ввода редактирования и отображения текстовых строк. текстовых строк. 1. Свойство AutoSelect: Boolean определяет, будет ли выделяться весь текст в момент получения компонентом фокуса ввода. 2. Свойство CharCase определяет авоматическое преобразование высоты букв (правильно работает с кириллицей). 3. Свойство MaxLength: Integer определяет максимальную длину текстовой строки. Если равно 0, то длина строки не ограничена. 4. Свойство ReadOnly: Boolean определяет режим текстового окна: true – только для чтения и вывода, false – для ввода, редактирования, чтения и вывода. Метод компонента Clear удаляет весь текст. Метод компонента Clear удаляет весь текст. ecNormal Нет преобразования ecUpperCase Все буквы заглавные ecLowerCase Все буквы строчные

Стандартные функции, предназначенные для операций с числами Для преобразования текстовой строки в число используются функции: StrToUnt (S: string):integer или StrToFloat(S: string):real. Для преобразования числа в текстовую строку ипользуются функции: IntToStr(X:integer): string; FloatToStr(X:real): string или FloatToStr(X:real; Format; Precision, Digits: Integer): string. Пример: Из текстового окна считывается число, увеличивается на 5 и выводится в метку. X:=StrToFloat(Edit1.Text); X:=X+5; Label1.Caption:=FloatToStr(X); Стандартные функции, предназначенные для операций со строками Для преобразования текстовых строк из заглавных букв в строчные используются функции: - для латинских букв: LowerCase(s: string): string; - для любых букв: AnsiLowerCase(s: string): string; Для пре 6 образования текстовых строк из строчных букв в заглавные используются функции: - для латинских букв: UpperCase(s: string): string; - для любых букв:AnsiUpperCase(s: string): string;

Используется для управления окнами. Используется для управления окнами. 1. Свойство Cancel: Boolean возникает событие OnClick, если нажата клавиша ESC. 2. Свойство Default: Boolean возникает событие OnClick, если нажата клавиша Enter. Пример установки кнопки кнопкой по умолчанию, при создании формы. Пример установки кнопки кнопкой по умолчанию, при создании формы. Procedure TForm1. FormCreate (Sender: TObjest); Procedure TForm1. FormCreate (Sender: TObjest); Begin Begin Button1.Default:=true; Button1.Default:=true; End; End;

Многострочное текстовое окно. Многострочное текстовое окно. 1. Свойство Lines:TStrings содержит список строк, введенных пользователем. 2. Свойство WantReturns: Boolean позволяет/ запрещает использовать клавишу Enter для перехода на новую строку. Основные свойства и методы класса TStrings Свойство или метод Значение Count: integer Определяет число строк в списке Strings[i: integer]: String Определяет строку с индексом i. Индекс первой строки 0. Text: String Содержит все строки списка, включая символы возврата каретки и перевода строки (#13#10) Add (S: string): integer Добавляет строку S в список и возвращает номер этой строки Clear Удаляет все строки из списка Delete (i:integer) Удаляет из списка элемент с индексом i Exchange (i1, i2: integer) Меняет местами две строки с индексами i1, i2 Insert (i: integer; S: string) Вставляет в список строку S под индексом i Move (i S 1, i2: integer) Перемещает элемент списка из позиции i1 на позицию i2

Пример: занести в список слово «Результат», вставить перед ним слово «Отлично» и переставить эти слова в списке. Memo1.Lines.Add (Результат); Memo1.lines.Insert (0,Отлично); Memo1.lines.Exchange(0,1) LoadFromFile (Name:String) Загружает список из файла с именем Name SaveToFile (Name:String) Помещает список в файл с именем Name

Этот компонент служит контейнером для размещения зависимых Этот компонент служит контейнером для размещения зависимых переключателей. Каждый размещаемый в нем переключатель помещается в переключателей. Каждый размещаемый в нем переключатель помещается в специальный список Items и доступен по индексу. специальный список Items и доступен по индексу. 1. Свойство Items: TStrings аналогично свойству Lines, рассмотренному ранее (в компоненте Memo). 2. Свойство Columns:I nteger определяет количество столбцов переключателя. 3. Свойство ItemIndex: Integer содержит индекс выбранного переключателя. Примеры. 1. Добавление переключателя с наименованием R3 RadioGroup1.Columns:=RadioGroup1.Items.add(R3); RadioGroup1.Columns:=RadioGroup1.Items.add(R3); 2. Удаление первого переключателя RadioGroup1.Items.delete(0); RadioGroup1.Items.delete(0);

Определяет главное меню формы. Компонент – не визуальный, это означает, что в Определяет главное меню формы. Компонент – не визуальный, это означает, что в работающей программе он не отображается. Его настройка осуществляется при работающей программе он не отображается. Его настройка осуществляется при помощи специального редактора, который открывается двойным щелчком мыши. После установки компонента на форму необходимо создать его опции двойным щелчком мыши. Для каждой опции определены свойства Name – имя пункта меню и Caption – название пункта, отображающееся на экране. В названиях опций указывается символ «&» перед тем символом, который определяет клавишу быстрого выбора. Например, при создании опции Файл, которую можно выбрать комбинацией клавиш Alt+Ф, в строке Caption Инспектора объектов пишется строка &Файл (рис.1). Для создания черты, разделяющей группы подопций очередной элемент меню заменяется на знак «-» (рис.2). помощи специального редактора, который открывается двойным щелчком мыши. После установки компонента на форму необходимо создать его опции двойным щелчком мыши. Для каждой опции определены свойства Name – имя пункта меню и Caption – название пункта, отображающееся на экране. В названиях опций указывается символ «&» перед тем символом, который определяет клавишу быстрого выбора. Например, при создании опции Файл, которую можно выбрать комбинацией клавиш Alt+Ф, в строке Caption Инспектора объектов пишется строка &Файл (рис.1). Для создания черты, разделяющей группы подопций очередной элемент меню заменяется на знак «-» (рис.2). Для элемента меню определено единственное событие OnClick, которое возникает при щелчке на опции или при нажатии клавиши Enter. Для элемента меню определено единственное событие OnClick, которое возникает при щелчке на опции или при нажатии клавиши Enter. рис.1 рис.2

Средство создания разного вида рамок и для объединения произвольных компонентов с возможностью их перемещения. Средство создания разного вида рамок и для объединения произвольных компонентов с возможностью их перемещения. 1. Свойство BevelInner и BevelOuter задают стили оформления внутренней и внешней рамок соответственно. Свойство задают стили оформления внут¬ренней и внешней рамок соответственно. BvNone Отсутствует BvNone Отсутствует BvLowered Вдавленная BvLowered Вдавленная BvRaised Выпуклая BvRaised Выпуклая BvSpace Плоская BvSpace Плоская 2. Свойство BevelWidth определяет расстояние между внутренней и внешней рамкой. 3. Свойство BorderWidth определяет ширину бордюра. 4. Свойство BorderStyle рассмотрено в свойствах компонента TForm.

Представляет собой список с присоединенным дополнительным полем, в котором отображается выбранный элемент списка. Представляет собой список с присоединенным дополнительным полем, в котором отображается выбранный элемент списка. 1. Свойство Items: TStrings содержит все элементы списка. 2. Свойство ItemIndex содержит индекс элемента списка. 3. Свойство Text содержит выбранный элемент списка. 4. Свойство Style определяет стиль изображения списка. Значения свойства Style Значения свойства StyleCsDropDown Строки списка имеют одинаковую высоту с окном, позволяет вводить и редактировать текст CsSimple Список всегда раскрыт CsDropDownList Строки имеют одинаковую высоту, окно редактирования отсутствует

Используется для отображения картинок и Используется для отображения картинок и создания различных анимационных создания различных анимационных эффектов. эффектов. 1. Свойство Picture определяет изображение помещенное в компоненте. Загрузка/сохранение графического изображения из файла в свойство Picture осуществляется посредством специального редактора Picture Editor. Динамическая загрузка изображения в компонент происходит путем вызова метода LoadFromFile(const FileName: string);, FileName – полный путь к файлу с картинкой, если же файл находится в том же каталоге,что и проект можно писать только полное имя файла (файл должен иметь расширение bmp). Динамическая загрузка изображения в компонент происходит путем вызова метода LoadFromFile(const FileName: string);, FileName – полный путь к файлу с картинкой, если же файл находится в том же каталоге,что и проект можно писать только полное имя файла (файл должен иметь расширение bmp). 2. Свойство AutoSize: boolean разрешает/запрещает изменять размеры компонента так, чтобы в них полностью загрузилось изображение. 3. Свойство Center: boolean указывает, надо ли центрировать изображение в границах компонента. Игнорируется, если AutoSize:=true, или Stretch:=true и изображение не является пиктограммой (.ico). 4. Свойство InrementaIDisplay: Boolean разрешает (запрещает) показ большого изображения по мере его загрузки. 5. Свойство Stretch: Boolean разрешает (запрещает) изменять размер изображения так, чтобы оно целиком заполнило клиентскую область компонента. 6. Свойство Transparent: Boolean запрещает (разрешает) накладывать собственный фон изображения на фон компонента.

Универсальный проигрыватель предназначен для воспроизведения музыкальных и Универсальный проигрыватель предназначен для воспроизведения музыкальных и видео клипов. Управление воспроизведением осуществляется при помощи набора кнопок, напоминающих кнопки музыкального центра. видео клипов. Управление воспроизведением осуществляется при помощи набора кнопок, напоминающих кнопки музыкального центра. 1. Свойство FileName содержит имя файла, в котором хранится объект воспроизведения. 2. Свойство DeviseType определяет тип устройства воспроизведения. Значение этого свойства DtAutoSelect позволяет автоматически определять тип устройства исходя из расширения файла. 3. Свойство AutoOpen: boolean автоматически открывает устройство в процессе выполнения приложения. 4. Свойство Display указывает оконный компонент, в котором будет отображатьс изображение. 5. Свойство DisplayRect: Trect задает прямоугольную область вывода изображения )только во время выполнения). Для задания этого свойства используется функция Rect(,,, ). Пример. MediaPlaye1.DisplayRect:=Rect (0, 0, form1.Left, form1.Top); MediaPlaye1.DisplayRect:=Rect (0, 0, form1.Left, form1.Top);

Программа должна закрашивать форму в три различных цвета, в зависимости от нажатии на соответствующую кнопку, и вывести название этого цвета. Программа должна закрашивать форму в три различных цвета, в зависимости от нажатии на соответствующую кнопку, и вывести название этого цвета. Ход работы: Ход работы: 1. Создайте новый проект. Переименуйте форму в frm, и измените ее заголовок Labl1. 2. Добавьте на форму следующие объекты: 3. Для кнопки BtnExite напишите код, завершающий выполнение программы. 4. Сделайте так, чтобы при нажатии на кнопку BtnRed: - Цвет формы становился красным; - На метке появляется надпись «Красный». 5. Запустите программу нажатием F9 или кнопки Run в панели инструментов. 6. Для кнопок BtnBlue и BtnGreen аналогично напишите обработчики щелчка по кнопкам. 7. Сделайте из формы диалоговое окно. 8. Сохраните форму и проект под именем lab1_1, создав в папке Projects новую папку со своей фамилией. 9. Закройте проект. Просмотр программы Просмотр программы Просмотр окна кода Просмотр окна кода Компонент СвойствоЗначение Label (Метка) NameLbl Caption Font TimesNewRoman 12 Button (Кнопка) NameBtnGreen Caption Зеленый NameBtnRed Caption Красный NameBtnBlue Caption Синий NameBtnExit Caption Выход

Создайте программу, которая сверяет число, введенное пользователем с задуманным и выводит результат сравнения на экран. В случае угадывания числа показывается рисунок. Создайте программу, которая сверяет число, введенное пользователем с задуманным и выводит результат сравнения на экран. В случае угадывания числа показывается рисунок. Ход работы: Ход работы: 1. Создайте новый проект. Переименуйте форму в frm, и измените ее заголовок на Labl2. 2. Добавьте на форму три метки (одна сверху формы во всю длину, одна над текстовым окном и одна для вывода результата), две кнопки и рисунок. Компонент СвойствоЗначение Label 1 NameLblTop Caption Угадай число от 1 до 100 AlignmenttaCenter Font TimesNewRoman, 22 Label 2 NameLbl Font TimesNewRoman, 18 Caption Введите число Label 3 NameLblRez Font TimesNewRoman, 18 Caption Button 1 NameBtnCheckCaptyion Проверка Button 2 NameBtnExit Captyion Выход

3. Опишите переменную X как глобальную, которая будет отвечать за задуманное число. 4. Вставьте процедуру создания формы (OnCreate), используя Object Inspector. Задайте в переменной X случайное число от 1 до При каждом нажатии кнопки «Проверка»: - Считывается содержимое текстового окна в переменную Y. - Считывается содержимое текстового окна в переменную Y. - Y сравнивается с X. В метке lblRez выводится результат сравнения (Больше, Меньше, Угадано). - Y сравнивается с X. В метке lblRez выводится результат сравнения (Больше, Меньше, Угадано). - В случае «Угадано» появляется рисунок. - В случае «Угадано» появляется рисунок. 6. Запрограммируйте кнопку выход для завершения программы. 7. Сохраните форму и проект под именем lab1_2 в своей папке. 8. Измените цвет текста и фона компонентов по желанию. 9. Сохраните изменения и закройте проект. Просмотр программы Просмотр программы Просмотр окна кода Просмотр окна кода Edit (Текстовое окно) NameEdNumberFont TimesNewRoman, 18 AutoSelectTrue Text Image(Рисунок)NameImg VisibleFalse Picture C:\Program File\MSOffice\Clipart\Popular\Trophy.wmf StretchTrue

Создание приложения с несколькими формами Создайте программу, которая по нажатию кнопки выводит предложение, составленное из случайных слов списка. Ход работы: 1. Создайте новый проект. Переименуйте форму в frmPL, и измените ее заголовок на "Игра". 2. Добавьте на форму следующие компоненты: -Три TComboBox, свойство Техт которых содержит пустую строку, a Name соответственно - CBPod, CBCkaz, CBDop. a)В свойство Items компонента CBPod поместите массив подлежащих (каждое слово с новой строки) - Корова, Пчела, Собака, Рыба, Лягушка, Мартышка, Чашка b)В свойство Items компонента CBDop поместите массив дополнений (каждое слово с новой строки) - тихо, задумчиво, печально, звонко, весело, зажмурившись, долго. c)В свойство Items компонента CBCkaz поместите массив сказуемых (каждое слово с новой строки) - паслась, летела, бежала, плыла, лежала, сидела, стояла. -Две кнопки TBitBtn имена которых Btn и BtnExit. На кнопке Btn создайте надпись Вращать, и сделайте ее кнопкой по умолчанию. Кнопку BlnExit настройте таким образом, чтобы она автоматически закрывала форму.

-Компонент главное меню с опциями: Команды Информация ВращатьО программе Справка Выход Alt+X (Свойство ShortСut) 3. В модуле опишите процедуру RNDWord выбора случайных слов из трех компонентов ComboBox, в которой: Для каждого ComboBox формируется случайное число (индекс строки) в интервале от 0 до количества строк в свойстве Items. -в соответствующем ComboBox. прописывается строка со случайным индексом. 4. При нажатии на кнопку и пункт главного меню Вращать происходит вызов процедуры RNDWord. При нажатии на пункт главного меню Выход форма закрывается. 5. Сохраните проект и его форму. 6. Добавьте в проект диалоговое окно «О программе»: Выбрать пункт меню File/New/Other, закладка Forms, форма About Box. 7. Измените свойства компонентов, внеся информацию о вашей программе и сохраните форму. 8. В пункте меню О программе вызовите окно формы About Box. 9. В пункте меню Справка выведите окно сообщения об отсутствии справки. Окно сообщения должно содержать значок ошибки и кнопку ОК. Просмотр программы Просмотр программы Просмотр окна вывода Просмотр окна вывода

1 Написать программу определения идеального веса по росту (Вес=Рост-110). Просмотр программы Просмотр программы 2 Создайте программу, в которой во втором компоненте Memo вывести содержимое первого компонента Memo, в котором первая и последняя строки переставлены, причем исходные данные отделены от полученных при помощи рамки. Предусмотреть возможность сохранения и открытия данных. Просмотр программы Просмотр программы 3 Написать программу по вашему усмотрению.3 Написать программу по вашему усмотрению. Варианты программ: программа 1 программа 1 программа 1 программа 2 программа 2 программа 2 программа 2 программа 3 программа 3 программа 3 программа 3 программа 4 программа 4 программа 4 программа 4 программа 5 программа 5 программа 5 программа 5

1. Анеликова Л. А. Тесты. Информатика и информационные технологии. – Москва: Дрофа, Валеева Ю. А. Объектно-ориентированное программирование среде Delphi. – Новокузнецк, Дробахина А. Н., Можаров М. С. Структурирование содержания профессиональной подготовки учителя информатики средствами современного гипертекста. – Новокузнецк, Угринович Н. Д. Информатика и информационные технологии. – Москва: Бином. Лаборатория знаний, 2010.