Навчальний приклад простий сервіс datasnap xe - калькулятор - програмні продукти
Abstract: У цій статті розглядається створення простого сервісу Delphi XE на прикладі "калькулятора", які реалізує базові функції арифметичних обчислень. Цей покроковий навчальний приклад дуже простий, тому навіть починаючі програмісти Delphi зможуть його відтворити. Метою цього навчального прикладу є знайомство з процесом створення клієнтів і серверів DataSnap. Наш простий "калькулятор у вигляді сервісу" має на увазі клієнтське і серверне додаток. Обидві програми - Delphi VCL Forms Win32, а для зв'язку використовується протокол TCP / IP. Сподіваємося, вам сподобається!
Першим кроком є створення нового серверного додатка DataSnap з використанням майстра "DataSnap Server".
Запустіть Delphi XE.
На першій сторінці залиште за замовчуванням опцію "Project type" як "VCL Forms Application".
На другій сторінці майстра також залиште вже обрані опції. Далі ми замінимо демонстраційні методи (Sample Methods) сервера нашими варіантами.
На третьому зображенні ми залишимо значення за замовчуванням "211" для номера порту TCP / IP. Намагайтеся завжди проводити перевірку доступності порту шляхом натискання на кнопку "Test Port".
На останній сторінці ми збираємося також скористатися опцією за замовчуванням для вибору базового класу як "TComponent", від якого буде проводитися наш клас, який реалізує методи сервера.Натисніть на кнопку "Finish", а майстер створить новий проект з трьома модулями.
Збережіть весь проект вибором "File -> Save All".
Створіть нову папку для всіх файлів для даного навчального прикладу "C: \ DataSnapLabs \ SimpleCalc".
Збережіть головну форму додатку як "FormServerUnit", а для інших імен скористайтеся стандартними назвами - "ServerContainerUnit1" і "ServerMethodsUnit1" - і збережіть проект як "SimpleCalcServer".
На цій стадії в вікні Delphi Project Manager ви бачите таку картину:
Відкрийте модуль "ServerMethodsUnit1.pas" і реалізуйте функціональність простого сервісу, що виконує арифметичні дії. Замініть демонстраційні методи, додані майстром ( "EchoString" і "ReverseString"), на потрібні нам варіанти "Add" ( "скласти"), "Subtract" ( "відняти"), "Multiply" ( "помножити") і "Divide" ( "розділити").
Вихідний код для модуля "ServerMethodsUnit1" повинен виглядати наступним чином:
Ви повністю реалізували наш сервер. Для того щоб реалізувати клієнтську програму, сервер повинен бути запущений.
Виберіть "Run -> Run Without Debugging" для запуску сервера (поза відладчика) і мінімізуйте його вікно.
Не переривайте роботу серверного додатка до закінчення навчального прикладу.
Клацніть правою кнопкою миші на project group всередині Project Manager і виберіть "Add New Project".
Натисніть "OK". До існуючої project group повинен додатися новий проект.
Виконайте збереження нового проекту "File -> Save All".
Виберіть папку, яку ви створили для збереження файлів проекту сервера, і збережіть туди головну форму клієнтської програми як "FormClientUnit", сам проект як "SimpleCalcClient", а всю project group як "SimpleCalcGrp".
Тепер вікно Project Manager має виглядати як:
Перевірте, що проект клієнтського додатка активний, потім виберіть "File -> New -> Other", а в діалозі "New Items" виберіть "DataSnap Client Module".
Як і минулого разу, будь ласка, збережіть всі опції за замовчуванням під час роботи з майстром.
На першій сторінці залиште "DataSnap server location" як "Local server".
Наш сервер DataSnap є "stand alone" (незалежне окремий додаток), тому просто натисніть "Next".
Ми погодилися використовувати "TCP / IP" в якості протоколу, тому збережемо обрану опцію.
Натисніть на "Test Connection", щоб перевірити, чи дійсно сервер "слухає" порт 211, а потім натиснемо "Finish".
Майстер додати два модуля до нашого клієнтського додатку "ClientClassesUnit1" і "ClientModuleUnit1".
Останньою завданням в цьому навчальному прикладі є реалізація інтерфейсу клієнтської програми.
Тепер в коді форми клієнта потрібно правильно використовувати методи, експоновані (пропоновані) через властивість "ClientModule1.ServerMethods1Client". Ці методи мають ті ж імена і сигнатури, як і методи, реалізовані на сервері.
Нижче показана реалізація головної форми клієнтського додатку.
Остаточно моя форма виглядає наступним чином:
Напевно, вам не потрібно розповідати, як відтворити її!
Тепер ви бачите, як просто створювати сервера і клієнти DataSnap і використанням Delphi XE J
У цьому навчальному прикладі ми використовували Delphi XE для побудови простого сервісу DataSnap XE у вигляді калькулятора, який на рівні реалізації являє собою додатки Win32, при обміні даними між якими використовується протокол TCP / IP.