- •Розділ 1. Об’єктно-орієнтоване програмування
- •Тема 1.1. Візуальне програмування.
- •Тема 1.2. Приклади та застосування інкапсуляції, успадкування, поліморфізму.
- •Тема 1.3. Бібліотека візуальних компонентів vcl та її базові класи.
- •1. Клас tWinControl.
- •2. Клас tСustomControl.
- •3. Клас tGraphicControl.
- •Тема 1.4. Обробка виняткових ситуацій.
- •1. Використовування виняткових ситуацій.
- •2. Протоколювання виняткових ситуацій.
- •3. Коди помилок у виняткових ситуаціях.
- •4. Виняткова ситуація eAbort. Функція Assert.
- •Розділ 2. Мова програмування Object Pascal.
- •Тема 2.1. Середовище Delphi.
- •Тема 2.2. Елементи мови Object Pascal.
- •1. Коментарі.
- •2. Логічні вирази.
- •Тема 2.3. Типи даних, процедури та функції.
- •1. Вказівники та динамічна пам'ять. Динамічна пам'ять
- •Вказівники
- •Виділення і звільнення динамічної пам'яті
- •Процедури і функції для роботи з динамічною пам'яттю
- •Тема 2.4. Управляючі структури Object Pascal.
- •Розділ 3. Програмування в середовищі Delphi.
- •Тема 3.1. Застосування списків. Способи запису/читання зі списків.
- •Є списком CheckBox елементів.
- •Тема 3.2. Масиви.
- •1. Пошук мінімального (максимального) елементу масиву.
- •2. Пошук в масиві заданого елементу.
- •Тема 3.3. Робота з файлами.
- •Тема 3.4. Типи даних визначені програмістом.
- •1. Показники.
- •2. Динамічні змінні.
- •Тема 3.5. Графічні програми.
- •1. Бітові образи.
- •2. Мультиплікація.
- •Властивості компоненту Timer
- •Тема 3.6. Приклади застосування анімацій у Delphi.
- •Тема 3.7. Рекурсія.
- •1. Крива Гільберта.
- •2. Пошук шляху.|колії|
- •Значення властивостей компоненту stringGrid1
- •3. Пошук найкоротшого шляху.|колії|
- •Тема 3.8. Компоненти для інтернету. Компонента tSocketConnection
- •Розділ 4. Бази даних.
- •Тема 4.1. Види баз даних. Структура та зв’язки між таблицями. Бази даних
- •Класифікація баз даних
- •Структура бази даних
- •Модель бази даних в Delphi
- •Тема 4.2. Модифікація структури таблиці в bde.
- •1. Зміна структури таблиці.
- •2. Встановлення перевірок правильності даних.
- •3. Завдання вторинних індексів.
- •Тема 4.3. Об’єкти відображення даних бази даних Delphi.
- •1. Класифікація компонентів відображення даних.
- •2. Елемент керування тdbGrid.
- •3. Компонент tdbEdit.
- •4. Компонент tdNavigator.
- •Тема 4.4. Обчислювальні поля і поля підстановки в Delphi.
- •1. Створення поля підстановки (поля синхронного перегляду).
- •2. Обчислювальні поля.
- •Тема 4.5. Компонента tdbEdit.
- •Тема 4.6. Переміщення по записам таблиці. Набір методів і властивостей tDataSet. Огляд
- •Клас tDataSet
- •Відкриття і закриття DataSet
- •Тема 4.7. Налаштування фільтрів.|
- •Тема 4.8. Приклади застосування пошуку.
- •Тема 4.9. Поєднання різних видів пошуку.
- •Тема 4.10. Типи даних та пошук в діапазоні.
- •Список літератури
Тема 3.8. Компоненти для інтернету. Компонента tSocketConnection
Компонента TSocketConnection забезпечує з'єднання клієнта з сервером додатків за рахунок використовування сокетів TCP/IP. Для успішного відкриття з'єднання на стороні серверу повинен працювати сокет-сервер (додаток ScktSrvr.exe).
Для успішного з'єднання властивість
property Host: String;
повинне містити ім'я комп'ютера серверу.
Сокет-сервер ScktSrvr.exe
Додатково, властивість
property Address: String;
повинне містити Ip-адресу серверу.
Для відкриття з'єднання повинні бути задані обидва цих властивості.
Властивість
property Port: Integer;
встановлює номер порту, що використовується. За умовчанням це порт 211, але розробник вольний змінити порт, наприклад, для використовування різними категоріями користувачів або для створення захищеного каналу.
Після правильного вибору комп'ютера в списку властивості
property ServerName: string;
в Інспекторі об'єктів з'являється перелік доступних серверів Автоматизації. І після вибору серверу властивість
property ServerGUID: string;
яке містить ім'я комп'ютера GUID зареєстрованого серверу, задається автоматично, хоча його можна задати і уручну.
Метод
function GetServerList: OleVariant; virtual;
повертає список зареєстрованих серверів Автоматизації. Відкриття і закриття з'єднання здійснюється властивістю
property Connected: Boolean;
або методами
procedure Open;
procedure Close;
відповідно.
Канал сокета TCP/IP може бути зашифрований. Для цього використовується властивість
property InterceptName: string;
містить програмний ідентифікатор об'єкту СОМ, що забезпечує шифрування/дешифрування даних в каналі, і властивість
property InterceptGUID: string;
ім'я комп'ютера GUID цього об'єкту, що містить.
Цей об'єкт СОМ перехоплює дані в каналі і здійснює їх обробку, передбачену власним програмним кодом. Це може бути шифрування, стиснення, обробка шумів і т. д.
Примітка
Створення об'єкту СОМ, що забезпечує додаткову обробку даних в каналі, лягає на плечі розробника. Об’єкт-перехоплювач повинен підтримувати стандартний інтерфейс IDataintercept.
Природно, на стороні серверу повинен бути зареєстрований об'єкт СОМ, що виконує зворотну операцію. Для цього також використовується сокет-сервер. Рядок Interceptor на сторінці повинен містити ім'я комп'ютера GUID об'єкту-перехоплювача СОМ.
Реєстрація об'єкту-перехоплювача СОМ в сокет-сервері
Метод
function GetlnterceptorList: OleVariant; virtual;
повертає список зареєстрованих на сервері об'єктів-перехоплювачів.
Для організації передачі даних між клієнтом і сервером компонент TSocketConnection надає інтерфейс IAppServer
property AppServer: Variant;
який також може бути отриманий методом
function GetServer: lAppServer; override;
Властивість
property ObjectBroker: TCustomObjectBroker;
дозволяє використовувати екземпляр компоненту TSimpleObjectBroker для отримання списку доступних серверів під час виконання.
Методи-обробники подій компоненту TSocketConnection повністю співпадають з методами-обробниками компоненту TDCOMConnection.
Питання для самоконтролю:
Для чого призначена компонента TSocketConnection?
Яка властивість використовується для успішного з’єднання?
Яка властивість містить ІР-адресу сервера?
Яка властивість встановлює номер порту, що використовується?
Якими властивостями або методами здійснюється відкриття або закриття з’єднання?
