Вивчаємо програмування в GUPTA Team Developer. Крок 1 – Запуск і настройка додатків. Основні функції

Зміст



Дана стаття є першою в циклі статей під загальною назвою "Вивчаємо програмування в Team Developer / GUPTA", в якому ми постараємося дати початківцю програмних продуктів Gupta Technologies всю необхідну інформацію для вивчення програмування і отримання навичок створення інформаційних систем. У ній ми розглянемо основні поняття і стандартні об'єкти програмування на TD. По завершенню освоєння користувач зможе самостійно створити своє перше додатків у вигляді EXE файлу. При цьому, для практичного освоєння програмування, читач може завантажити демонстраційну версію продукту з нашого сайту і, орієнтуючись безпосередньо на текст статті, приступити до вивчення. Тут ми не будемо описувати основні програмні продукти фірми Gupta Technologies (Team Developer – TD і СУБД – SQLBase), інформація про них є в інших статтях нашого сайту.


Введення


В якості базових засобів розробки використовується продукт Team Developer. Інші назви цих засобів розробки (можливо відомі нашим читачам) – SQLWindows, Centura Builder і Centura Team Developer. Основною мовою програмування є мова SAL, Який багато в чому схожий на мову СІ, але має ряд особливостей, що спрощують процес програмування інформаційних систем. Для вивчення роботи з БД ми скористаємося продуктом SQLBase, який у локальному варіанті включений в продукт TD і існує як окремий SQL сервер БД – СУБД. Ми будемо орієнтуватися на версії: TD 2.1 і SQLBase 8.0, Хоча всі дії описуються в статтях ви зможете реалізувати практично для будь-якої версії програмних продуктів.


Запуск TD і збереження програми


Після інсталяції TD, яка виконується в режимі майстра підказок, ви можете запустити засоби розробки будь-яким відомим Вам способом, наприклад, з системного меню Windows:



1. START-> PROGRAMS-> CENTURA-> Team Developer 2.1-> SQLWindows 2.1.


На екрані висвітитися стандартне вікно – Рис. 1 з порожнім додатком (стандартна назва в заголовку – Application1).










2.

Для збереження додатку необхідно виконати наступні дії: МЕНЮ FILE-> SAVE AS .. , Вибрати потрібний каталог і ввести будь-яке ім'я, ми назвемо додаток STEP1.APP. Програми в TD мають розширення .app. Про інші можливі розширеннях (*. APL та *. APT) для збереження ми будемо говорити пізніше.

3. Для зручності роботи включимо і розмістимо на екрані по своєму смаку спеціальні вікна дизайнера: палітру об'єктів (Controls), асистента кодування (Coding assistant) і вікно налаштування властивостей об'єктів (Attribute Inspector). При цьому для різноманітності, скористаємося гарячими клавішами: Alt+2, Alt+3, Alt+4. Ці клавіші працюють в режимі "тригера". Крім цього можна скористатися меню (TOOLS->Controls і т.д.) або відповідними кнопками панелей інструментів.

Рис. 1. Первісне вікно TD після запуску


На рис. 2 показано вікно TD після виконаних дій.

Рис. 2. Вікно TD після збереження програми та включення вікон дизайнера


У нашому випадку (зліва направо), розташовані такі вікна:



Розміри і розташування вікон можуть бути підібрані користувачем за смаком і залежно від дозволу дисплея довільно. Крім того, користувач може створювати різні огляди (VIEW) З потрібними налаштуваннями.


Обробка повідомлень додатку і виклик стандартної функції


Додаток (Application) є стандартним об'єктом і обробляє тільки такі стандартні повідомлення:



Зауважимо, що в асистента кодування дані повідомлення з'являються при виділенні рядка Application Action, Для чого потрібно лівою кнопкою одноразово клацнути зліва від ромбика (а). Якщо Ви виділіть інший розділ тексту (OUTLINE) з глобальних визначень (Global Declarations) Додаток, то вміст вікна підказки змінитися відповідно до контексту виділеного розділу.










4.

Для створення реакції на запуск програми двічі клацнемо на рядку з SAM_AppStartup. Після цього вікно підказки розділиться на дві частини, тому що ми можемо: і створити нову реакцію на інше повідомлення (Add same level) Або почати кодувати текст підпрограми реакції (Add next level). У другому випадку нам доступні основні оператори мови SAL (Зауважимо принагідно, що спостерігається велика схожість з операторами універсальних мов програмування, зокрема з СІ).

5. Виберемо рядок з оператором CALL (Виклик функцій і процедур). Спочатку будемо викликати найпростішу функцію WINDOWS (MsgBox) для формування віконних повідомлень на екрані. У асистента кодування (відзначимо, що його вміст знову змінилося) в комбінованому списку виберемо розділ Sal Function (Це буде означати, що ми скористаємося стандартною бібліотекою SAL). У списку виберемо функцію SalMessageBox і двічі клацнемо, у результаті отримаємо рядок:


а Сall SalMessageBox (String, String, Number),


яка представляє собою шаблон виклики функції з підказками типів допустимих параметрів. Вручну замінимо параметри так:



а Call SalMessageBox ("Повідомлення запуску першої програм на TD!!", "Інформація", MB_Ok)


Примітки:


1. Для розділення рядка OUTLINE на частини потрібно в потрібному місці натиснути клавіші – Ctrl+Enter.
2. Константу MB_Ok ми можемо також отримати з асистента кодування, вибравши розділ констант (Constants).


6. Аналогічним чином створимо реакцію програми на повідомлення на SAM_AppExit:



а Call SalMessageBox ("Повідомлення завершення першої програм на TD!!", "Інформація", MB_Ok)


У результаті ми отримаємо наступний текст програми у реакції на стандартні повідомлення (Мал. 3):

Рис. 3. Фрагмент тексту обробки повідомлень для програми


Так детально ми описали дії програміста тільки для початкового знайомства, надалі будемо укрупнювати коментарі до дій. Перше просте застосування готове до роботи.


Компіляція і запуск програми


Для компіляції та запуску програми потрібно натиснути клавішу F7. Крім того, можна це зробити через меню дизайнера (DEBUG ->GO) Або панелі інструментів (орієнтуйтеся за піктограм, задублювання в меню). При виявленні помилок, компілятор видасть діагностику. У цьому випадку програму потрібно відкоригувати і запустити компіляцію і виконання заново.







7. Запустіть програму та перевірте, що на екрані двічі з'являться повідомлення при запуску і завершенні програми. Тексти повідомлень мають відповідати Вашим текстам, зазначеним у першому параметрі при виклику функції SalMessageBox. 

Рис. 11. Фрагмент тексту з використанням установки для програми


Якщо лічильник параметрів більше 1, то це означає, що крім імені програми в запуску присутній, принаймні, один параметр. Цей параметр виводиться у вікні повідомлення. Якщо лічильник параметрів дорівнює 1, то виводиться нульової параметр, що ідентифікує назву програми і шлях до нього.


17. Внесіть даний текст у будь-який фрагмент тексту, наприклад, в тіло обробки повідомлення SAM_AppExit і запустіть програму з командного рядка (наприклад, у FAR або іншим способом) причому двома наступними способами:



>step1.exe


і



> step1.exe Параметр


У другому випадку ви отримаєте наступне вікно повідомлення при виконанні даного фрагмента програми.

Рис. 12. Результат роботи фрагмента програми при завданні параметра


Наведені в цій статті дії та операції досить прості в освоєнні, але вони закладають основу для серйозної роботи програміста в середовищі TD. Думаємо, що через годину Ви виконаєте всі завдання, представлені в цій статті і будете самостійно експериментувати в рамках розглянутих тем і навіть ширше. У результаті Ви отримаєте додаток step1.app, Яке для перевірки засвоєння матеріалу можна завантажити тут.


Висновок


У наступній статті цього циклу ми розглянемо способи побудови користувальницького інтерфейсу і реалізації бізнес логіки в додатках. Дамо опис вікон різного виду, опишемо роботу з цими вікнами, віконними об'єктами, вивчимо побудова меню і кнопок інструментів.

Частина 2

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*