В Delphi можно создавать различные типы проектов в зависимости от
целей, которые стоят перед разработчиком. Каждый проект ориентирован на
определенную платформу или технологию и имеет свои особенности,
инструменты и методы разработки. Разберем основные типы проектов,
поддерживаемые Delphi.
1. Приложения для Windows
(VCL)
VCL (Visual Component Library) — это библиотека
компонентов для разработки приложений, предназначенных для операционной
системы Windows. Программы, созданные с использованием VCL, обычно имеют
графический интерфейс, который работает с элементами операционной
системы, такими как окна, меню, кнопки и другие компоненты.
Основные особенности VCL:
- Приложение работает только в операционной системе Windows.
- Основано на Windows API, что позволяет использовать все возможности
Windows для создания нативных приложений. - Поддержка визуальных компонентов и дизайнеров, что ускоряет процесс
разработки.
Пример создания
VCL-приложения:
program VCLExample;
uses
Vcl.Forms, Vcl.Controls, Vcl.Dialogs, Vcl.Graphics;
begin
Application.Initialize;
Application.CreateForm(TForm, Form);
Application.Run;
end.
Этот код создает простое VCL-приложение, которое отображает окно без
дополнительных элементов интерфейса.
2. Приложения для Windows
(FMX)
FMX (FireMonkey) — это кросс-платформенная
библиотека компонентов для создания графических приложений, которая
поддерживает работу на различных платформах, включая Windows, macOS, iOS
и Android. В отличие от VCL, FMX работает с графикой векторного типа,
что позволяет адаптировать интерфейс под различные устройства.
Основные особенности FMX:
- Поддержка нескольких платформ (Windows, macOS, iOS, Android).
- Гибкость в создании графических интерфейсов, поддержка
высококачественной графики и анимации. - Возможность использования современных технологий и дизайнов
интерфейсов.
Пример создания
FMX-приложения:
program FMXExample;
uses
FMX.Forms, FMX.Controls, FMX.Dialogs;
begin
Application.Initialize;
Application.CreateForm(TForm, Form);
Application.Run;
end.
FMX-приложение требует дополнительных настроек для работы на
различных платформах, но в целом позволяет создавать более универсальные
и адаптированные приложения.
3. Библиотеки и
пакеты
Кроме традиционных приложений, Delphi также поддерживает создание
библиотек и пакетов, которые могут быть использованы другими
приложениями. В этом случае проект не генерирует исполняемый файл
(.exe), а создает динамически подключаемую библиотеку (.dll) или пакет
(.bpl), который может быть использован в других проектах.
Примеры:
- DLL (Dynamic Link Library) — позволяет создавать
библиотеки, которые могут быть подключены к другим программам. Обычно
используется для расширений или совместного использования кода.
library MyLibrary;
uses
SysUtils, Classes;
procedure MyFunction;
begin
// код функции
end;
exports
MyFunction;
begin
end.
- BPL (Borland Package Library) — это пакет, который
может быть использован в других проектах Delphi для использования
компонентов и библиотек.
4. Консольные
приложения
Консольные приложения — это простые текстовые программы, которые
работают в командной строке. Они не имеют графического интерфейса и
обычно используются для выполнения задач без взаимодействия с
пользователем через GUI.
Основные особенности:
- Простота создания и тестирования.
- Подходят для автоматизации задач, обработки данных, серверных
приложений. - Не требуют работы с графическими компонентами.
Пример консольного
приложения:
program ConsoleApp;
begin
WriteLn('Hello, World!');
ReadLn;
end.
Консольные приложения могут быть использованы в качестве основы для
различных утилит, а также для разработки серверных решений, которые
работают в фоновом режиме.
5. Серверные
приложения
Delphi также поддерживает создание серверных приложений, которые
могут взаимодействовать с клиентскими приложениями через различные сети
и протоколы. Серверные приложения могут использоваться для обработки
запросов клиентов, работы с базами данных или выполнения фоновых
задач.
Основные особенности:
- Использование многозадачности и многопоточности.
- Подключение к базам данных через ADO, dbExpress, FireDAC.
- Поддержка сетевых технологий, таких как TCP/IP, HTTP.
Пример серверного приложения:
program ServerApp;
uses
SysUtils, IdTCPServer;
var
Server: TIdTCPServer;
begin
Server := TIdTCPServer.Create(nil);
Server.DefaultPort := 8080;
Server.Active := True;
WriteLn('Server started on port 8080');
ReadLn;
Server.Free;
end.
Это простое серверное приложение использует компонент
TIdTCPServer
для создания TCP-сервера.
6. Мобильные
приложения
Delphi поддерживает разработку мобильных приложений с использованием
FireMonkey. Мобильные приложения могут быть созданы для
платформ iOS и Android, что позволяет использовать Delphi для создания
кросс-платформенных решений.
Основные особенности:
- Работа с различными сенсорами устройства (GPS, камера,
акселерометр). - Разработка под мобильные устройства с адаптивными интерфейсами.
- Поддержка кросс-платформенной разработки.
Пример мобильного приложения:
program MobileApp;
uses
FMX.Forms, FMX.Controls, FMX.Dialogs;
begin
Application.Initialize;
Application.CreateForm(TForm, Form);
Application.Run;
end.
Для создания мобильных приложений требуется настроить Delphi для
работы с эмуляторами мобильных устройств или с физическими устройствами
для тестирования.
7. Приложения для
облачных сервисов
С помощью Delphi можно разрабатывать приложения, которые будут
взаимодействовать с облачными сервисами, например, для хранения данных,
выполнения вычислений или интеграции с другими сервисами через REST
API.
Основные особенности:
- Интеграция с облачными платформами (например, Amazon Web Services,
Google Cloud). - Обмен данными с удаленными серверами через HTTP или WebSocket.
- Использование баз данных и хранилищ данных в облаке.
Пример взаимодействия
с облачным сервисом:
uses
IdHTTP, SysUtils;
var
Http: TIdHTTP;
begin
Http := TIdHTTP.Create(nil);
try
Http.Get('https://api.example.com/data');
finally
Http.Free;
end;
end.
Такое приложение может быть частью системы, которая работает с
большими объемами данных или выполняет аналитические вычисления в
облаке.
8. Приложения с
использованием баз данных
Delphi идеально подходит для создания приложений, работающих с
различными базами данных. Используя компоненты
dbExpress, FireDAC или
ADO, можно легко подключать приложения к SQL-базам
данных, таким как MySQL, PostgreSQL, SQLite, SQL Server.
Основные особенности:
- Подключение к популярным СУБД.
- Работа с транзакциями, запросами и хранимыми процедурами.
- Поддержка высокоэффективных операций с данными.
Пример работы с базой данных:
uses
FireDAC.Comp.Client;
var
FDConnection: TFDConnection;
begin
FDConnection := TFDConnection.Create(nil);
try
FDConnection.DriverName := 'SQLite';
FDConnection.Params.Database := 'mydatabase.db';
FDConnection.Connected := True;
finally
FDConnection.Free;
end;
end.
Таким образом, Delphi предлагает широкий выбор типов проектов, от
классических Windows-приложений до мобильных и серверных решений. Выбор
типа проекта зависит от специфики задачи и требуемой платформы.
Go Up to File Menu
File > New > Windows VCL Application — C++Builder
File > New > Windows VCL Application — Delphi
Creates the framework for a VCL (native Windows) application and opens the Form Designer with the base form (TForm) displayed.
For a Delphi VCL application, the uses
section contains the following units (including wrappers for native Windows APIs):
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
See Also
- Building a Windows VCL Application
- Building a Windows VCL Hello World Application
Создание простейшего приложения Windows Forms
Создание простейшего приложения VCL Forms Application
Создание консольных приложений
Создание приложений с базами данных
Создание приложений ASP .NET
Создание приложений ASP .NET с базами данных
Создание и применение Web-сервисов
Создание Web-сервиса
Создание
клиента для Web-сервиса
Delphi 8 для Microsoft .NET Framework — это интегрированная
среда разработки (Integrated Development Environment), выполняющаяся на платформе
Microsoft .NET и поддерживающая полный цикл жизни разработки приложений. Интерфейс
среды сильно отличается от интерфейсов предыдущих версий, например от Delphi
7. Ниже мы рассмотрим создание различных типов приложений с помощью этого средства
разработки.
Создание простейшего приложения Windows Forms
- Выберите опции меню File=>New=>Windows Forms Application.
- Если необходимо, можно изменить размеры формы приложения при помощи стрелок
конструктора форм (Design) — - Выберите в форме Tool Palette элемент управления Button
и положите его на форму приложения. Если необходимо, измените размеры экземпляра
и его свойство Text. - Дважды щелкните по экземпляру элемента управления Button,
помещенному на форму. Управление передастся кодовому редактору Code
Editor, который сгенерирует каркас процедуры. - В редакторе кода введите код: MessageBox.Show(‘Здравствуй, разработчик!’);
- Сохраните и выполните проект, в результате чего вы увидите на экране монитора
окно приложения.
После нажатия кнопки «Здравствуй, мир!» вы получите форму.
При создании приложений для платформы Windows может быть выбрана опция VCL
(Visual Component Library) Forms Application, которая специально оставлена
для совместимости с предыдущими версиями Delphi. Как и в приложении типа Windows
Forms Application, на рабочем столе интегрированной среды разработки
появится конструктор форм. Обратите внимание, что свойства и события различны
для экземпляров объектов классов Form1 и TWinForm
(в этом имени видим расхождение с правилами, принятыми в Delphi, — так обычно
обозначаются типы) вроде TForm1 и System.Windows.Forms.Form,
выполняющих аналогичные функции. При создании новых проектов мы рекомендуем
использовать Windows Forms Application, как более соответствующий
платформе. Среда разработки автоматически загружает необходимый конструктор
форм и палитру инструментов в зависимости от выбора типа приложения.
Создание
простейшего приложения VCL Forms Application
Сценарий создания приложения типа Windows VCL Application
таков:
- Выберите опции меню File=>New=>Windows VCL Application.
- Если необходимо, можно изменить размеры формы приложения при помощи стрелок
конструктора форм (
). - Выберите с формы Tool Palette компонент Button
и поместите его на форму приложения, изменив в случае необходимости размеры
экземпляра и его свойство Caption. - Дважды щелкните по экземпляру Button, положенному на форму.
Управление передастся кодовому редактору Code Editor, который
сгенерирует каркас процедуры. - Вручную введите код: ShowMessage(‘Здравствуй, разработчик!’);
- После сохранения и выполнения проекта на экране монитора вы увидите окно
приложения.
В результате нажатия кнопки «Здравствуй, мир!» будет получена форма.
Как видно из вышеприведенных форм приложений, несмотря на мелкие отличия, в
целом функциональность одинаковая. Отметим также, что в процессе конструирования
приложений наборы компонентов, доступных для использования, также различаются.
Кроме того, в Delphi 8 имеются и некоторые иные, по сравнению с Delphi 7, языковые
конструкции, которые представлены в таблице.
Основные различия в синтаксисе языков Delphi 7 и Delphi 8
Delphi 7 |
Delphi 8 |
Real48 | Double |
Absolute, Addr, @ | Не поддерживается |
GetMem, FreeMem, ReAllocMem | New, Dispose или динамический массив |
Тип object | Тип class |
File of любого типа, включая записи | Streams, serialization, базы данных |
Inline assembly или asm с ключевыми словами | Не поддерживается |
ExitProc | Не поддерживается |
FillChar, Move | Переопределение переменных в цикле |
PChar | String или StringBuilder (тип String в .NET не эффективен для операций конкатенации. Используйте тип StringBuilder) |
ADO, WebBroker, InternetExpress, WebSnap и поддержка XML, связанная с компонентами TXMLTransform |
Не поддерживается |
Компоненты с закладки System: OLEContainer, DdeClientConv, DdeClientItem, DdeServerConv, DdeServerItem |
Не поддерживается |
Создание консольных приложений
Простейшее консольное приложение создается следующим образом:
- Выберите опции меню File=>New=>Other=>Delphi for .Net
Projects Console Application. Форма доступа к мастерам проектов различного
типа по сравнению с Delphi 7 изменилась — она приобрела вид, аналогичный форме
Visual Studio .NET. - В секции реализации автоматически сгенерированного каркаса приложения вставьте
код:WriteLn (‘Hello, Delphi! — Today is ‘ + DateToStr (Now));
- Сохраните и выполните проект, и на экране монитора вы увидите окно приложения.
Ниже приведен пример консольного приложения, которое благодаря директивам {$IFDEF}
будет одинаково хорошо работать после компиляции на Delphi for .NET,
Delphi 7 или Kylix 3, выдавая соответствующую строку:
program HelloWorld;
{$APPTYPE CONSOLE}
begin
{$IFDEF CLR} // Delphi for .NET
writeln(‘Hello, .NET world!’);
{$ENDIF}
{$IFDEF WIN32} // Delphi 7
writeln(‘Hello, Win32 world!’);
{$ENDIF}
{$IFDEF LINUX} // Kylix
writeln(‘Hello, Linux world!’);
{$ENDIF}
ReadLn; //чтобы задержать выполнение
end.
Следующий пример — консольное приложение, работающее с файлами:
1. Выберите опцию меню File=>New=>Other=>Delphi for .Net Projects
Console Application.
2. В секции реализации автоматически сгенерированного каркаса приложения вставьте
код.
var
FT: TextFile;
…..
WriteLn (‘Демонстрашка работы с файлами!’);
AssignFile(FT, ‘file-text.txt’);
ReWrite(FT);
WriteLn(FT, ‘Hello, developer!’);
CloseFile(FT);
…..
3. После сохранения и выполнения проекта на экране монитора появится окно приложения.
Отметим два момента, связанных с этим приложением.
Во-первых, хотя в документации ничего не говорится о невозможности работы с
нетипизированными файлами, конструкция FB: file of word; не компилируется, а
выдается ошибка “Unsupported language feature: typed or untyped file”.
Во-вторых, оператор writeln успешно выводит на экран строку на русском языке,
но при аналогичной попытке вывода в файл кодовая страница полученного текста
оказывается другой. При работе же с текстовыми файлами проблем с кодовыми страницами
нет.
Создание приложений с базами
данных
Ниже приводится сценарий, описывающий построение ADO.NET-приложения, использующего
шаблон Windows Forms Application и новую технологию BDP.NET, которая включает
компоненты, необходимые для конструирования приложений с базами данных:
- Выберите опции меню File=>New=>Windows Forms Application.
- Перенесите экземпляр компонента BdpDataAdapter на форму
с формы Tool Palette из раздела Borland Data Provider.
При этом в Object Inspector появятся свойства этого класса.
В отличие от предыдущих версий Delphi, невизуальные компоненты представлены
не пиктограммой на форме приложения, а в специально отведенном окне среды
разработки. - В Object Inspector выберите Configure Data Adapter,
после чего появится мастер Data Adapter Configuration. Если
необходимо, выберите закладку Command, на ней — окно с выпадающим
списком Connection, а из списка — элемент New connection.В результате этих действий появится новое диалоговое окно Connection
Editor. Альтернативой является использование Data Explorer,
в котором свойство Connection устанавливается автоматически.Выбрав из списка Connection СУБД необходимого вида (в нашем
случае InterBase — “IBConn1”), задайте в Connection Setting
свойство Database (в случае InterBase — полный путь к файлу
с таблицей). При необходимости можно изменить свойства UserName
и Password. Нажав кнопку Test, можно проверить
правильность соединения с базой. После нажатия клавиши OK
в окнах Tables и Columns формы Data
Adapter Configuration появятся список таблиц и доступные поля базы
данных соответственно. На закладке Select наберите строку,
например для БД InterBase с именем employee.gdb запрос «select * from SALES».
Выбрав закладку Preview Data и нажав кнопку Refresh,
вы увидите в поле типа Memo значение полей выбранной таблицы. Выберите закладку
DataSet, а в ней — кнопку выбора New DataSet и нажмите
OK. - После этого в окне конструктора появятся экземпляры компонентов DataSet
и bdpConnection. - Выберите экземпляр компонента bdpDataAdapter и его свойству
Active присвойте значение True. - Поместите на форму экземпляр компонента DataGrid, его
свойство DataSource установите равным DataSet1.
При этом с помощью функции Auto Format можно изменить форму представления
таблицы на экране. - Активизируйте свойство DataMember компонента DataGrid при помощи раскрывающегося
списка возможных таблиц из БД. При этом на форме появляется представление
данных. - Сохранив и выполнив проект, на экране своего монитора вы увидите окно приложения.
При переносе приложения на другой компьютер важно, чтобы база данных employee.gdb
лежала в определенном месте (например, d:/data) — иначе потребуется переопределять
экземпляр компонента bdpConnection1.
Выравнивание таблицы относительно формы можно осуществить с помощью свойств
Anchor и Dock.
При добавлении к проекту ссылок командой Add Reference… не
допускается наличие пробелов в пути.
Создание приложений ASP .NET
Замечание. Если вы хотите инсталлировать Delphi 8 с целью
создания приложений ASP .NET, то на компьютере уже должны быть установлены службы
Internet Information Services. Если ISI были установлены после Delphi 8, то
для корректной работы ASP .NET-приложения следует ввести команду:
aspnet_regiis.exe /i
Для создания приложений ASP .NET:
- Выберите опции меню File=>New=>ASP.NET Web Application,
после чего появится диалог: New Item.Задав в нем значение поля Name, определите имя и место расположения
нового приложения. Нажав кнопку View Server Option, вы получите
возможность ввода дополнительных параметров.Для большинства ASP .NET-проектов расширение не требуется — достаточно нажать
кнопку OK. - Выберите с формы Tool Palette=>Web Controls компонент
Button и положите его на форму приложения, изменив, если
это необходимо, размеры экземпляра. Если нужно изменить название на кнопке,
перейдите в Object Inspector, выберите свойство Тext
и назначьте ему значение, например ‘Hello, world!’. - Дважды щелкните по экземпляру Button, помещенному на форму.
Управление передастся редактору Code Editor, который сгенерирует
каркас процедуры. - Вручную введите код:
Inc(mycount);
button1.Text := ‘ Hello, developer!’;
button1.Text := button1.Text + ‘ ENTER N’+IntToStr(mycount);
Предварительно в области описания глобальных переменных модуля WebForms1.pas
следует определить переменную mycount. - После сохранения и выполнения проекта на экране появится окно приложения.
Обращение к приложению производится в при помощи браузера Microsoft Internet
Еxplorer по команде http://localhost/helloworld/webform1.aspx.
При конструировании этого приложения проявились две функциональные особенности,
свойственные технологии ASP .NET, которые отсутствовали в технологиях разработки
Web-приложений до Delphi 8. Первая — ASP .NET позволяет создавать только DLL-приложения,
но при этом в случае совмещения отладки через IIS и отладки в среде разработки
не требуются постоянные вызовы утилиты iisreset.exe для обеспечения возможности
трансляции очередной версии динамической библиотеки.
Вторая — в то же время в случае определения глобальной переменной, так как это
было сделано в рассматриваемом проекте, при повторном вызове ресурса сохраняется
ее предыдущее значение, а его сброс можно осуществить только применением утилит
типа iisreset.exe.
Для переноса данного проекта на другую машину необходимо скопировать директорию
HelloWorld в соответствующую директорию, описанную в IIS как виртуальный каталог.
Нажав кнопку Create, нужно сделать упомянутую директорию каталогом
приложения (на рисунке выше приведено окно для свойств директории HelloWolrd
в ОС Windows 2000 Advanced Server). После выполнения этих действий Web-приложение
может быть вызвано на локальной машине командой http://localhost/HelloWorld/WebForm1.aspx
или на любой другой машине, доступной с помощью протокола TCP/IP командой http://<имя
компьютера>t/HelloWorld/WebForm1.aspx. Оба случая соответственно представлены
на приведенных ниже рисунках.
Приведенный пример демонстрирует работу распределенных приложений с общей памятью,
которой в нашем случае является переменная mycount.
Создание приложений
ASP .NET с базами данных
Ниже приведен пример ASP.NET-приложения, обеспечивающего доступ к данным БД,
редактирование и внесение изменений в поля БД. Доступ к данным обеспечивается
Borland Data Provider (BDP) для ADO.NET.
- Выберите опции меню File=>New=>ASP.NET Web Application
— появится диалог New ASP.NET Application, в котором надо
заполнить поле Name. Значения остальных полей следует оставить
принятыми по умолчанию.В результате новый проект будет называться D8DBSAMPLE и располагаться
в директории c:\inetpub\wwwroot\D8DBSAMPLE. А результат выполнения проекта
можно будет посмотреть, дав команду браузеру http://localhost/D8DBSAMPLE/WebForm1.aspx.
Среда Delphi 8 for .NET теперь не использует конструктор HTML-страниц — вместо
этого существует ASP.NET Web-форма, позволяющая использовать палитры компонентов
Components, Data Components, Borland Data Provider, DB Web, Enterprise
Core Objects, HTML Elements и Web Controls для различных
категорий. Для работы с БД можно использовать Borland Data Provider,
DB Web и Web Controls. Начнем с Borland
Data Provider. - Закладка Data Explorer всегда доступна в среде Delphi
8 for .NET. Мы будем работать с БД InterBase и ее таблицей EMPLOYEE.Дважды щелкнув на таблице, вы увидите ее на форме в процессе конструирования.
- Если перенести на форму EMPLOYEE с Data Explorer,
появятся экземпляры невизуальных компонентов BdpConnection1
и BdpDataAdapter1: первый обеспечивает соединение с сервером
базы данных InterBase, второй отвечает за работу с данными таблицы EMPLOYEE
БД InterBase и за обмен с кэшированными наборами данных класса DataSet. - Далее следует щелкнуть мышью по экземпляру BdpDataAdapter1
и выбрать команду Configure the DataAdapter на палитре Object
Inspector, что приведет к появлению окна Data Adapter Configuration. - Используя списки Tables и Columns, можно
выбрать комплект необходимых для вывода полей из таблицы. С помощью закладок
SELECT, UPDATE, INSERT и DELETE посредством команд SQL можно
пополнить коллекцию полей. Затем нужно перейти на закладку DataSet
и установить опцию New DataSet, определяющую форму выходного
набора данных. После закрытия диалогового окна Data Adapter Configuration
в окне невизуальных компонентов появится экземпляр DataSet1. - Свойству Active экземпляра объекта BdpDataAdapter1
присвойте значение Тrue, щелкнув по экземпляру и перейдя
на палитру Object Inspector. - Выберите с формы Tool Palette=>Web Controls компонент
DataGrid и положите его на форму приложения. Если необходимо,
измените размеры экземпляра. - Для экземпляра DataGrid 1 установите свойство DataSource
равным DataSet1, а свойство DataMember равным
EMPLOYEE, выбрав их из ниспадающих списков. Прототип таблицы
вывода появится в окне конструирования, но не с реальными значениями полей,
а с некими заменителями («abc» — для полей строкового типа, «2003-12-29
00:00:00» — для полей типа дата и т.п.). - Можно также определить автоматическое форматирование таблицы при помощи
диалогового окна Auto Format (например, Professional
1). - Выбор команды Property Builder с палитры Object
Inspector приводит к появлению диалога Data Grid properties,
в котором можно изменить ключевое поле. - Выберите команду Column и отмените опцию Create
columns automatically at run-time. - Выберите команду Paging.
Создание и применение Web-сервисов
Web-сервисы создаются аналогично ASP.NET-приложениям.
Создание Web-сервиса
- Выберите опции меню File=>New=>Other. New Item —
появится диалог, в котором надо выбрать иконку ASP.NET Web Service
Application. В результате новый проект будет называться FirstWebServiceApplication
и располагаться в директории c:\inetpub\wwwroot\FirstWebServiceApplication. - Результат выполнения проекта можно будет посмотреть, набрав в браузере
команду http://localhost/FirstWebServiceApplication/WebService1.asmx. - Раскрыв тело модуля WebService1.pas (такое имя присваивается
по умолчанию), добавьте в описание типов текст за оператором [WebMethod]
(только методы, следующие за этим оператором, являются удаленно доступными)
следующий текст: function Mult(p1, p2: integer): integer — это описание нашей
функции, доступ к которой предоставляется через механизм сервисов. - Тело функции будет иметь такой вид:
function TWebService1.Mult(p1, p2: integer): integer;
begin
Result := p1 * p2;
end; - Откомпилировав проект, сразу же можно обратиться к нему с помощью стандартного
клиентского приложения, задав приведенный выше URL-адрес.Выбрав функцию, предоставляемую приложением (в нашем случае единственную —
Mult), задав значение фактических параметров и нажав кнопку
Invoke, получим результат в виде XML-файла. - Необходимо отметить, что средства среды разработки Web-сервисов, предоставляемые
Delphi 8, стали гораздо более удобными по сравнению с реализованными в Delphi
7, причем они аналогичны по технологическому решению тем, что предоставляются
средой разработки Visual .NET.
Создание клиента для Web-сервиса
Теперь можно создать клиентское приложение, использующее этот же сервис.
- Для этого создайте Windows Forms Application и к нему
при помощи команд Project=>Add Web Reference добавьте
ссылку на Web-сервис. - Введите в окне запросов http://localhost/FirstWebServiceApplication/WebService1.asmx
и нажмите кнопку Add reference, которая теперь стала доступной.
Нажав на нее, вы создадите новый модуль localhost.WebService1,
поддерживающий интерфейс между объектами Web-сервиса и вашим приложением.
В модуле приложения, где предполагается применять эти функции, в операторе
uses необходимо добавить описание этого модуля. В данном
случае это модуль FirstWebClientApplication, причем добавление
должно быть в секции интерфейса, так как класс TWebService1
используется внутри класса TWinForm. - Поместив на форму необходимые компоненты и добавив для события нажатия
кнопки код
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Text := IntToStr(FirstService.Mult(StrToInt(TextBox1.Text),
StrToInt(TextBox2.Text)));
end;
вы получите клиентское приложение, обеспечивающее за счет Web-сервиса умножение
двух целых чисел.
КомпьютерПресс 6’2004
C++ Builder, developed by Embarcadero Technologies, offers two primary frameworks for building applications: the Visual Component Library (VCL) and the FireMonkey (FMX) framework. Both frameworks are powerful tools for developing applications, but they serve different purposes and have distinct features. This article introduces the VCL and FMX frameworks to help you understand their key differences and use cases.
Visual Component Library (VCL)
What is VCL?
The Visual Component Library (VCL) is a framework for developing Windows-based applications using C++. It provides a rich set of visual and non-visual components that simplify the creation of user interfaces and application logic. VCL is tightly integrated with the Windows API, making it an excellent choice for native Windows development. If you’re learning how to use C++ Builder IDE, VCL’s integration with the Windows environment is a fundamental aspect to grasp.
Key Features of VCL
- Windows-Specific: VCL is designed specifically for Windows applications, providing deep integration with the Windows operating system and its features.
- Rich Component Set: VCL offers a wide range of components, including standard controls like buttons, labels, edit boxes, and advanced components for database access, networking, and multimedia.
- Rapid Development: The visual design environment in C++ Builder, combined with VCL’s components, allows for rapid application development (RAD). Developers can drag and drop components onto forms and set properties visually.
- Native Performance: Applications built with VCL are compiled into native Windows executables, offering high performance and responsiveness.
Use Cases for VCL
- Desktop Applications: VCL is ideal for creating traditional desktop applications with rich user interfaces.
- Business Software: VCL’s robust component library is well-suited for developing business applications that require database access, reporting, and complex user interactions.
- Legacy Systems: VCL is often used to maintain and update legacy Windows applications due to its long-standing presence and compatibility.
FireMonkey (FMX)
What is FMX?
FireMonkey (FMX) is a cross-platform framework for developing applications that run on multiple operating systems, including Windows, macOS, iOS, and Android. FMX allows developers to write a single codebase and deploy it across different platforms, making it a versatile solution for modern application development.
Key Features of FMX
- Cross-Platform: FMX supports multiple platforms, enabling developers to create applications for Windows, macOS, iOS, and Android from a single codebase.
- Modern UI: FMX offers advanced graphics capabilities, including 2D and 3D graphics, allowing developers to create visually appealing and modern user interfaces.
- Flexible Styling: FMX provides a flexible styling system that lets developers customize the appearance of their applications to match different platforms and user preferences.
- Multi-Device Support: FMX applications can adapt to different screen sizes and resolutions, ensuring a consistent user experience across desktops, tablets, and smartphones.
Use Cases for FMX
- Mobile Applications: FMX is well-suited for developing mobile applications that need to run on both iOS and Android.
- Cross-Platform Software: Developers can use FMX to create applications that need to be deployed on multiple platforms without rewriting code for each target OS.
- Graphically Intensive Applications: FMX’s support for advanced graphics makes it an excellent choice for applications that require rich visual elements, such as games and multimedia software.
Comparing VCL and FMX
VCL is tailored for native Windows applications, making it a perfect choice for traditional desktop software and business applications that rely on Windows-specific features. Its deep integration with the Windows API ensures high performance and responsiveness.
On the other hand, FMX excels in creating cross-platform applications with a single codebase, making it suitable for modern applications that need to run on multiple platforms. FMX’s advanced graphics capabilities and flexible styling system allow for the development of visually appealing and modern user interfaces.
Conclusion
Both VCL and FMX frameworks offer powerful tools for application development in C++ Builder, each catering to different needs. VCL is the go-to choice for native Windows applications with a focus on business software and legacy systems, while FMX excels in creating cross-platform applications with modern user interfaces and advanced graphics. Understanding the strengths of each framework will help you choose the right tool for your project.
This entry was posted in Beginner Tutorials. Bookmark the permalink.
Delphi’s VCL (Visual Component Library) is a powerful framework for building desktop applications with a visual user interface. Here is an overview of how to work with Delphi’s VCL:
- Understand the VCL Hierarchy: The VCL is organized in a hierarchical structure, where each component is derived from the base class TComponent. This hierarchy allows you to create complex applications by combining and extending existing components.
- Creating Forms: Forms are the main building blocks of a Delphi application. They serve as containers for visual components. You can create a new form by selecting ‘File’ -> ‘New’ -> ‘Other…’ -> ‘Delphi Files’ -> ‘Form’. Double-clicking on the form in the Project Manager will open the form designer.
- Adding Components: The VCL provides a vast array of pre-built components that you can add to your form. To add a component, open the ‘Tool Palette’ (press Ctrl+Alt+P) and select the desired component. Click and drag it onto the form. You can adjust properties of components in the ‘Object Inspector’ window.
- Event Handling: Components in Delphi have events associated with them, such as button clicks or form load. To handle events, double-click on a component, and Delphi will generate a blank event handler for you. Write your custom code in these event handlers to respond to user actions or system events.
- Managing Layout: Delphi provides various layout and alignment options to arrange components on a form. You can use properties like Align, Anchors, Margins, and Constraints to control how components resize and reposition when the form is resized.
- Customizing Appearance: You can customize the appearance of components by modifying their properties. Delphi provides a rich set of properties to control visual aspects such as colors, fonts, sizes, and styles. You can also use custom graphics or images to enhance the appearance of your application.
- Handling Interactions: Interaction between components can be managed using built-in methods and properties. For example, you can show message boxes, open dialogs, or navigate between forms using various methods provided by components.
- Testing and Debugging: Delphi provides a powerful debugger that allows you to set breakpoints, step through code, and inspect variables and objects at runtime. This helps in identifying and fixing issues in your application.
- Deployment: Once you have built your application, you can compile it into an executable file. Delphi includes options to create standalone executables or installer packages for distribution. Make sure to test the final version of your application on different computers to ensure compatibility.
Remember, this is just a brief overview of working with Delphi’s VCL. Delphi offers many more advanced features and capabilities that can make your application development process even more powerful and efficient.
Best Borland Delphi Books to Read in 2025
1
Rating is 5 out of 5
Delphi Cookbook: Recipes to master Delphi for IoT integrations, cross-platform, mobile and server-side development, 3rd Edition
2
Rating is 4.9 out of 5
Delphi Programming for Dummies
3
Rating is 4.8 out of 5
The Little Book Of Delphi Programming: Learn To Program with Object Pascal (Little Programming Books)
4
Rating is 4.7 out of 5
Mastering Borland Delphi: A Comprehensive Guide
5
Rating is 4.6 out of 5
Borland Delphi Second Edition
6
Rating is 4.5 out of 5
Delphi GUI Programming with FireMonkey: Unleash the full potential of the FMX framework to build exciting cross-platform apps with Embarcadero Delphi
How to design a multi-tabbed interface using Delphi’s VCL?
To design a multi-tabbed interface using Delphi’s VCL, you can follow these steps:
- Open Delphi and create a new VCL application project.
- Add a TPageControl component to the main form. This control represents the tabbed interface.
Set the Align property to alClient to make the control fill the entire form. - Add multiple TTabSheet components to the TPageControl component.
Each TTabSheet represents a new tab in the interface.
Set the Caption property of each TTabSheet to specify the title of the tab. - Design the contents of each tab by adding controls to the TTabSheet components.
You can add buttons, labels, edits, or any other controls you need. - Use the OnChange event of the TPageControl component to handle tab changes.
Go to the Object Inspector, select the TPageControl component, and find the OnChange event.
Double-click the event or click the ellipsis button to create an event handler.
In the event handler, you can write code to perform actions when the user switches tabs.
That’s it! You have now designed a basic multi-tabbed interface using Delphi’s VCL framework. You can customize the appearance and behavior of the tabs and controls as per your requirements.
How to create a new VCL application in Delphi?
To create a new VCL application in Delphi, follow these steps:
- Open Delphi IDE (Integrated Development Environment).
- Click on «File» in the menu bar, then select «New» and choose «VCL Forms Application» from the options.
- A new project will be created with a default form.
- Click on «Save All» to save the project and related files to a desired location on your computer.
- Customize the form by adding various components and controls from the «Tool Palette» on the left-hand side of the IDE. You can drag and drop components onto the form.
- Modify the properties and events of the components to set the desired behavior and appearance of the application.
- Write the necessary code to implement the desired functionality of the application. This can be done in the form’s event handlers or by creating custom procedures and functions.
- Build and run the application by clicking on the «Run» button or by pressing F9.
- Test the application to ensure it functions as expected.
- When you’re satisfied with the application, you can distribute it by creating an installer or a standalone executable file.
Note: The exact steps may vary slightly depending on the version of Delphi you are using, but the basic process remains the same.
What is the role of the TImageList component in Delphi’s VCL?
The TImageList component in Delphi’s VCL (Visual Component Library) is used to manage a collection of images that can be used in other controls or components in an application. It acts as a centralized repository for images that can be easily shared and referenced by other visual elements.
Some key roles of the TImageList component are:
- Image storage: It allows developers to add and store multiple images of different sizes and formats. These images can be imported from external files or created at runtime.
- Image management: The TImageList component provides methods and properties to manage the image collection, such as adding, removing, replacing, or reordering images.
- Efficient rendering: By using a TImageList component, the application can avoid reloading and rendering the same image multiple times. It reduces memory consumption and rendering overhead since multiple controls can use the same image from the TImageList.
- Simplified image handling: The TImageList component simplifies working with images by providing methods to manipulate and retrieve images based on their indexes or names. This makes it easier to handle and use images in controls like TButton, TBitBtn, TListView, TTreeView, etc.
- Displaying images in controls: The TImageList component can be associated with controls that display images, such as TImage, TImageListBox, TToolButton, TMenuItem, etc. These controls can specify which image to display based on the index or name of the image in the TImageList.
In summary, the TImageList component in Delphi’s VCL acts as a centralized image repository, enabling efficient image handling and sharing across various controls and components in an application.
What is the significance of the TMemo component in Delphi’s VCL?
The TMemo component in Delphi’s VCL (Visual Component Library) is significant because it provides a multi-line text editing and display control. It allows users to enter, view, and edit large amounts of text data.
The significance of the TMemo component lies in its various features and uses:
- Text editing: TMemo provides a platform to edit plain or formatted text with features like copy, cut, paste, undo, redo, etc.
- Large text storage: TMemo allows users to input or display large amounts of text that may not fit in a single line input or display control. It supports multi-line input and provides vertical and horizontal scroll bars to navigate the text.
- User interaction: TMemo allows users to interact with the text by selecting portions, changing font properties, applying formatting, setting text alignment, etc.
- Text manipulation: TMemo provides functions to search for specific text, replace text, insert or delete lines, and perform other manipulations on the entered text.
- Event-driven programming: TMemo raises various events, such as OnChange, OnClick, OnDblClick, etc., which can be used to trigger actions or run code in response to user interactions with the text.
- Data storage and retrieval: TMemo can store and retrieve text data. It can be used to edit content that needs to be saved to a database or a file.
Overall, the TMemo component is significant for applications that require text input, editing, and display functionality, such as word processors, text editors, chat applications, note-taking apps, and more.
What is the significance of the TPageControl component in Delphi’s VCL?
The TPageControl component in Delphi’s VCL is a visual control that allows users to organize and display multiple pages or tabs of content. It serves as a container for other controls and provides a convenient way to create multi-page interfaces.
The significance of the TPageControl component lies in its ability to simplify user interface design and enhance the user experience. Some of its key features and benefits include:
- Tabbed Interface: TPageControl provides a tabbed interface where each tab represents a separate page. Users can switch between these pages by clicking on the corresponding tabs, making it easy to navigate through various sections of an application.
- Hierarchical Organization: TPageControl allows for a hierarchical organization of controls by grouping related controls on each page. This helps in structuring the user interface and making it more intuitive, as users can find related controls in a specific tab/page.
- Space Efficiency: By utilizing the tabbed control, TPageControl saves screen space by presenting information in a compact and organized manner. It eliminates the need for separate windows or panels for each section, resulting in a more efficient use of screen real estate.
- Customization: TPageControl offers various customization options, allowing developers to modify the appearance and behavior to match the application’s design and requirements. This includes customization of tab styles, colors, fonts, and the ability to add icons or images to tabs.
- Event Handling: Each tab/page in TPageControl is associated with its own set of events, such as OnShow, OnHide, OnChange, etc. This enables developers to implement specific actions or functionality when a particular tab/page is selected or shown.
Overall, the TPageControl component provides developers with a powerful and user-friendly tool for creating multi-page user interfaces, enhancing navigation, and improving the overall usability of Delphi applications.