Основные инструменты Delphi.
События – это свойства процедурного типа, предназначенные для создания пользовательской реакции на те или иные входные воздействия. Все события в Delphi принято именовать с ”On”.Щёлкнув в Инспекторе объектов на станице Events в поле любого события, вы получите в программе заготовку метода – обработчика этого события. При этом его имя будет состоять из имени текущего компонента и имени события (без “On”), а относиться он будет к текущей форме. Например, если на форме размещена кнопка(компонент TButton с именем Button1), то заготовка обработчика события OnClick(щелчок по кнопке) будет иметь procedure TForm1.Button1Click(Sender: TObject);beginend; Заготовку обработчика события OnClick можно также получить дважды щелкнув по размещенной на форме кнопке. Поскольку события – это свойства объекта, их значение можно изменять во время выполнения программы. Эта возможность называется делегированием.
- Форма.
Форма в Delphi- это синоним окна. Любая программа имеет как минимум одну форму- она появляется на экране в момент старта программы. Для подключения новой формы к проекту достаточно обратиться к репозиторию и выбрать нужную разновидность формы. Доступ к репозиторию открывает опция меню File|New. Помимо универсальной пустой формы Form(страница New репозитория) репозиторий содержит и специализированные формы. Подключение новой формы к проекту приводит к тому, что менеджер проекта размещает ее в списке автоматически создаваемых форм(окно Project Option, страница Forms, список Auto-create forms). Для того, чтобы форма не создавалась автоматически в момент старта программы, необходимо перенести ее в список Available forms. В этом случае форма создается по мере необходимости. В момент старта программы на экране показывается только одна – главная форма. Каждое следующее окно становится видно только после вызова его метода Showили ShowModal. Основной способ, используемый для закрытия формы – зто вызов метода procedureClose.Внутри метода Close в первую очередь вызывается метод functionCloseQuery:boolean. Для закрытия формы необходимо, чтобы функция CloseQuery вернула True. Для проверки на возможность закрытия CloseQuery вызывает обработчик события OnCloseQuery:TCloseQueryEvent;TCloseQueryEvent-этопроцедурный тип:TCloseQueryEvent=procedure(Sender:TObject;Var CanClose:boolean) of object; Вы должны в обработчике события проверить возможность закрытия формы и вернуть нужное значение в параметре CanClose. Последним при уничтожении формы инициируется событие OnDestroy:TNotifyEvent; Здесь программист может предусмотреть необходимые действия, к примеру записать значения в файл. Порядок выполнения работы. В этой работе мы создадим простейшее приложения, содержащее кнопки и простейшие компоненты для вывода текста, а также определим некоторые обработчики событий. Работу будем выполнять в три этапа. Этап 1. Создание очень простого приложения. Разработка нового приложения начинается с создания проекта. Для этого в меню File выберете команду New Application. Delphi создаёт проект, который содержит три файла:
- Файл проекта *.dpr
- Файл формы *.dfm
- Файл модуля *.pas
При этом в проектировщике форм (Form Designer) Вы увидите новую форму, а в редакторе кода (Code Editor) – заготовку исходного текста модуля, который ассоциирован с созданной формой. Файл проекта представляет собой не более, чем исходный файл Pascal. Program Project1;UsesForms,Unit ‘in Unit1.pas’;beginApplication.Initialize;Application.CreateForm(TForm1,Form1);Application.Run;end. Просмотреть файл проекта можно выполнив команду меню Project|View Sourse, либо Ctrl-F12 и выбрать из списка имя файла проекта. В секции Uses перечислены все модули, входящие в состав проекта. В блоке begin … end после инициализации объекта приложения Application осуществляется создание форм, входящих в состав проекта. Метод Run осуществляет запуск приложений. При добавлении модулей и форм в приложение они будут появляться в секции Uses файла проекта. Каждая форма представлена в двух видах: в виде файла формы с расширением dfm (представление окна Windows — приложения как визуального объекта) и модуля формы с раширением pas (Pascal – код формы). Автоматически сгенерированный первоначально код имеет вид: unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;typeTForm1 = class(TForm)privatepublicend;varForm1: TForm1;implementationend. Директива $R используется для загрузки внешнего файла ресурсов. Файл .dfm содержит бинарное представление созданной с помощью Form Designer формы. Символ * означает, что имя файла совпадает с именем модуля, т.е. Unit. dfm. Текстовое представление формы можно получить при помощи команды View As Text контекстного меню формы. Кроме модуля формы, в программу могут входить и другие модули, не связанные с формами. Компиляция проекта осуществляется в соответствии со списком модулей в файле проекта. Откомпилированный модуль записывается в файл с расширением dcu. В проекте Delphi могут присутствовать и другие файлы.
- *.res Ресурсы (хранят изображения, строки для сообщений, информацию о версии программы).
- *.cfg Откомпилированный файл настроек проекта.
- *.dof Текстовый файл, в котором хранятся значения опций проекта (настройки компилятора и компоновщика, каталоги и т.д.)
- *.dsk Текстовый файл настроек среды разработки для данного проекта.
Сохраните проект в вашем рабочем каталоге, выполнив команду меню File|Save Project As. Итак, мы получили заготовку (прототип) будущего приложения. Теперь добавим в приложение кнопку при нажатии которой, будет появляться модальное окно с надписью «ПРИВЕТ» Для этого сделайте следующее: 1.Из палитры компонентов(страница Standard) добавьте кнопку TButton в форму, выполнив двойной щелчок на пиктограмме кнопки. Delphi автоматически центрирует кнопку на форме. 2.Для того чтобы разместить кнопку в нужном месте, щёлкните на компоненте и удерживая левую кнопку мыши нажатой, перетягивайте при этом объект в нужное место (подобно перемещению пиктограммы в Windows). 3.Перейдите в Object Inspector и с его помощью измените заголовок по умолчанию, который появляется на кнопке, с Button1 на ОК. Для этого, щёлкните на кнопке один раз для получения подтверждения, что она выбрана. Затем щёлкните на свойстве Caption в Object Inspector. После этого наберите на клавиатуре OK для изменения имеющегося заголовка. Аналогично измените свойство Caption формы Form1 на Лаб. работа №1. 4.Выполните двойной щелчок на кнопке, которую Вы добавили в форму, для того чтобы открыть Code Editor. Именно здесь вводятся строки кода, предписывающие необходимые действия программе, когда кто-нибудь щёлкнет на кнопке в запущенной программе. Находясь в Code Editor, в теле процедуры TForm1.Button1Click наберите между зарезервированными словами begin и end следующие строки: ShowMessage(‘ПРИВЕТ’);Close; Процедура ShowMessage создаёт стандартное окно для вывода сообщений. Метод Close закрывает окно формы, когда мы закроем модальное окно, щелкнув на кнопке Ok окна . Текст модуля.unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);privatepublicend;varForm1: TForm1;implementationprocedure TForm1.Button1Click(Sender: TObject);beginShowMessage (‘ ПРИВЕТ’);Close;end;end. 5.Для компиляции и выполнения программы выберите команду Run из меню Run или нажмите F9. Теперь Delphi автоматически компилирует программу для генерирования кода времени выполнения (run–time code), необходимого для запуска проекта на выполнение. После того как программа заработает, на экране появиться Щёлкните на кнопке ОК, и у Вас появиться небольшое диалоговое окно с надписью ПРИВЕТ.
Это диалоговое окно является модальным, а это значит, что пока Вы не щёлкните на кнопке ОК и не закроете модальное окно, программа дальше не выполняется. При щелчке на кнопке OK программа завершит своё выполнение. Метод Close закрывает форму и управление возвращается к Delphi.
DELPHI 101
Delphi is a programming language and software development kit (SDK) from Embaacadero Technologies. Delphi programming model is based on Object Pascal. Though Delphi programming is primarily used for developing Windows applications, it can also be used to build mobile, web, and console applications .
ORIGIN OF DELPHI
Delphi’s predecessors — date back to — as early as 1968. In 1968, Niklaus Wirth began work on a programming language called Pascal, which he completed in 1970 with its first working implementation appearing on a CDC6000 Computer. In the 1970s, Wirth worked with Jensen on Modula, the next child of Pascal. In the very early 1980s, Turbo Pascal was born and received good press for its excellent compilation and execution speed. In the 1990s, a project began at Borland with the Greek Mythological code-name “Delphi”. 1995, Borland’s Delphi was introduced as an — Object-Oriented — version of Turbo Pascal.
WHY DELPHI?
The primary strength of Delphi is that it compiles incredibly quickly, meaning that Delphi applications with a relatively large codebase can be compiled and run on a machine with limited resources. No runtime environment is required to execute the Delphi object code. Delphi has very few dependencies, particularly regarding different versions of Windows. Applications built years ago still work on the latest versions of Windows.
DELPHI-VERSIONS
Several versions of Delphi with features and improvements have been released over the years. Delphi 1 was released in 1995 and Delphi 10.4 the latest version was released in 2020.
EASY TO READ
Code written in Delphi is easily readable compared to other programming languages, for example, to concatenate strings “+” sign can be used rather than using a function. To group a set of code statements, begin and write blocks can be used instead of using brackets.
WORKS EVERYWHERE
Applications created in Delphi will work everywhere including
POPULAR SOFTWARE MADE WITH DELPHI
There are several popular applications created with Delphi including:
➔ Skype — Leading chat, telephony, video calling, and VoIP application
➔ Macromedia Dreamweaver — Website building tool which was later bought by Adobe.
➔ Nero Burning ROM — CD/DVD burning tool.
➔ WinRAR — Famous file compression utility
Delphi — нужен ли он сейчас и что пишут на этом языке программирования
Когда-то давно мы рассказывали о том, почему в школе до сих пор иногда преподают Паскаль, которому уже почти 40 лет. А сегодня будет рассказ про Delphi — язык, который родился из Паскаля и который развивается так же быстро, как эта серия статей.
Что такое Delphi
Delphi — это современное продолжение языка Turbo Pascal. На Delphi можно писать программы для всех операционных систем, включая мобильные, а также для всех популярных типов процессоров — x86 и ARM.
Чтобы оценить прогресс в развитии языка, сравните среду разработки Turbo Pascal и Delphi:
Типизация и переменные
Delphi — это высокоуровневый язык программирования со строгой статической типизацией и объектно-ориентированным подходом:
- Высокоуровневый — это значит, что в нём используется не машинный код, а команды, удобные для программиста.
- Строгая типизация означает, что в Delphi не получится присвоить строке числовую переменную, как в JavaScript. Получить число из строки тоже не выйдет — нужно будет использовать команды приведения типов.
- Статичная типизация: если программист объявил переменную X как число, то работать с этой переменной можно будет только как с числом на протяжении всей программы. Это надёжнее, чем когда в языке есть возможность менять типы по ходу работы.
- Объектно-ориентированный — то есть язык поддерживает объекты и даёт возможность использовать все их свойства: инкапсуляцию, наследование и полиморфизм. Читайте об этом в нашем цикле про ООП.
Визуальная среда разработки
Главная мощь Delphi — интегрированная среда разработки. Это похоже на конструктор сайтов, когда мы выбираем подходящие элементы и перетаскиваем их на страницу. В Delphi всё работает точно так же: есть панель компонентов, сгруппированных по типам и возможностям, а программист перетаскивает их на интерфейс программы.
У каждого компонента есть свойства и события — разработчик их настраивает в отдельной панели или прямо в коде. Например, можно сделать так:
- Найти на панели компонент «Кнопка».
- Перетащить его в нужное место в интерфейсе будущей программы.
- В панели свойств поменять название, цвет кнопки, шрифт надписи и размеры.
- В той же панели привязать к кнопке событие onClick, которое сработает при нажатии мыши на кнопку.
- Прописать в коде, что будет выполняться внутри этого события, например, появление окна справки или вызов другой функции.
Получается, что разработчик может одновременно и писать код, и конструировать интерфейс программы, привязывая к нему нужные события. Если интересно, как всё это работает в жизни, посмотрите видео — там всё на английском, но видно, как перетаскиваются и настраиваются компоненты и их события:
Пример кода
Если вы знаете Паскаль, то легко разберётесь в том, что происходит в этом коде. А если нет, но знаете любой другой язык программирования, — то тоже разберётесь, потому что синтаксис Delphi максимально простой и понятный:
// пишем обработчик события, происходящего при создании формы MainForm procedure TMainForm.FormCreate(Sender: TObject); // раздел объявления переменных var // создаём переменную строкового типа Strings: TStrings; // основной код обработчика begin // создаём объект типа TStringList. Strings := TStringList.Create; // оборачиваем код в обработчик исключений, на случай, если что-то пойдёт не так try // добавляем строку Strings.Add('Добавляемая строка.'); // сохраняем строки в файл Strings.SaveToFile('C:\Strings.txt'); // если всё прошло штатно finally // освобождаем память, занятую нашей переменной FreeAndNil(Strings); // закончился блок try end; // закончился код обработчика end;
Плюсы и минусы языка
Так как в основе Delphi лежит простой Паскаль, то изучить Delphi с нуля новичку гораздо проще, чем Java или C#. Освоиться в языке можно за пару дней, а уже через неделю можно сделать полноценное приложение.
Ещё Delphi — это кроссплатформенный язык. Это значит, что один и тот же код можно использовать для создания программ, например, на Windows, Linux и MacOS. Такой подход ускоряет разработку и делает её дешевле, но повышает требования к квалификации программистов.
В плюс можно отнести и визуальный редактор — программисту можно брать уже готовые компоненты и собирать из них нужный интерфейс, а не описывать его детально вручную в коде. Если каких-то компонентов не хватает, их можно скачать либо с официального сайта разработчиков, либо сделать самому.
Минусы у Delphi тоже есть:
- Из-за поддержки полной обратной совместимости в Delphi много легаси-компонентов и решений. Они иногда затрудняют разработку и усложняют код.
- Сложно разобраться во всех доступных компонентах — по умолчанию их доступно около 200, и хорошо бы знать, за что они отвечают и как работают.
Что сейчас пишут на Delphi
Сейчас программами на Delphi пользуются в основном банки, бухгалтерский сектор, организации систем учёта и госкомпании. Это связано с тем, что в Delphi легко создать простой интерфейс для работы с большим количеством данных — он будет выглядеть примерно как интерфейс старого 1С, но гарантированно будет работать в любых условиях.
Большинство вакансий разработчиков Delphi — это как раз поддержка и оптимизация старого кода. Такого кода и таких компаний много, переписать всё с нуля дорого, поэтому спрос на Delphi-программистов будет ещё долго. Но в количественном отношении программистов на JavaScript, C или Python требуется гораздо больше, чем на Delphi.
С другой стороны, современные возможности Delphi позволяют ей пользоваться как основной системой для разработки программ для любой архитектуры и ОС. Вот несколько примеров известных программ, написанных на Delphi:
- Skype (до того, как его купила Microsoft);
- почтовая программа The Bat!
- Guitar Pro (до шестой версии);
- AIMP — популярный медиаплеер для Windows;
- Inno Setup — программа-установщик для Windows, один из самых популярных сейчас установщиков.
Ваш первый язык программирования: полное руководство
Мы собрали все важные знания о старте в ИТ и изучении программирования. Скачайте один документ, прочитайте его, и у вас будет полное представление и ответы на все распространенные вопросы:
- Какие языки сейчас в тренде и что нужно изучать?
- Как довести обучение до результата?
- Что мешает и как с этим справиться?
- Как выбрать курсы? И нужно ли их выбирать?
Гид скачивается бесплатно, без регистрации и ввода электронной почты. Просто тык и всё. Не забудьте сохранить на компьютере, если гид откроется в браузере.
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
При подготовке материала использовались источники:
https://studfile.net/preview/491043/
https://hexacorp.medium.com/delphi-101-1e2dc7d1b077
https://thecode.media/delphi/