- BestProg
- Создание нового проекта в Embracadero RAD Studio 2010 (Delphi 2010)
- Содержание
- Выполнение
- 1. Запуск системы визуальной разработки приложений Delphi 2010
- 2. Создание Windows-приложения
- 3. Сохранение проекта
- 4. Рабочие файлы приложения
- 5. Запуск приложения
- Краткий практикум по Delphi 8
- Создание простейшего приложения Windows Forms
- Создание простейшего приложения VCL Forms Application
- Создание консольных приложений
- Создание приложений с базами данных
- Создание приложений ASP .NET
- Создание приложений ASP .NET с базами данных
- Создание и применение Web-сервисов
- Создание Web-сервиса
- Создание клиента для Web-сервиса
BestProg
Создание нового проекта в Embracadero RAD Studio 2010 (Delphi 2010)
В данной теме будет рассмотрено:
- этапы создания и запуска на исполнение Windows-приложения в системе Delphi 2010;
- основные типы файлов, создающихся системой Delphi 2010 при разработке Windows-приложений.
Содержание
Выполнение
Создание нового Windows-приложения в Delphi 2010 осуществляется стандартным способом. Ниже описаны шаги по созданию Windows-приложения.
1. Запуск системы визуальной разработки приложений Delphi 2010
Во время запуска системы на выполнение будет отображено следующее окно (рисунок 1).
Рис. 1. Процесс запуска Delphi 2010
После загрузки, система будет иметь вид, изображенный на рис. 2.
Рис. 2. Окно Delphi 2010 после запуска
2. Создание Windows-приложения
Для создания приложения Windows необходимо в главном меню вызвать следующую последовательность команд (рис. 3):
Рис. 3. Команда создания Windows-приложения в Delphi
В результате будет создана главная форма приложения (рис. 4), доступная в режиме проектирования.
Рис. 4. Главная форма приложения
Главная форма приложения по умолчанию имеет название Form1 . К ней можно применять различные способы изменения ее вида, поведения и т.д. с помощью панели Object Inspector .
3. Сохранение проекта
Первым делом, при разработке новой программы (приложения), есть правильное ее сохранение. Рекомендуется сохранять отдельный проект в отдельном, заранее подготовленном, каталоге.
Для сохранения проекта необходимо вызвать команду (рис. 5):
Рис. 5. Вызов команды сохранения всего проекта
Сохранение проекта в Delphi происходит в два этапа.
Сначала выводится стандартное окно «Save As» , в котором нужно указать место и название файла главной формы программы. Созданный файл имеет расширение «*.pas» . По умолчанию система предлагает файл (модуль) Unit1.pas (рис. 6).
Рис. 6. Окно сохранения модуля главной формы приложения
Следующим шагом сохранения является предложение сохранения всего проекта. Проект сохраняется в файле с расширением «*.dpr» .
Окно сохранения изображено на рис. 7.
Рис. 7. Сохранение проекта
4. Рабочие файлы приложения
После сохранения разрабатываемого проекта система Delphi создает несколько файлов. Опишем основные файлы, которые используются при проектировании приложений.
4.1. Файл проекта
Файл проекта имеет расширение «*.dpr» . Исполняемый модуль программы будет иметь точно такое же имя, какое имеет файл проекта.
Например, если файл проекта был назван myprog1.dpr тогда исполняемый модуль будет иметь название myprog1.exe .
Если рассмотреть исходный код файла проекта, то он имеет структуру стандартной Паскаль-программы. Листинг файла проекта в данном случае имеет вид:
В операторных скобках ( begin … end. ) фигурирует четыре вызова, осуществляющих начальную инициализацию приложения, установление и создание главной формы приложения а также запуск приложения.
4.2. Файл главной формы приложения
Созданный файл главной формы приложения имеет расширение «*.pas», в котором размещается непосредственно исполняемый код программы, написанный программистом. Здесь можно вписывать внутренние и внешние переменные, собственные процедуры, код обработки событий элементов управления размещенных на главной форме и другое. Файл формы реализован как отдельный модуль.
Параллельно с файлом формы система Delphi (любой версии) создает файл с расширением «*.dfm», в котором размещается информация описывающая форму (высота и ширина в пикселях, название заглавия и другое). Например, если при начальном сохранении было указано имя
main.pas ,
то автоматически создастся файл
main.dfm
Листинг файла *.dfm , описывающего форму в первоначальном виде следующий:
Как видно из листинга, новосозданная форма имеет заглавие ‘Form1’ (свойство Caption ), размер по высоте 206 пикселей ( ClientHeight ), размер по ширине 455 пикселей ( ClientWidth ) і т.д.
Каждая новая созданная форма в приложении так же будет иметь два файла описания с расширениями «*.pas» и «*.dfm» .
5. Запуск приложения
Запуск приложения осуществляется командой F9 или последовательным вызовом
После запуска видно, что наше приложение еще не выполняет никакой полезной работы и не содержит никаких элементов управления (компонент). Однако приложение уже может реагировать на команды системного меню (свернуть, развернуть, закрыть), комбинацию клавиш Alt+F4 (закрытие приложения) и вызов системного меню комбинацией клавиш Alt+’пробел’ .
Краткий практикум по Delphi 8
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
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.
В секции реализации автоматически сгенерированного каркаса приложения вставьте код:
Ниже приведен пример консольного приложения, которое благодаря директивам будет одинаково хорошо работать после компиляции на Delphi for .NET, Delphi 7 или Kylix 3, выдавая соответствующую строку:
writeln(‘Hello, .NET world!’);
writeln(‘Hello, Win32 world!’);
writeln(‘Hello, Linux world!’);
ReadLn; //чтобы задержать выполнение
Следующий пример — консольное приложение, работающее с файлами:
1. Выберите опцию меню File=>New=>Other=>Delphi for .Net Projects Console Application.
2. В секции реализации автоматически сгенерированного каркаса приложения вставьте код.
WriteLn (‘Демонстрашка работы с файлами!’);
WriteLn(FT, ‘Hello, developer!’);
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.
При переносе приложения на другой компьютер важно, чтобы база данных employee.gdb лежала в определенном месте (например, d:/data) — иначе потребуется переопределять экземпляр компонента bdpConnection1.
Выравнивание таблицы относительно формы можно осуществить с помощью свойств Anchor и Dock.
При добавлении к проекту ссылок командой Add Reference… не допускается наличие пробелов в пути.
Создание приложений ASP .NET
Замечание. Если вы хотите инсталлировать Delphi 8 с целью создания приложений ASP .NET, то на компьютере уже должны быть установлены службы Internet Information Services. Если ISI были установлены после Delphi 8, то для корректной работы ASP .NET-приложения следует ввести команду:
Для создания приложений ASP .NET:
- Выберите опции меню File=>New=>ASP.NET Web Application, после чего появится диалог: New Item.
Задав в нем значение поля Name, определите имя и место расположения нового приложения. Нажав кнопку View Server Option, вы получите возможность ввода дополнительных параметров.
Для большинства ASP .NET-проектов расширение не требуется — достаточно нажать кнопку OK.
Inc(mycount);
button1.Text := ‘ Hello, developer!’;
button1.Text := button1.Text + ‘ ENTER N’+IntToStr(mycount);
Предварительно в области описания глобальных переменных модуля WebForms1.pas следует определить переменную mycount.
При конструировании этого приложения проявились две функциональные особенности, свойственные технологии 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.
Дважды щелкнув на таблице, вы увидите ее на форме в процессе конструирования.
Используя списки Tables и Columns, можно выбрать комплект необходимых для вывода полей из таблицы. С помощью закладок SELECT, UPDATE, INSERT и DELETE посредством команд SQL можно пополнить коллекцию полей. Затем нужно перейти на закладку DataSet и установить опцию New DataSet, определяющую форму выходного набора данных. После закрытия диалогового окна Data Adapter Configuration в окне невизуальных компонентов появится экземпляр DataSet1.
Выберите команду Column и отмените опцию Create columns automatically at run-time.
Создание и применение Web-сервисов
Web-сервисы создаются аналогично ASP.NET-приложениям.
Создание Web-сервиса
- Выберите опции меню File=>New=>Other. New Item — появится диалог, в котором надо выбрать иконку ASP.NET Web Service Application. В результате новый проект будет называться FirstWebServiceApplication и располагаться в директории c:\inetpub\wwwroot\FirstWebServiceApplication.
function TWebService1.Mult(p1, p2: integer): integer;
begin
Result := p1 * p2;
end;
Выбрав функцию, предоставляемую приложением (в нашем случае единственную — Mult), задав значение фактических параметров и нажав кнопку Invoke, получим результат в виде XML-файла.
Создание клиента для 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);
вы получите клиентское приложение, обеспечивающее за счет Web-сервиса умножение двух целых чисел.