Основы работы в интегрированной среде программирования Delphi
Содержание
Введение
.
Общие сведения об IDE Delphi
.1
История интегрированной среды разработки
.2
Версии Delphi
.3
Отличия от других сред
.
Основные компоненты Delphi и их свойства
.1
Организация библиотеки компонентов
.2
Страница Standard
.3
Страница Additional
.4
Страница Win
.5
Страница Dialogs
.
Практическая часть. Разработка приложения с использованием стандартных
компонентов
.1
Интерфейс приложения и компоненты
.2
Спецификация программы
Заключение
Список
использованных источников
Введение
интегрированный архиватор текстовый
delphi
Delphi (Дельфи) - Среда программирования,
использующая язык Object Pascal, разработанный фирмой Borland и изначально
реализованный в её пакете Borland Delphi, от которого и получил в 2003 году
своё нынешнее название. По сути является наследником языка Pascal с
объектно-ориентированными расширениями. Свою историю язык Object Pascal ведет с
первых Turbo Pascal`ей разработанных Николасом Виртом.
Язык Pascal, полностью процедурный язык, был
разработан Н. Виртом в конце 70-х годов в Швейцарской высшей технической школе
в г. Цюрихе, как хорошо структурированный учебный язык. Расширения,
привнесенные в язык компанией Borland, преследовали две основные цели:
упрощение обработки в языке структур,
представляющих наиболее распространенные типы данных строки и файлы (например,
в язык был внесен новый тип данных string);
реализация в языке основных возможностей
объектно-ориентированных языков программирования.
Последнее нововведение потребовало серьезной
доработки синтаксиса языка. В него были внесены новые ключевые слова,
синтаксические конструкции и типы данных. Однако предложенный вариант языка
нельзя признать удачным, хотя бы потому, что в нем не полностью реализованы все
механизмы объектно-ориентированного программирования. Например: отсутствуют
такие мощные средства, как исключения и шаблоны. Есть и другие сложности в
использовании языка.
Объектом работы является интегрированная среда
Delphi.
Предметом работы являются компоненты данной
среды.
Целью данной работы является рассмотрение среды
программирования Delphi и основных компонентов в ней.
Для достижения поставленной цели необходимо
решить следующие задачи:
Рассмотреть среду Delphi, ее историю, и основы
программирования на ней;
Рассмотреть основные стандартные компоненты;
Выполнить разработку небольшого приложения для
демонстрации работы компонентов.
. Общие сведения об IDE Delphi
.1 История интегрированной среды разработки
был уникальным в своём роде - он имел самый
быстрый компилятор в мире, да и в нем впервые была разработана технология
создания платформенно независимых программ, которая нашла широкое применение в
таком языке, как Java. Своё имя он получил в честь великого французкого физика
Блеза Паскаля. Позднее, разработкой Pascal занялась компания Borland, с помощью
которой Pascal встал на серийное производство. Надо заметить, что кроме Turbo
Pascal компанией выпускался Borland Pascal, который выходил в свет несколько
позднее, чем Turbo Pascal, но в отличие от него обладал большими способностями,
как то различные режимы компиляции программы, более расширенный набор функций.
Так, версия за версией было выпущенно семь Turbo и Borland Pascal.
С появлением Windows у Pascal появилась новая
разновидность - Turbo & Borland Pascal for Windows. Данная программа была
не чуть не лучше обыкновенного блокнота, разве что только цифры отображала
синим. Но время шло, требования к качеству оформления программ росли, а языки
программиравания оставались всё теми же - Dos`овскими.
И вот, наконец, компанией Microsoft был совершен
переворот в области прикладного программирования - ими впервые была создана
визуальная система разработки прикладных программ, которую они реализовали в
Visual Basic. К новому стандарту стали приобщать все языки программирования, не
избежал своей участи и Pascal. В тот момент, когда разработчики Pascal в
компании Borland, наконец добрались до него - находился он довольно в
запущенном состоянии. Было пересмотрено и переработано множество функций,
добавлено, а вернее сказать создано, многое. И в итоге внесения оказались столь
колоссальными, что разработчики создали, можно сказать, новый язык
программирования. Своё имя новая система (Delphi) получила в честь
древнегреческого города Дельфы. Название было выбрано не спроста: город Дельфы
связан с именем бога мудрости и покровителем искусств Аполлона. Согласно
легенде главное святилище Аполлона находилось именно в этом городе. Его
жрицы-сивиллы изрекали пророчества желающим узнать свою судьбу. Вот что отметил
руководитель исследовательной группы по разработке системы Delphi Чак
Язджевски: «Имя Delphi было предложено Денни Торпом во время одной мозговой
атаки. Мы хотели, чтобы в имени системы отразились уникальные способности
продукта к работе с базами данных, и Delphi как нельзя лучше перекликается с
таким заслуженным именем в этой области, как Oracle, по крайней мере для тех,
кому сочетание "Дельфийский Оракл" о чем-то говорит».
Так каждый год появлялась новая версия Delphi,
но после пятой что-то случилось и новая версия не появилась в срок. Оказалось,
что параллельно с разработкой новой версии Delphi, велась разработка нового,
Delphi-подобного языка программирования для Linux. Новый продукт получил
название Kylix.оказал огромное влияние на создание концепции языка C# для
платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#.
Одной из причин называют переход Андерса Хейлсберга, одного из ведущих
разработчиков Delphi, из компании Borland Ltd. в Microsoft Corp.
Версия 1 была предназначена для разработки под
16-ти разрядную платформу Win16; Версии со второй компилируют программы под
32-х разрядную платформу Win32; Вместе с 6-й версией Delphi вышла совместимая с
ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ
под операционную систему Linux; Версия 8 способна генерировать байт-код
исключительно для платформы .NET. Это первая среда, ориентированная на
разработку мультиязычных приложений (лишь для платформы .NET); Последующие
версии (обозначаемые годами выхода, а не порядковыми номерами, как это было
ранее) могут создавать как приложения Win32, так и байт-код для платформы .NET;
Delphi for .NET - среда разработки Delphi, а так же язык Delphi (Object
Pascal), ориентированные на разработку приложений для .NET. Первая версия
полноценной среды разработки Delphi для .NET - Delphi 8. Она позволяла писать
приложения только для .NET.
В настоящее время, в Delphi 2006, можно писать
приложения для .NET используя стандартную библиотеку классов .NET, VCL для
.NET. Среда также позволяет писать NET-приложения на C# и Win32-приложения на
C++. Delphi 2006 содержит функции для написания обычных приложений с
использованием билиотек VCL и CLX. Delphi 2006 поддерживает технологию MDA с
помощью ECO (Enterprise Core Objects) версии 3.0. В марте 2006 года компания
Borland приняла решение о прекращении дальнейшего совершенствования
интегрированных сред разработки JBuilder, Delphi и C++Builder по причине
убыточности этого направления. Планируется продажа IDE-сектора компании. Группа
сторонников свободного программного обеспечения организовала сбор средств для покупки
у Borland прав на среду разработки и компилятор. Однако в ноябре того же года
было принято решение отказаться от продажи IDE бизнеса. Тем не менее,
разработкой IDE продуктов теперь будет заниматься новая компания - CodeGear,
которая будет финансово полностью подконтрольна Borland. Borland продолжил
развитие IDE систем под именем Turbo: Turbo Delphi, Turbo Delphi for .NET,
Turbo C#, Turbo C++. А в марте 2007 года CodeGear порадовала пользователей
обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно
нового продукта Delphi 2007 for PHP.
В России Borland Delphi появляется в конце 1993
г. и сразу же завоевывает широкую популярность. Новые версии выходят
практически каждый год. В них реализуются все новые мастера, компоненты и
технологии программирования. Действительно, процесс разработки в Delphi
предельно упрощен. В первую очередь это относится к созданию интерфейса, на
который уходит 80% времени разработки программы. Вы просто помещаете нужные
компоненты на поверхность Windows-окна (в Delphi оно называется формой) и
настраиваете их свойства с помощью специального инструмента (Object Inspector).
С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор
мышью элемента в списке и т.д.) с кодом его обработки - и вот простое
приложение готово. Причем разработчик получает в свое распоряжение мощные
средства отладки (вплоть до пошагового выполнения команд процессора), удобную
контекстную справочную систему (в том числе и по Microsoft API), средства
коллективной работы над проектом, всего просто не перечислить. Вы можете
создавать компоненты ActiveX без использования Microsoft IDL, расширять
возможности web-сервера (скрипты на стороне сервера), практически ничего не
зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе
СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным
Borland DataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная
с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным
позволяет создавать масштабируемые приложения (относительно слабо зависящие от
сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на
среднее звено.
Как уже говорилось ранее, в Delphi используется
язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в
полной мере поддерживает все требования, предъявляемые к
объектно-ориентированному языку программирования. Как и положено строго
типизированному языку, классы поддерживают только простое наследование, но зато
интерфейсы могут иметь сразу несколько предков. К числу особенностей языка
следует отнести поддержку обработки исключительных ситуаций (exceptions), а
также перегрузку методов и подпрограмм (overload) в стиле C++.
К числу удачных, на взгляд автора, относится также
поддержка длинных строк в формате WideChar и AnsiChar. Последний тип
(AnsiString) позволяет использовать все прелести динамического размещения
информации в памяти без всяких забот о ее выделении и сборке мусора Delphi
делает это автоматически. Для поклонников свободного стиля программирования
имеются открытые массивы, варианты и вариантные массивы, позволяющие размещать
в памяти все, что душе угодно и смешивать типы данных. Вы можете создавать свои
собственные компоненты, импортировать ОСХ-компоненты, создавать <шаблоны>
проектов и <мастеров>, создающих <заготовки> проектов. Мало того,
Delphi предоставляет разработчику интерфейс для связи ваших приложений (или
внешних программ) с интегрированной оболочкой Delphi (IDE). Таким образом, вы
можете использовать Delphi для создания как самых простых приложений, на
разработку которых требуется 2-3 часа, так и серьезных корпоративных проектов,
предназначенных для работы десятков и сотен пользователей. Причем для этого
можно использовать самые последние веяния в мире компьютерных технологий с
минимальными затратами времени и сил.
Так же одна из самых последних новостей от
Inprise обещает, что в ближайшем будущем вы сможете переносить приложения,
разработанные в Delphi, на платформу Linux.
.2 Версии Delphi
Версия 1 была предназначена для разработки под
16-разрядную платформу Win16. Начиная со второй версии, была реализована
возможность компиляции программы под 32-разрядную платформу Win32.
Рисунок 1.1. Первая версия Delphi
В версии 3 появилась поддержка многозвенной
технологии (multi-tiered) доступа к данным, что позволило создавать
масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет
перенесения методов обработки информации (бизнес-правил) на среднее звено.
Рисунок 1.2. Версия Delphi 6
Вместе с 6-й версией Delphi вышла совместимая с
ним по языку и библиотекам среда Kylix, предназначенная для компиляции программ
под операционную систему Linux.
Версия 8 способна генерировать байт-код
исключительно для платформы .NET. Это первая среда, ориентированная на
разработку мультиязычных приложений (лишь для платформы .NET). Последующие
версии (обозначаемые годами выхода, а не порядковыми номерами, как это было
ранее) позволили создавать как приложения Win32, так и .NET-приложения.
В Delphi 2006, появилась возможность писать
приложения для .NET используя стандартную библиотеку классов .NET, VCL для
.NET. Среда также позволила писать .NET-приложения на C# и Win32-приложения на
C++. В Delphi 2006 также была реализована технология MDA (Model Driven
Architecture) с помощью ECO (Enterprise Core Objects) версии 3.0.
Новая версия Delphi выходила каждый год, но
после пятой как будто что-то произошло… Позже выяснилось, что параллельно с работой
над новой версией Delphi велась разработка Delphi-подобного языка
программирования для Linux. Новый продукт получил название Kylix. Delphi оказал
огромное влияние на создание концепции языка C# для платформы .NET. Многие его
элементы и концептуальные решения вошли в состав С#. Одной из причин называют
переход Андерса Хейлсберга, одного из ведущих разработчиков Delphi, из компании
Borland Ltd. в Microsoft Corp.
В марте 2006 года компания Borland приняла
решение о прекращении дальнейшего развития интегрированных сред разработки
JBuilder, Delphi и C++Builder по причине убыточности этого направления. Была
запланирована продажа IDE-сектора компании. Группа сторонников свободного
программного обеспечения организовала сбор средств для покупки у Borland прав
на среду разработки и компилятор. Однако в ноябре того же года было принято
решение отказаться от продажи IDE бизнеса.
После этого разработкой IDE-продуктов стала
заниматься новая компания - CodeGear, которая была финансово полностью
подконтрольна Borland.
В марте 2007 года CodeGear порадовала
пользователей обновлённой линейкой продуктов Delphi 2007 for Win32 и выходом
совершенно нового продукта Delphi 2007 for PHP.
августа 2008 года компания Embarcadero, новый
хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009. В этой
версии появилось множество нововведений на уровне языка:
По умолчанию полная поддержка Юникода во всех
частях языка, VCL и RTL;
Замена обращений ко всем функциям Windows API на
юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA).
Обобщённые типы, они же generics.
Анонимные методы.
Новая директива компилятора $POINTERMATH
[ON|OFF].
Функция Exit теперь может принимать параметры в
соответствии с типом функции.
В версии Delphi XE2 (2011 год) был добавлен
компилятор Win64 и кросс-компиляция для операционных систем фирмы Apple (MacOS
X, iOS).
Продукт Delphi XE3 является продолжением нового
поколения средств быстрой разработки семейства Delphi. Напомню, в 2011 году
вышла Delphi XE2 с платформой FireMonkey, которая является альтернативой
библиотеки визуальных компонентов VCL.
Она очень похожа на VCL по методам использования
и составу компонентов (кнопки, метки, поля ввода, меню и т.д.), но обладает
способностью быть перенесенной на другую операционную систему. FireMonkey -
кроссплатформенная. Приложения, созданные с помощью FireMonkey, могут
компилироваться и под Windows, и под Mac OS. Практически в один-два «клика» мы
можем пересобрать проект под принципиально другую операционную систему.
Практически все демонстрационные проекты, поставляемые с Delphi на платформе
FireMonkey, имеют две версии: одну под Windows, другую - под Mac OS. И для
этого не нужно вносить изменения в исходный код приложения
Вышедшая в 2013 году версия Delphi XE5
обеспечила кросс-компиляцию приложений для устройств на платформе ARM/Android.
В апреле 2016 года появилась Delphi 10.1 berlin.
Нововведения:
Компилятор и набор инструментов Object Pascal
для 64-разрядной iOS;
Предпросмотр FireUI на мобильных платформах;
Предпросмотр на разных устройствах;
Расширенные возможности работы со стилями в
дизайнере единого интерфейса, в том числе универсальные стили и настройка
стилей Windows;
Диспетчер устройств FireUI позволяет изменять
спецификации доступных устройств и добавлять новые устройства;
Элементы управления Memo, ListView, Calendar,
Switch для платформы iOS;
Компонент MapView для мобильных платформ (iOS и
Android), поддерживающий специализированные библиотеки интерактивных карт для
каждой платформы (разработанные соответственно Apple и Google).
Наиболее известной свободной реализаций языка
Pascal является Free Pascal. Помимо открытости исходного кода, его основным
преимуществом является мультиплатформенность, а также поддержка различных
диалектов.
Рисунок 1.3. Логотип Lazarus
На основе FreePascal создана
свободная мультиплатформенная IDE Lazarus
<https://ru.wikipedia.org/wiki/Lazarus>, позволяющая работать с проектами
Delphi. Она основана на библиотеке визуальных компонентов Lazarus Component
Library (LCL).
Список заявленных поддерживаемых
платформ:: 98, 2k, XP, Vista, 7, 32 и 64bit;/Linux: gtk 2.8 и qt4.5, 32 и
64bit;OS X: 10.4, LCL только 32bit, не-LCL могут быть 64bit.
С другой стороны, среда Delphi по
мере развития действительно становилась все более громоздкой и малопригодной
для обучения программированию. Кроме того, отсутствует бесплатная версия Delphi
даже для академического использования. Данные факторы привели к практически
полному исчезновению Delphi из сферы образования.
.3 Отличия от других сред
Действительно, процесс разработки в
Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса,
на который уходит 80% времени разработки программы. Вы просто помещаете нужные
компоненты на поверхность Windows-окна (в Delphi оно называется формой) и
настраиваете их свойства с помощью специального инструмента (Object Inspector).
С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор
мышью элемента в списке и т.д.) с кодом его обработки - и вот простое
приложение готово. Причем разработчик получает в свое распоряжение мощные
средства отладки (вплоть до пошагового выполнения команд процессора), удобную
контекстную справочную систему (в том числе и по Microsoft API), средства
коллективной работы над проектом, всего просто не перечислить. Вы можете
создавать компоненты ActiveX без использования Microsoft IDL, расширять
возможности web-сервера (скрипты на стороне сервера), практически ничего не
зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе
СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным
Borland DataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная
с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным
позволяет создавать масштабируемые приложения (относительно слабо зависящие от
сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на
среднее звено.
Как уже говорилось ранее, в Delphi
используется язык Object Pascal, который постоянно расширяется и дополняется
Borland. Язык в полной мере поддерживает все требования, предъявляемые к
объектно-ориентированному языку программирования. Как и положено строго
типизированному языку, классы поддерживают только простое наследование, но зато
интерфейсы могут иметь сразу несколько предков. К числу особенностей языка
следует отнести поддержку обработки исключительных ситуаций (exceptions), а
также перегрузку методов и подпрограмм (overload) в стиле C++. К числу удачных,
на взгляд автора, относится также поддержка длинных строк в формате WideChar и
AnsiChar. Последний тип (AnsiStrmg) позволяет использовать все прелести
динамического размещения информации в памяти без всяких забот о ее выделении и
сборке мусора Delphi делает это автоматически. Для поклонников свободного стиля
программирования имеются открытые массивы, варианты и вариантные массивы,
позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.
Вы можете создавать свои собственные
компоненты, импортировать ОСХ-компоненты, создавать <шаблоны> проектов и
<мастеров>, создающих <заготовки> проектов. Мало того, Delphi
предоставляет разработчику интерфейс для связи ваших приложений (или внешних программ)
с интегрированной оболочкой Delphi (IDE).
Таким образом, вы можете
использовать Delphi для создания как самых простых приложений, на разработку
которых требуется 2-3 часа, так и серьезных корпоративных проектов,
предназначенных для работы десятков и сотен пользователей. Причем для этого
можно использовать самые последние веяния в мире компьютерных технологий с
минимальными затратами времени и сил.
. Основные компоненты Delphi и их
свойства
.1 Организация библиотеки
компонентов
Библиотека визуальных компонентов
(Visual Component Library - VCL) Delphi содержит множество предопределенных
типов компонентов, из которых пользователь может строить свою прикладную
программу. Витрину библиотеки - палитру компонентов, вы видите расположенной
справа в полосе инструментальных панелей интегрированной среды разработки
Delphi. На этой палитре вы можете выделить курсором мыши нужный вам компонент и
перенести его на форму. Палитра библиотеки в Delphi 5 приведена на рис. 2.1.
Поскольку число страниц в палитре
велико и не все закладки видны на экране одновременно, в правой части палитры
компонентов имеются две кнопки со стрелками, направленными влево и вправо. Эти
кнопки позволяют перемещать отображаемую на экране часть палитры.
Чтобы перенести компонент на форму,
надо открыть соответствующую страницу библиотеки и указать курсором мыши
необходимый компонент. При этом кнопка-указатель , размещенная в левой части палитры
компонентов, приобретет вид не нажатой кнопки. Это значит, что вы находитесь в
состоянии, когда собираетесь поместить компонент на форму. Поместить выбранный
компонент на форму очень просто - надо сделать щелчок мышью в нужном месте
формы.
Есть и другой способ поместить
компонент на форму - достаточно сделать двойной щелчок на пиктограмме
компонента, и он автоматически разместится в центре вашей формы. Если вы
выбрали компонент, а затем изменили ваше намерение размещать его, вам
достаточно нажать кнопку указателя. Это прервет процесс размещения компонента и
программа вернется в нормальный режим, в котором вы можете выбирать другой
компонент или выполнять какую-то команду.
Имена компонентов, соответствующих
той или иной пиктограмме, вы можете узнать из ярлычка, появляющегося, если вы
задержите над этой пиктограммой курсор мыши. Если вы выберете в палитре
компонент и нажмете клавишу F1, то вам будет показана справка по типу данного
компонента. Тут надо сразу сделать одно замечание. Имена на ярлычках выглядят,
например, так: MainMenu, Button и т.д. Однако, в Delphi все имена классов в
действительности начинаются с символа «Т», например, TMainMenu, TButton. Под
такими именами вы можете найти описания соответствующих компонентов во
встроенной в Delphi справочной системе.
Палитра имеет ряд страниц, на
которых скомпонованы пиктограммы всех компонентов, предопределенных в Delphi.
По умолчанию в палитре Delphi 5 имеются страницы:
Standard
|
Стандартная, содержащая наиболее
часто используемые компоненты
|
Additional
|
Дополнительная, являющаяся дополнением
стандартной
|
Win32
|
32-битные компоненты в стиле
Windows 95/98 и NT (только начиная с Delphi 2)
|
System
|
Системная, содержащая такие
компоненты, как таймеры, плееры и ряд других
|
Data Access
|
Доступ
к
данным
через
Borland Database Engine (BDE)
|
Data Controls
|
Управление данными
|
ADO
|
Связь с базами данных через Active
Data Objects (ADO) - множество компонентов ActiveX, использующих для доступа
к информации баз данных Microsoft OLEDB (только начиная с Delphi 5)
|
InterBase
|
Прямая
связь
с
InterBase, минуя Borland
Database Engine (BDE) и
Active Data Objects (ADO) (только
начиная
с
Delphi 5)
|
Midas
|
Построение приложений баз данных с
параллельными потоками (только в вариантах Client/Server и Enterprise и
только начиная с Delphi 4)
|
Internet Express
|
Построение приложений
InternetExpress - одновременно приложений сервера Web и клиента баз данных с
параллельными потоками (только начиная с Delphi 5)
|
Internet
|
Интернет, компоненты для
приложений, работающих с Интернет (только начиная с Delphi 2)
|
FastNet
|
Различные протоколы доступа к
Интернет (только начиная с Delphi 5)
|
Decision Cube
|
Многомерный анализ данных (только
в вариантах Client/Server и Enterprise, начиная с Delphi 3)
|
Qreport
|
Быстрая подготовка отчетов
|
Dialogs
|
Диалоги, системные диалоги типа
«Открыть файл» и др.
|
Win 3.1
|
Windows 3.x, компоненты в стиле
Windows 3.x (оставлены для обратной совместимости, начиная с Delphi 2)
|
Servers
|
Оболочки VCL для распространенных
серверов СОМ (только начиная с Delphi 5)
|
Имеются еще две страницы, содержащие примеры:
ActiveX
|
Примеры активных элементов ActiveX
|
Samples
|
Образцы: различные интересные, но
не до конца документированные компоненты
|
Примеры на страницах Samples и ActiveX не
документированы в Delphi и во встроенной справке сведения о них отсутствуют.
Однако, исходные тексты примеров со страницы Samples имеются в каталоге
...\Source\Samples. Вы можете их просмотреть и понять, как построены эти
примеры и как ими пользоваться.
Примеры со страницы ActiveX также не
документированы. Но если вы перенесете соответствующий компонент на форму и
щелкнете на нем правой кнопкой мыши, то во всплывшем меню можете выбрать
команду Property и некоторые другие, которые отобразят диалоговые окна,
помогающие задать необходимые свойства компонента.
Многие из компонентов страниц Samples и ActiveX
надо рассматривать скорее именно как примеры создания компонентов. Их полезно
изучить, но для практического использования в приложениях многие из них не
очень приспособлены.
2.2 Страница Standard
Страница Standard содержит ряд часто используемых
компонентов общего назначения
Компонент
|
Тип
|
Описание
|
фрейм
|
Frame
|
Панель с возможностями
наследования. Проектируется как отдельное окно. Компонент визуальный.
<#"896951.files/image009.gif"> главное меню
|
MainMenu
|
Позволяет конструировать и
создавать полосу главного меню формы и выпадающие меню. Компонент
невизуальный.
<#"896951.files/image010.gif"> всплывающее меню
|
PopupMenu
|
Позволяет конструировать и
создавать всплывающие контекстные меню, возникающие при нажатии пользователем
правой кнопки мыши. Компонент невизуальный. <#"896951.files/image011.gif"> метка
|
Label
|
Используется для размещения на
формах и других контейнерах текста, который не изменяется пользователем.
Компонент визуальный. <#"896951.files/image012.gif"> окно
редактирования
|
Edit
|
Используется для ввода
пользователем однострочных текстов. Может использоваться для отображения
текста. Компонент визуальный.
<#"896951.files/image013.gif"> многострочное
окно редактирования
|
Memo
|
Используется для ввода и
отображения многострочных текстов. Компонент визуальный.
<#"896951.files/image014.gif"> командная кнопка
|
Button
|
Используется для создания кнопок,
которыми пользователь выбирает команды в приложении. Компонент визуальный.
<#"896951.files/image015.gif"> контрольный
индикатор с флажком
|
Checkbox
|
Позволяет пользователю включать и
выключать различные опции. Компонент визуальный.
<#"896951.files/image016.gif"> радиокнопка
|
RadioButton
|
Предлагают пользователю набор
альтернатив, из которых выбирается одна. Набор реализуется требуемым
количеством радиокнопок, размещенных в одном контейнере (форме, панели и
т.п.). Компонент визуальный.
<#"896951.files/image017.gif"> окно списка
|
ListBox
|
Представляет собой стандартное
окно списка Windows, позволяющее пользователю выбирать разделы из списка.
Компонент визуальный.
<#"896951.files/image018.gif"> редактируемый
описок
|
ComboBox
|
Объединяет функции ListBox и Edit.
Пользователь может либо ввести текст, либо выбрать его из списка. Компонент
визуальный.
<#"896951.files/image019.gif"> линейка
прокрутки
|
Scrollbar
|
Представляет собой стандартную
линейку прокрутки Windows и служит для управления положением видимой части форм
или компонентов. Компонент визуальный.
<#"896951.files/image020.gif"> групповое окно
|
GroupBox
|
Является контейнером, объединяющим
группу связанных органов управления, таких как радиокнопки RadioButton,
контрольные индикаторы Checkbox и т.д. Компонент визуальный.
<#"896951.files/image021.gif"> группа
радиокнопок
|
RadioGroup
|
Является комбинацией группового
окна GroupBox с набором радио кнопок RadioButton; служит специально для
создания групп радиокнопок. Можно размещать в компоненте несколько
радиокнопок, но никакие другие оргаыы управления не разрешены. Компонент
визуальный.
<#"896951.files/image022.gif"> панель
|
Panel
|
Является контейнером для
группирования органов управления и меньших контейнеров. Панель можно
использовать также для построения полос состояния, инструментальных панелей,
палитр инструментов. Компонент визуальный.
<#"896951.files/image023.gif"> список событий
|
ActionList
|
Обеспечивает диспетчеризацию
событий компонентов. Компонент невизуальный.
<#"896951.files/image024.gif">
Компонент
|
Тип
|
Описание
|
кнопка с
графикой
|
BitBtn
|
Используется для создания кнопок,
на которых располагается битовая графика (например, кнопка OK с галочкой).
Компонент визуальный. <#"896951.files/image026.gif"> кнопка с
фиксацией
|
SpeedButton
|
Используется для создания
инструментальных панелей и в других случаях, когда требуется кнопка с
фиксацией нажатого состояния. Компонент визуальный.
<#"896951.files/image027.gif"> маскированный
ввод
|
MaskEdit
|
Используется для форматирования
данных или для ввода символов в соответствии с шаблоном. Компонент
визуальный.
<#"896951.files/image028.gif"> таблица строк
|
StringGrid
|
Используется для отображения
текстовой информации в таблице из строк и столбцов. Компонент визуальный.
<#"896951.files/image029.gif"> таблица рисунков
|
DrawGrid
|
Используется для отображения в
строках и столбцах нетекстовых данных. Компонент визуальный.
<#"896951.files/image030.gif"> изображение
|
Image
|
Используется для отображения
графики: пиктограмм, битовых матриц и метафайлов. Компонент визуальный.
<#"896951.files/image031.gif"> формы
|
Shape
|
Используется для рисования фигур:
квадратов, кругов и т.п. Компонент визуальный.
<#"896951.files/image032.gif"> рамка
|
Bevel
|
Используется для рисования
выступающих или утопленных линий или прямоугольных рамок. Компонент
визуальный.
<#"896951.files/image033.gif"> окно с
прокруткой
|
ScrollBox
|
Используется для создания зон
отображения с прокруткой. Компонент визуальный.
<#"896951.files/image034.gif"> список с
флажками
|
CheckListBox
|
Компонент является комбинацией
свойств списка ListBox и индикаторов CheckBox в одном компоненте. Компонент
визуальный.
<#"896951.files/image035.gif"> разделитель
панелей
|
Splitter
|
Используется для создания в
приложении панелей с изменяемыми пользователем размерами. Компонент
визуальный.
<#"896951.files/image036.gif"> метка с бордюром
|
StaticText
|
Компонент подобен компоненту
Label, но обеспечивает дополнительные возможности по заданию стиля бордюра.
Компонент визуальный.
<#"896951.files/image037.gif"> инструментальная
панель
|
ControlBar
|
Используется для размещения
компонентов инструментальной панели. Компонент визуальный.
<#"896951.files/image038.gif"> события
приложения
|
ApplicationEvents
|
Перехватывает события на уровне
приложения. Компонент невизуальный.
<#"896951.files/image039.gif"> диаграммы и
графики
|
Chart
|
Компонент принадлежит к семейству
компонентов TChart, которые используются для создания диаграмм и графиков.
Компонент визуальный.
<#"896951.files/image040.gif">
|
Тип
|
Описание
|
страница с
закладкой
|
TabControl
|
Позволяет организовывать страницы
с закладками в стиле Windows 95, которые может выбирать пользователь.
Компонент визуальный.
<#"896951.files/image042.gif"> многостраничное
окно
|
PageControl
|
Позволяет создавать страницы в
стиле Windows 95/98, управляемые закладками или иными органами управления,
для экономии места на рабочем столе. Компонент визуальный.
<#"896951.files/image043.gif"> список
изображений
|
ImageList
|
Предназначен для работы со
списками изображений одинакового размера в меню, инструментальных панелях и
т.п. Компонент невизуальный. <#"896951.files/image044.gif"> окно
редактирования в формате RTF
|
RichEdit
|
Представляет собой окно
редактирования в стиле Windows 95/98, позволяющее производить выбор цвета и
шрифта, поиск текста и многое другое. Компонент визуальный.
<#"896951.files/image045.gif"> ползунок
|
TrackBar
|
Управляющий элемент в виде
ползунка в стиле Windows 95/98. Компонент визуальный.
<#"896951.files/image046.gif"> отображение хода
процесса
|
ProgressBar
|
Используется для отображения в
стиле Windows 95/98 хода процессов, занимающих заметное время. Компонент
визуальный.
<#"896951.files/image047.gif"> кнопка-счетчик
|
UpDown
|
Кнопка-счетчик в стиле Windows
95/98 для ввода целых чисел. Компонент визуальный.
<#"896951.files/image048.gif"> «горячие»
клавиши
|
HotKey
|
Дает возможность реализовать в
приложении поддержку горячих клавиш. Компонент визуальный.
<#"896951.files/image049.gif"> воспроизведение
немых клипов
|
Animate
|
Используется для воспроизведения
немых клипов AVI, подобных используемым в Windows 95/98 изображениям
копирования файлов и т.п. Компонент визуальный.
<#"896951.files/image050.gif"> ввод дат и
времени
|
DateTimePicker
|
Ввод дат и времени с выпадающим
календарем. Компонент визуальный.
<#"896951.files/image051.gif"> ввод дат
|
MonthCalendar
|
Ввод дат с выбором из календаря.
Компонент визуальный.
<#"896951.files/image052.gif"> дерево
|
TreeView
|
Предоставляет возможность
просмотра структуры иерархических данных в стиле Windows 95/98. Компонент
визуальный.
<#"896951.files/image053.gif"> списки
|
ListView
|
Отображает списки в стиле Windows
95/98. Компонент визуальный.
<#"896951.files/image054.gif"> заголовок
|
HeaderControl
|
Позволяет создавать составные
перемещаемые заголовки в стиле Windows 95/98. Компонент визуальный. <#"896951.files/image055.gif"> полоса состояния
|
StatusBar
|
Полоса состояния программы, при
необходимости - на нескольких панелях. Компонент визуальный.
<#"896951.files/image056.gif"> инструментальная
панель
|
ToolBar
|
Инструментальная панель для
быстрого доступа к часто используемым функциям приложения. Компонент
визуальный.
<#"896951.files/image057.gif"> инструментальная
перестраиваемая панель
|
CoolBar
|
Контейнер инструментальной панели,
размеры которой могут изменяться пользователем. Компонент визуальный.
<#"896951.files/image058.gif"> прокрутка
страниц
|
PageScroller
|
Обеспечивает прокрутку больших
окон, например, инструментальных панелей. Компонент визуальный.
<#"896951.files/image059.gif">
Компонент
|
Тип
|
Описание
|
«Открыть файл»
|
OpenDialog
|
Предназначен для создания окна
диалога «Открыть файл». Компонент невизуальный.
<#"896951.files/image061.gif"> «Сохранить файл
как...»
|
SaveDialog
|
Предназначен для создания окна
диалога «Сохранить файл как...». Компонент невизуальный.
<#"896951.files/image062.gif"> «Открыть
рисунок»
|
OpenPictureDialog
|
Предназначен для создания окна
диалога «Открыть рисунок». Компонент невизуальный.
<#"896951.files/image063.gif"> «Сохранить
рисунок как...»
|
SavePictureDialog
|
Предназначен для создания окна
диалога «Сохранить рисунок как...». Компонент невизуальный.
<#"896951.files/image064.gif"> «Шрифты»
|
FontDialog
|
Предназначен дли создания окна
диалога «Шрифты». Компонент невизуальный. <#"896951.files/image065.gif"> «Цвет»
|
ColorDialog
|
Предназначен для создания окна
диалога «Цвет». Компонент невизуальный.
<#"896951.files/image066.gif"> «Печать»
|
PrintDialog
|
Предназначен для создания окна
диалога «Печать». Компонент невизуальный.
<#"896951.files/image067.gif"> «Установка
принтера»
|
PriterSetupDialog
|
Предназначен для создания окна
диалога «Установка принтера». Компонент невизуальный.
<#"896951.files/image068.gif"> «Найти»
|
FindDialog
|
Предназначен для создания окна
диалога «Найти». Компонент невизуальный.
<#"896951.files/image069.gif"> «Заменить»
|
ReplaceDialog
|
Предназначен для создания окна
диалога «Заменить». Компонент невизуальный.
<#"896951.files/image070.gif">
Рисунок 2. Вид главного окна программы.
Свойства формы::BSSingle;: «Архиватор текстовых
файлов»
Форма содержит следующие компоненты:
- компонент Buton1.
Свойства:: Загрузить файл
Процедура Button1Click выводит диалоговое окно
для загрузки кодируемого файла в компонент Memo2
- компонент Button6.
Процедура Button6Click открывает диалоговое окно
для сохранения файла из компонента Memo2
- компонент Button 2.
Свойства:: Закодировать
Процедура Button2Click запускает процедуру
кодирования исходного файла
- компонент Button3.
Свойства:: Раскодировать.
Процедура Button3Click запускает процедуру
восстановления исходного текста из архива
- компонент Opendialog1
Свойства:: Текстовые файлы|*.txt
- компонент MainMenu
Свойства:: Файл {N1}
Загрузить исходный {N2} - процедура N2Click
загружает в компонент Memo1 исходный файл для архивации
Загрузить архив {N8} - процедура N8Click
загружает в компонент Memo2 архив, а в память архива данные таблицы совпадений
Сохранить исходный {N9} - процедура N9Click
сохраняет текст из компонента Memo1 в файл
Сохранить архив {N10} - процедура N10Click
сохраняет текст из компонента Memo2 в файл
Настройки {N3}
Открыть окно настроек {N4} - процедура N4Click
открывает окно настроек программы
Помощь {N5}
Справка по программе {N6} - процедура N6Click
открывает окно помощи
О программе {N7} - процедура N7Click открывает
окно «О программе» (Form4)
- компонент Button5
Свойства: : «Сохранить архив с таблицей»
Процедура Button5Click запускает процедуру
сохранения файла архива в файл.
- компонент Button4
Свойства:: «Загрузить архив с таблицей»
- компонент Memo2.
Свойства:: «Результат»
- компонент Memo1.
Свойства:: «Кодируемый файл»
- компонент Memo3
Свойства::’ ’
- компонент OpenDialog2
Свойства:: Файл архива (*.arc)|*.arc
- компонент SaveDialog1
Свойства:: Файл архива (*.arc)|*.arc
- компонент SaveDialog2
Свойства:: Текстовый файл | (*.txt)
- компонент ProgressBar1. Используется для
отражения процента заархивированного\разархивированного файла
.2 Спецификация программы
Исполняемый файл программы «Архиватор текстовых
файлов» имеет название Archiver.exe. Для выполнения программы необходимо
запустить этот файл
Состав проекта
Наименование
|
Обозначение
|
Примечание
|
Archiver.dof
|
Файл параметров проекта
|
Содержит текущие установки
проекта: настройки компилятора и компоновщика, имена служебных каталогов,
условные директивы
|
Archiver.dpr
|
Файл проекта
|
Связывает все файлы, из которых
состоит приложение
|
Unit1.pas
|
Файл программного модуля №1
|
Определяет функциональность формы
№ 1
|
Unit2.pas
|
Файл программного модуля №2
|
Определяет функциональность формы
№ 2
|
Unit3.pas
|
Файл программного модуля №3
|
Определяет функциональность формы
№ 3
|
Unit4.pas
|
Файл программного модуля №4
|
Определяет функциональность формы
№ 4
|
Unit1.dfm
|
Файл формы №1
|
Содержит список свойств всех
компонентов, включенных в форму №1
|
Unit2.dfm
|
Файл формы №2
|
Содержит список свойств всех
компонентов, включенных в форму №2
|
Unit3.dfm
|
Файл формы №3
|
Unit4.dfm
|
Файл формы №4
|
Содержит список свойств всех
компонентов, включенных в форму №4
|
Unit1.dcu
|
Объектный файл для Unit1,pas
|
Откомпилированная версия Unit1.pas
|
Unit2.dcu
|
Объектный файл для Unit2,pas
|
Откомпилированная версия Unit2.pas
|
Unit3.dcu
|
Объектный файл для Unit3,pas
|
Откомпилированная версия Unit3.pas
|
Unit4.dcu
|
Объектный файл для Unit4,pas
|
Откомпилированная версия Unit4.pas
|
text.txt
|
Текстовый файл
|
Содержит текст для архивации
|
text.arc
|
Файл архива
|
Содержит заархивированный текст
|
Help.txt
|
Файл помощи
|
Содержит справку по программе
|
Заключение
Система образования бывшего СССР была очень
сильна во многих аспектах, но не по части прикладного программирования. В
начале 90-х как получить доступ к компьютеру, так и научиться что-то делать в
современных средах разработки могли лишь те, кто имел определенную
специальность.
Целые факультеты «пролетали мимо»
фундаментальных курсов по программированию. И наличие Turbo Pascal с низким
порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием
в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными
разработчиками, а также повысить общенациональный инженерный уровень создания
прикладного ПО.
Таким образом, для стран бывшего соцлагеря
связка Pascal/Delphi резко выдернула экономику из ИТ-небытия за счет очень
простого языка программирования и среды визуальной разработки на основе готовых
компонентов.
Система образования бывшего СССР была очень
сильна во многих аспектах, но не по части прикладного программирования. В
начале 90-х как получить доступ к компьютеру, так и научиться что-то делать в
современных средах разработки могли лишь те, кто имел определенную
специальность.
Целые факультеты «пролетали мимо»
фундаментальных курсов по программированию. И наличие Turbo Pascal с низким
порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием
в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными
разработчиками, а также повысить общенациональный инженерный уровень создания
прикладного ПО.
Таким образом, для стран бывшего соцлагеря
связка Pascal/Delphi резко выдернула экономику из ИТ-небытия за счет очень
простого языка программирования и среды визуальной разработки на основе готовых
компонентов.
Среда Delphi - удобная и простая среда с низким
порогом вхождения.
Несомненно, использование этой среды позволяет
даже людям с достаточно низкой компьютерной грамотностью создавать собственные
программы. Для профессионала Delphi также может предоставить множество
различных возможностей.
Список использованных источников
Буч
Г., Рамбо Д., Якобсон А. Введение в UML от создателей языка. М.: ДМК Пресс,
2015. - 496 с.
Программирование
на языке Object Pascal: Учеб. пос. / Т.И.Немцова и др; Под ред. Л.Г.Гагариной.
- М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. - 496 с
Введение
в специальность программиста: Учебник / В.А. Гвоздева. - 2-e изд., испр. и доп.
- М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 208 с.
Возневич
Э. Освой самостоятельно Delphi: Полное руководство для самостоятельного
обучения. /Под ред. В. Тимофеева. - М.: Бином, 2006. - 563 с.
Винницкий
А.Л. Delphi - это просто! М.: Фолио, 2015. - 211 с.
Гофман
В. Э., Хомоненко А. Д. Delphi. Быстрый старт. - СПб.: БХВ-Петербург, 2012. -
288 с.
Дарахвелидзе
П. Г. Марков Е.П. Delphi - средства визуального программирования. - СПБ.: BHV -
С-Петербург, 2006. - 765 с.
Конопка
Р. Создание оригинальных компонент в среде Delphi: Пер. с англ. - Киев:
DiaSoftLtd, 2014. - 675 с.
Крынкин
И.Г. Основы разработки компонент в Delphi XE8. М.: Фолио, 2014. - 321 с.
Культин
Н. Основы программирования в Delphi XE. СПб.: БХВ, 2011. - 416 с.
Леоненков
А. Самоучитель UML 2. СПб.: БХВ, 2007. - 576 с.
Мельников
С. Delphi и Turbo Pascal на занимательных примерах. СПб.: БХВ, 2013. - 356 с.
Осипов
Д. Базы данных и Delphi. Теория и практика. СПб.: БХВ, 2012. = 671 с.
Рубанцев
С. Самоучитель Delphi в примерах, играх и программах. М.: Наука и техника,
2011. - 521 с.
Самойленко
И.С. Изучаем Delphi вместе. СПб.: BHV, 2014 - 661 с.
Санников
Е.В. Курс практического программировния в Delphi. М.: Солон-Пресс, 2015. - 188
с.
Сарка
Диджан, Лах Мария. Microsoft SQL Server 2012. Реализация хранилищ данных. М.:
Русская редакция, 2012. - 816 с.
Станек
Уильям Р. Microsoft SQL Server 2012. Справочник администратора. СПб.: БХВ,
2012. - 576 с.
Фленов
М. Библия Delphi. СПб.: БХВ, 2014. - 426 с.
Языки
программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. -
3-e изд., перераб. и доп. - М.: Форум: ИНФРА-М, 2015. - 400 с
Похожие работы на - Основы работы в интегрированной среде программирования Delphi
| | |