після створення об'єкта форми (після конструктора), що дозволяє виконати попередню настройку вже створених компонентів. Даная можливість використовується для підключення до сервера БД Oracle при запуску програми.
В· ADOConnectionAfterConnect (TObject * Sender) - даний метод викликається об'єктом ADOConnection після того як підключення до БД здійснено успішно, при цьому в рядку стану відображається повідомлення "Готово".
В· ActionExportXLSExecute (TObject * Sender) - виконує дію ActionExportXSL (див. вище).
В· ActionDistribution2DExecute (TObject * Sender) - виконує дію ActionDistribution2D (див. вище).
В· DataSetBeforeOpen (TDataSet * DataSet) - даний обробник викликається одним з компонентів набору даних ADOTable або ADOQuery, що є сигналом того, що починається вибірка даних. При цьому подію обробник засікає час початку операції.
В· DataSetAfterOpen (TDataSet * DataSet) - обробник події виникає після того як вибірка даних завершилася, при цьому фіксується час закінчення операції. Різниця часів засеченного до початку операції і після її завершення дасть загальний час виконання. Також у даному обробнику формується повідомлення "Вибрані рядків (% d), стовпців (% d) за час% f сек.", Яке потім відображається в рядку стану.
2.3 Модуль XLSExportDialogUnit.cpp
Модуль XLSExportDialogUnit містить реалізацію форми, яка виконує завдання експорту даних з таблиць Excel в СУБД Oracle (Малюнок 2). Зв'язок з таблицею Excel також здійснюється через інтерфейс ADO. При цьому алгоритм підключення до таблиці Excel аналогічний, тому що використовується при підключенні до сервера Oracle, за винятком вмісту рядка підключення, яка повинна мати наступний вигляд. br/>
"Provider = Microsoft.Jet.OLEDB.4.0;"
"Password =% password;"
"User ID =% user;"
"Data Source =% file;"
"Extended Properties = 'Excel 8.0; HDR = Yes; IMEX = 1'"
де% user - ім'я користувача,
% password - пароль користувача,
% file - шлях до файлу таблиці.
Якщо файл розташований на локальному комп'ютері, то ім'я користувача та пароль можна опустити.
Так як користувач може працювати з різними файлами таблиць Excel, то тут, всупереч рекомендаціям, використовується ручна установка параметрів підключення. Для цієї мети в модулі оголошена статична змінна строкового типу ConnectionStringTemplate, що містить шаблон рядка підключення, в яку, за допомогою функції Format через заповнювачі виду% s впроваджуються потрібні параметри. <В
Малюнок 2. Знімок вікна форми експорту даних з таблиці Excel
Форма TXLSExportDialog містить наступні компоненти:
В· TDBGrid * DBGrid - компонент для перегляду даних вибраної таблиці Excel.
В· TProgressBar * ProgressBar - прихована від користувача панель прогресу, яка з'являється при виконанні операції експорту, щоб у користувача не створилося враження того, що програма "зависла". Так як операція експорту займає тривалий час (~ 20 секунд, при експорті таблиці містить 5305 рядків і 93 стовпців), то необхідно відобразити хід виконання операції для приблизної оцінки часу її закінчення.
В· TActionList * ActionList - компонент управління списком дій даної форми.
В· TFileOpen * ActionFileOpen - об'єкт-дейстие вибору XLS-файлу, яке показує стандартний діалог відкриття файлу.
В· TAction * ActionExport - об'єкт-дія дозволяє користувачеві почати операцію експорту.
В· TAction * ActionUpdateTargetTableSelect - дана дія оновлює список таблиць в елементі вибору цільової таблиці TargetTableSelect.
В· TAction * ActionCreateTable - дія дозволяє користувачеві створити нову таблицю на сервері БД сумісну за кількістю стовпців з таблицею Excel.
В· TComboBox * SourceTableSelect - елемент вибору таблиці з XLS-файлу.
В· TButton * ButtonExport - кнопка запуску операції експорту, її натискання обробляється дією ActionExport, який у свою чергу призводить до спрацьовування методу ActionExportExecute (див. далі...