Програмування в VisualFoxPro 7.0
В Visual FoxPro є можливість зберігати в таблицях самі об'єкти або зв'язок з об'єктами, які створені в додатку, що підтримує механізм скріплення і впровадження (OLE). Основна відмінність між зв'язуванням і впровадженням полягає в тому, яким чином дані запам'ятовуються і оновлюються після того, як їх помістили в базу даних.
При зв'язуванні дані оновлюються, коли змінюється вихідний файл. Пов'язані дані запам'ятовуються в вихідному файлі; в базі даних зберігаються тільки відомості про місце розташування вихідного файлу. Впроваджені об'єкти зберігаються в базі даних. Якщо встановити на впроваджений об'єкт покажчик і двічі клацнути мишею, відкриється додаток, в якому об'єкт був створений. У ньому можна редагувати впроваджений об'єкт, при цьому змінені дані записуються в базу даних.
Об'єкт, який впроваджується або зв'язується, називається OLE-об'єктом. Оригінальну програму, в якому був створений OLE-об'єкт, називається додатком-сервером, а додаток, в яке впроваджується або з яким зв'язується OLE-об'єкт, - додатком-клієнтом.
Visual FoxPro і OLE-об'єкти
В Visual FoxPro OLE-об'єкти можуть зберігатися і відображатися тільки в полях типу General (Загальний). Для впровадження OLE-об'єкта в таблицю Visual FoxPro виконайте наступні дії:
- Для вставки OLE-об'єкта двічі клацніть на полі типу General (Загальний), що містить значення gen. Відкриється вікно редагування цього поля (рис. 21.2).
- У меню Edit (Правка) виберіть команду Insert Object (Вставити об'єкт). Відкриється діалогове вікно Вставка об'єкта (рис. 21.3).
- Це діалогове вікно містить два перемикача, що надають два варіанти включення OLE-об'єкта:
- Створити новий - дозволяє створити новий OLE-об'єкт і вставити його в поле;
- Створити з файлу - дозволяє розмістити в полі таблиці OLE-об'єкт з файлу.
При виборі перемикача Створити новий виберіть із запропонованого списку Тип об'єкта сервер, який хочете використовувати для створення об'єкта, і натисніть кнопку ОК. Відкриється програма, в якому створіть об'єкт, після чого поверніться в Visual FoxPro.
Для використання існуючого об'єкта виберіть перемикач Створити з файлу. Діалогове вікно прийме інший вигляд. Скориставшись кнопкою Огляд, знайдіть необхідний файл і вставте його вміст в поле таблиці.
В Visual FoxPro для зберігання складних текстів можна використовувати поле типу General (Загальний), запровадивши в нього або зв'язавши з ним документ текстового процесора.
Мал. 21.2. Вікно редагування поля типу General
Мал. 21.3. Діалогове вікно Вставка об'єкта
Впровадження нового OLE-об'єкта
Розглянемо процедуру впровадження нового OLE-об'єкта на прикладі поля gimage таблиці Goods.
Мал. 21.4. Створення зображення товару
- Закрийте сервер OLE. Для цього клацніть в будь-якому місці вікна поза області редагування, після чого створений вами об'єкт буде розміщений в поле типу General (Загальний) (рис. 21.5).
Мал. 21.5. Розміщення в поле таблиці нового OLE-об'єкта
Якщо вам буде потрібно внести зміни у вбудований OLE-об'єкт, відкрийте таблицю в режимі Browse (Огляд) і двічі клацніть на необхідному значенні. В результаті відкриється вікно редагування поля типу General (Загальний). Для редагування зображення використовується команда Точковий малюнок Object (Об'єкт) з меню Edit (Правка).
Дана команда має власне меню, яке містить опції Змінити і Відкрити, що визначають режим редагування зображення (див. Рис. 21.5). При виборі опції Змінити меню і панелі інструментів OLEсервера впроваджуються безпосередньо в Visual FoxPro (див. Рис. 21.4). При виборі опції Відкрити відкривається додаток OLE-сервера (рис. 21.6), в якому ви можете редагувати зображення поля типу General (Загальний).
Мал. 21.6. Відкрите додаток OLE-сервера для редагування зображення
Впровадження OLE-об'єкта з файлу
Для впровадження в поле таблиці OLE-об'єкта з файлу виконайте наступні дії.
- Відкрийте таблицю в режимі Browse (Огляд).
- Встановіть курсор на поле типу General (Загальний) і двічі клацніть кнопкою миші. Відкриється вікно редагування поля.
- У меню Edit (Правка) виберіть команду Insert Object (Вставити об'єкт).
- У діалоговому вікні Вставка об'єкта виберіть перемикач Створити з файлу. Вікно прийме вигляд, представлений на рис. 21.7.
Мал. 21.7. Діалогове вікно Вставка об'єкта при обраному перемикачі Створити з файлу
- Натисніть кнопку Огляд.
- У діалоговому вікні Огляд (рис. 21.8) виберіть файл, який містить необхідний об'єкт. Для установки необхідного типу об'єкта необхідно використовувати список Тип файлів, розташований в нижній частині діалогового вікна. Вибравши файл, натисніть кнопку Відкрити.
- Повернувшись в діалогове вікно Вставка об'єкта, натисніть кнопку ОК. OLE-об'єкт буде розміщений в поле типу General (Загальний).
Мал. 21.8. Діалогове вікно Огляд
Щоб зв'язати OLE-об'єкт з основною копією об'єкта на сервері, можна скористатися командою Insert Object (Вставити об'єкт) або Paste Special (Спеціальна вставка) з меню Edit (Правка). Розглянемо обидва варіанти.
Команда Insert Object
Для розміщення в поле таблиці Visual FoxPro OLE-об'єкта зі зв'язком за допомогою команди Insert Object (Вставити об'єкт) виконайте наступні дії:
- Відкрийте таблицю Goods в режимі Browse (Огляд).
- Перейдіть в поле типу General (Загальний) і двічі клацніть на ньому для його відкриття.
- Виберіть в меню Edit (Правка) команду Insert Object (Вставити об'єкт).
- У діалоговому вікні Вставка об'єкта виберіть перемикач Створити з файлу.
- Натисніть кнопку Огляд.
- У діалоговому вікні Огляд виберіть необхідний файл і натисніть кнопку Відкрити.
- У діалоговому вікні Вставка об'єкта встановіть прапорець Зв'язок (рис. 21.9) і натисніть кнопку ОК.
Мал. 21.9. Встановлено прапорець Зв'язок
Мал. 21.10. Зв'язування OLE-об'єкта
Команда Paste Special
Для розміщення в поле типу General (Загальний) OLE-об'єкта зі зв'язком за допомогою команди Paste Special (Спеціальна вставка) виконайте наступні дії:
- Відкрийте програму-сервер і запам'ятайте пов'язується об'єкт в тимчасовому буфері Windows.
- Відкрийте вікно редагування поля типу General (Загальний).
- У меню Edit (Правка) виберіть команду Paste Special (Спеціальна вставка). На екрані з'являється діалогове вікно Спеціальна вставка (рис. 21.11). Об'єкт, що знаходиться в тимчасовому буфері Windows, описаний в діалоговому вікні як Джерело. У списку Як перераховані допустимі формати для цього об'єкта.
Мал. 21.11. Діалогове вікно Спеціальна вставка
Для зміни об'єкта в поле типу General (Загальний) зі пов'язаного на запроваджений необхідно видалити об'єкт з поля за допомогою команди Cut (Вирізати) з меню Edit (Правка), а після цього вставити об'єкт назад в поле, але без зв'язування.
Мал. 21.12. Діалогове вікно Зв'язки
У списку Зв'язки представлені всі зв'язки об'єкта в табличному вигляді із зазначенням шляху і імені файлу джерела, а також типу об'єкта і режиму поновлення зв'язку.
У діалоговому вікні розміщені кнопки, що мають призначення, описане в табл. 21.1.
Таблиця 21.1. Призначення кнопок діалогового вікна Зв'язки
Розриває зазначену зв'язок. В результаті об'єкт стає статичним, що не допускає зміни або поновлення
Перемикач Оновлення визначає режим поновлення зв'язку і містить два перемикача: Автоматичне, Вручну. При встановленій опції Автоматичне оновлення зв'язаних об'єктів здійснюється автоматично. Якщо встановлена опція Вручну, тоді для відновлення об'єктів необхідно натиснути кнопку Оновити зараз.
Більшість OLE-об'єктів можна редагувати. Для цього відкрийте вікно редагування поля типу General (Загальний), що містить, наприклад, такі OLE-об'єкти, як електронна таблиця Microsoft Excel, документ Word або малюнок Paint і двічі клацніть мишею. Відкриється програма-сервер для редагування об'єкта.
Для редагування точкових малюнків виберіть команду Растровий малюнок Object (Об'єкт) в меню Edit (Правка), а потім команду Змінити або Відкрити, які доступні у вікні редагування поля типу General (Загальний). Для редагування документа Word в меню Edit (Правка) з'являється команда Документ Object, а для редагування електронної таблиці - Лист Object (Об'єкт).
Щоб видалити OLE-об'єкт з поля типу General (Загальний), виконайте команду Clear (Очистити) з меню Edit (Правка).
Використання об'єктно-орієнтованого програмування
В Visual FoxPro для управління OLE-об'єктами можна використовувати об'єктно-орієнтоване програмування.
Для створення OLE-об'єкта в Visual FoxPro призначена команда CREATEOBJECT.
Передача даних в Microsoft Excel за допомогою OLE
У розглянутому прикладі використовуємо дані з таблиці cntcust для побудови діаграми розподілу клієнтів по містах в програмі Microsoft Excel за допомогою OLE-об'єктів,
- В меню File (Файл) виберіть команду New (Новий), встановіть опцію Program (Програма) і натисніть кнопку New file (Новий файл). Відкриється нове вікно редагування програм.
- Для встановлення зв'язку з Microsoft Excel, передачі в нього даних і побудови діаграми введіть наступні команди:
* Передача даних з таблиці CntCust в Excel
Експорт в текстовий файл, який використовується електронною таблицею MultiPlan
В поле введення From (Форма) діалогового вікно Export (Експорт) необхідно вказати ім'я експортованої таблиці, а в поле Те (В) - ім'я файлу, в який буде записуватися результат експорту.
Після того як ви вказали ім'я вихідної таблиці, стає доступною кнопка Options (Параметри), при натисканні на яку відкривається діалогове вікно Export Options (Параметри експорту) (рис. 21.15). У цьому діалоговому вікні для вибору записів таблиці, що експортуються в вихідний файл, ви можете використовувати кнопки Scope (Кордон), For (Для), While (Поки).
Мал. 21.15. Діалогове вікно Export Options
За допомогою кнопки Fields (Поля) можна відкрити діалогове вікно Field Picker (Вибір поля), в якому вибрати поля вихідної таблиці для експорту (рис. 21.16).
Мал. 21.16. Діалогове вікно Field Picker
У цьому розділі ми обговоримо імпорт даних з форматів інших додатків в таблицю Visual FoxPro. Для імпорту даних скористаємося послугами майстра.
- Щоб запустити майстра імпорту даних в таблицю Visual FoxPro, в меню Tools (Сервіс) виберіть команду Wizards (Майстри), а потім Import (Імпорт).
Для запуску майстра імпорту ви також можете скористатися командою Import (Імпорт) з меню File (Файл). У цьому випадку на екрані з'являється діалогове вікно Import (Імпорт), в якому необхідно натиснути кнопку Import Wizard (Майстер імпорту).
- На першому кроці імпорту даних за допомогою майстра (рис. 21.17) ви вказуєте формат файлу, що імпортується, використовуючи список File Type (Тип файлу). За допомогою кнопки Locate (Визначити) ви задаєте в поле Source File (Файл джерела) ім'я вихідного файлу. Потім установкою відповідної опції вам необхідно вказати, в нову таблицю ви імпортуєте файл або в існуючу, і задати ім'я таблиці.
Завершивши установку параметрів, натисніть кнопку Next (Далі).
Мал. 21.17. Перший етап роботи майстра: вибір типу файлу, що імпортується
Мал. 21.18. Визначення формату даних
Мал. 21.19. Визначення заголовків і типів полів
- На п'ятому кроці роботи майстра імпорту задаються формати відображення дат, кодових сторінок, грошових одиниць і чисел (рис. 21.20).
- Після завершення установок на останньому кроці роботи майстра натисніть кнопку Finish (Готово), і на основі даних файлу, що імпортується буде створена таблиця Visual FoxPro.
Мал. 21.20. Завдання форматів відображення даних
Використання даних з Visual FoxPro в Microsoft Word
Дані, що містяться в таблицях Visual FoxPro, можна використовувати в інших додатках Windows. Наприклад, в Microsoft Word ви можете підготувати етикетки для наклейки на конверти для розсилки своїм клієнтам, використовуючи для цього дані, розміщені в таблиці Customer.
Для злиття даних з Visual FoxPro і Microsoft Word необхідно використовувати майстер. Щоб його запустити, в меню Tools (Сервіс) виберіть команду Wizards (Майстри) і в підменю - Mail Merge (Складання листів). Злиття даних здійснюється за допомогою майстра за кілька кроків.
- На першому кроці майстер пропонує вибрати таблицю і поля, які використовуються для злиття (рис. 21.21). Перенесіть необхідні поля в список Selected fields (Вибрані поля) і натисніть кнопку Next (Далі).
Перед запуском майстра закрийте базу даних.
Мал. 21.21. Вибір таблиці і полів
- На третьому кроці майстер пропонує помістити дані в новий або вже існуючий документ (рис. 21.23). При виборі перемикача Use existing document (Існуючий документ) стає доступною кнопка File (Файл), що відкриває діалогове вікно Open (Відкрити) для вибору заздалегідь підготовленого документа.
- Якщо ви хочете розмістити дані у знову створюваному документі, то на четвертому кроці майстра необхідно визначити тип створюваного файлу (рис. 21.24), вибравши один з перемикачів групи Select a document type (Вибір типу документа). У табл. 21.3 описані перемикачі групи Select a document type (Вибір типу документа) і типи створюваних файлів.
Мал. 21.23. На даному етапі ви можете вибрати створений раніше документ
Таблиця 21.3. Перемикачі групи Select a document type
Тип створюваного документа
Вибравши необхідну опцію, натисніть кнопку Next (Далі) для переходу до останнього кроку майстра.
- На останньому кроці роботи майстра слід натиснути кнопку Finish (Готово). Якщо встановлений драйвер ODBC, то все завершиться успішно. Запуститься Microsoft Word і відкриється документ Word, в якому буде встановлено зв'язок з вибраними даними.
- Додайте текст в документі. Для вставки полів встановіть курсор в потрібне місце, натисніть кнопку Додати поле злиття і виберіть зі списку то поле, яке потрібно. Пояснювальний текст вставляється безпосередньо в область введення.
Мал. 21.24. Вибір типу створюваного документа
- Натисніть кнопку Об'єднати. Відкриється вікно Злиття, в якому ви можете вказати параметри злиття. У нашому прикладі виберіть зі списку Призначення опцію Новий документ і залиште інші параметри без зміни. Можливість відбору записів не представляє великого інтересу, т. К. Засоби створення запиту в Visual FoxPro набагато багатше. Для остаточного об'єднання даних натисніть кнопку Об'єднати.
Результат злиття даних наведено на рис. 21.25.
Мал. 21.25. Документ, отриманий в результаті злиття
Чи знаєте Ви, що електромагнітне та інші поля є різні типи коливань, деформацій і варіацій тиску в ефірі.
Поняття ж "фізичного вакууму" в релятивістської квантової теорії поля має на увазі, що по-перше, він не має фізичної природи, в ньому лише віртуальні частинки у яких немає фізичної системи відліку, це "фантоми", по-друге, "фізичний вакуум" - це найнижча стан поля, "нуль-точка", що суперечить реальним фактам, так як, насправді, вся енергія матерії міститься в ефірі і немає іншої енергії і іншого носія полів і речовини крім самого ефіру.
НОВИНИ ФОРУМУ
Лицарі теорії ефіру