ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 13
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Реферат на тему:
Delphi (язык программирования)
План:
-
1 Целевая платформа -
2 История языка -
3 Синтаксис языка-
3.1 Операторы -
3.2 Выражения -
3.3 Типы данных -
3.4 Объекты -
3.5 Классы
-
-
4 Объектно-ориентированные особенности языка-
4.1 Инкапсуляция -
4.2 Наследование -
4.3 Полиморфизм
-
-
5 Примеры-
5.1 Структура программы -
5.2 Пример № 1 -
5.3 Пример № 2 -
5.4 Пример № 3
-
-
6 Известное ПО Примечания
Литература
Введение
Введение
Delphi (Де́лфи, произносится /ˈdɛlˌfi/[1]) — среда программирования, в которой используется язык программирования Object Pascal.[2] Начиная со среды разработки Delphi 7.0[3], в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы .net) развития языков программирования: появились class helpers, перегрузки операторов и д.р.
1. Целевая платформа
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.
Также предпринимались попытки использования языка в проектах GNU (например, Notepad_GNU) и написания компилятора для GCC.
2. История языка
Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией — данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.[4]
Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании 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 прав на среду разработки и компилятор.[5]
Однако в ноябре того же года было принято решение отказаться от продажи IDE бизнеса. Тем не менее, разработкой IDE продуктов теперь будет заниматься новая компания — CodeGear, которая будет финансово полностью подконтрольна Borland.
В августе 2006 года Borland выпустил облегченную версию RAD Studio под именем Turbo: Turbo Delphi (для Win32 и .NET), Turbo C#, Turbo C++.
В марте 2008 года было объявлено о прекращении развития этой линейки продуктов.
В марте 2007 года CodeGear порадовала пользователей обновленной линейкой продуктов Delphi 2007 for Win32 и выходом совершенно нового продукта Delphi 2007 for PHP.
В июне 2007 года CodeGear представила свои планы на будущее, то есть опубликовала так называемый roadmap.[6]
Embarcadero RAD Studio 2010
25 августа 2008 года компания Embarcadero, новый хозяин CodeGear, опубликовала пресс-релиз на Delphi for Win32 2009.[7] Версия принесла множество нововведений в язык, как то[8]:
-
По умолчанию полная поддержка Юникода во всех частях языка, VCL и RTL; замена обращений ко всем функциям Windows API на юникодные аналоги (то есть MessageBox вызывает MessageBoxW, а не MessageBoxA). -
Обобщённые типы, они же generics. -
Анонимные методы. -
Новая директива компилятора $POINTERMATH [ON|OFF]. -
Функция Exit теперь может принимать параметры в соответствии с типом функции.
3. Синтаксис языка
3.1. Операторы
Cписок операторов через пробел: + - * / div mod not and or xor shl shr ^ = <> >= <= < > @ in is as
3.2. Выражения
Выражения в Object Pascal(Delphi) бывают арифметическими, логическими и строковыми.
Основные арифметические выражения:
Round(X) - Округлить значение X
Trunc(X) - Выделить целую часть X
Low(X) - Найти минимальное значение X
High(X) - Найти максимальное значение X
...
Основные логические выражения:
Логические выражения в основном употребляются в условных операторах. К логическим выражениям относятся такие операции как:
not
and
or
xor
...
Основные строковые выражения:
IntToStr(X) - Из типа Integer в тип String
PAnsiChar(X) - Перевести в тип PAnsiChar
FloatToStr(X) - Перевести из типа Real в String
Concat(x,s) - Соединить строки типа String
Length(X) - Определить кол-во символов
...
3.3. Типы данных
Обрабатываемые в программе данные подразделяются на переменные, константы и литералы. Константы представляют собой данные, значения которых установлены в разделе объявления констант и не изменяются в процессе выполнения программы.
3.4. Объекты
Объекты как экземпляры класса объявляются в программе в разделе var как обычные переменные. Например:
var CCircle1: TColorCircle; CircleA: TCircle;
Как и в случае записей, для обращения к конкретному элементу объекта (полю; свойству или методу) указывается имя объекта и имя элемента, разделенные точкой, то есть имя элемента является составным.
3.5. Классы
В языке Object Pascal классы — это специальные типы данных, используемые для описания объектов. Соответственно объект, имеющий тип какого-либо класса, является экземпляром (instance) этого класса или переменной этого типа.
Класс представляет собой особый тип, имеющий в своем составе такие элементы (члены, member), как поля, свойства и методы. Поля класса аналогичны полям записи и служат для хранения информации об объекте. Методами называются процедуры и функции, предназначенные как правило для обработки полей. Свойства занимают промежуточное положение между полями и методами.
4. Объектно-ориентированные особенности языка
4.1. Инкапсуляция
Объединение и скрытие объектных данных, а также обрабатывающих их методов внутри конкретного класса от пользователя называется инкапсуляцией.
4.2. Наследование
При создании новых объектов получить все свойства и методы от своих предков называют наследованием. Такие объекты унаследывают после своего создания все поля, свойства, события, методы и прочее от своих предков. Наследование часто избавляет разработчиков от рутинной работы и позволяет не мешкая приступить к разработке чего-то нового.
4.3. Полиморфизм
Это методы различных объектов, которые могут иметь одинаковые имена, но по внутреннему содержимому отличаются друг от друга.
5. Примеры
5.1. Структура программы
Каждая написанная программа на языке Delphi состоит из заголовка программы (program NewApplication;), поля используемых модулей Uses (к примеру, Uses Windows, Messages, SysUtils и т. д.), который может не входить в саму структуру, а также блоков описания и исполнения (начинаются составным оператом begin и заканчиваются end.).
program Project1; // Заголовок программы, с её именем «Project1» uses Forms, Unit1 in 'Unit1.pas' {Form1}; // модули, которые подключены к проекту и используются программой {$R *.res} begin Application.Initialize; // Инициализация приложения Application.CreateForm(TForm1, Form1); // Создание формы/окна Application.Run; // Запуск и исполнение end.
5.2. Пример № 1
Вывод сообщения «Hello, world!» в консольном приложении Delphi
program Helloworld; //название программы {$APPTYPE CONSOLE} //директива компилятору о создании консольного приложения begin writeln('Hello, world!'); //вывод сообщения Hello, world! end. //конец программы
5.3. Пример № 2
Вывод сообщения «Hello, world!» в 32-разрядном GUI приложении Delphi
... procedure TForm1.Button1Click(Sender: TObject); //Обработчик события OnClick, генерируемый автоматически begin ShowMessage('Hello, world!'); //вывод сообщения Hello, world! end; //конец процедуры ...
5.4. Пример № 3
Динамическое создание списка строк и запись его в файл
// Обработчик события, происходящего при создании формы MainForm procedure TMainForm.FormCreate(Sender: TObject); var // Объявление переменной типа TStrings (список строк). Strings: TStrings; begin // Создание (выделение памяти и заполнение её начальными значениями) объекта типа TStringList. // TStringList - это потомок TStrings, реализующий его абстрактные методы с целью хранения строк в памяти. Strings := TStringList.Create; try // Добавление строки. Strings.Add('Добавляемая строка.'); // Сохранение всех строк в файл. Strings.SaveToFile('C:\Strings.txt'); finally // Освобождение памяти объекта и очистка ссылки на неё для предотвращения непреднамеренного обращения к не выделенной памяти. FreeAndNil(Strings); end; end;
6. Известное ПО
Среди многих распространённых программных продуктов, сделанные на Delphi, можно найти:
-
Продукция Embarcadero: Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 и 2 версии. -
Администрирование/разработка баз данных: MySQL Tools (Administrator, Query Browser), IBExpert. -
Инженерное ПО: Altium Designer -
Файловые менеджеры: Total Commander, Frigate. -
Просмотрщики графики: FastStone Image Viewer, FuturixImager. -
Видео и аудио проигрыватели: The KMPlayer (не путать с KMPlayer), AIMP. -
Доставка информации в Интернете: QIP и R&Q, Skype, The Bat!, PopTray, FeedDemon. -
Создание музыки: FL Studio (ранее FruityLoops), Guitar Pro (до версии 6.0). -
Разработка программного обеспечения: Dev-C++, DUnit, Game Maker, Inno Setup. -
Веб-разработка: Macromedia HomeSite, Adobe Captivate. -
Веб-браузеры (оболочки для MSIE): Avant Browser. -
Утилиты: Spybot — Search & Destroy, Ad-Aware, jv16 PowerTools, Download Master, ASProtect, Victoria. -
Текстовые редакторы: SynEdit, BirEdit, Notepad GNU, Bred. -
Бухучёт и налогообложение: Парус, AVARDA. -
Программы для создания анимаций: Pivot Stickfigure Animator. -
Программы для сжатия данных: ALZip, PowerArchiver, PeaZip. -
Компьютерные игры: Age of wonders, Космические рейнджеры, Космические рейнджеры 2, Venom. Codename: Outbreak, Space Empires V, Правда о девятой роте.
С более подробным списком приложений, написанных на языке Delphi можно ознакомиться по ссылке.