Політ: книга програмера  
0. Вступ
1. Особливості політівських програм
2. Події та їх обробники
3. Елементи керування: принципи, Button, Label, Check, Radio,
InpLine, PicCtl, Header, Progress, Track, TimerCtl, Notebook,
SpinEdit, PopupBtn, Switcher, MainMenu, Splitter, Memo, ListBox

Сайт Польоту
 

Вступ

Привіт!

Технічно Політ - графічна оболонка DOS, щось типу Windows версій до 95. Політівські програми мають віконця, кнопочки, іконки (графічний інтерфейс) та можуть працювати по кілька штук одночасно (багатозадачність). Крім багатозадачності та солідних засобів графічного інтерфейса, політівські програми можуть користуватися мишкою, різними графічними ефектами, графічними файлами різних форматів, Ini-файлами, довгими іменами файлів (LFN) і так далі.

Основна мова програмування під Політ - Borland Pascal, причому тексти політівських програм дуже нагадують Delphi. Об`єктів та класів у Польоті нема, але більшість основних понять схожі. Політівська програма теж складається із процедур - обробників різноманітних подій, теж має формочку (вікно), а в ньому - елементи керування, які мають властивості, методи та обробники. Ну і так далі. Навіть назви часто нагадують аналоги з Delphi.

Нарешті, ви це напевно знаєте, але мені подобається повторювати це :). Політ - абсолютно безкоштовний, всі його вихідні тексти відкриті (ліцензія GNU GPL), його розмір - трохи більше одного мегабайта. А ще він український.

Отже програміст, що взявся писати програму під Політ, отримує доступ до всіх можливостей усіх його модулей. Спробуємо перелічити їх.




Модуль Kernel (ядро)
  • керування програмами (запуск, закриття, обмін повідомленнями)
  • керування вікнами (створення, згортання, зміна розмірів, зміна заголовку, перемалювання, запам'ятовування положень і розмірів)
  • курсори мишки (завантаження, звільнення, вибір)
  • робота з ресурсами (файлами даних, що можуть бути спільними для кількох програм)
  • загальна підтримка елементів керування, оформлення рамок вікон, екранних заставок
  • показ хінтів, знімки екрана, запуск DOS-програм, вихід і перезавантаження Польоту


Модулі Ctl та Ctl2

Створення, керування, знищення та реакція на події елементів керування. Зараз зроблені наступні 24 елементи:
  • AnClock (аналоговий годинник)
  • Button (кнопка з опціональною іконкою)
  • Canvas (поле для малювання)
  • Check (флажок)
  • ColorSel (таблиця для вибору кольорів)
  • Header (напис-заголовок)
  • InpLine (поле вводу з опц. іконкою)
  • Label (напис заданого стилю та вирівнювання з опц. іконкою)
  • ListBox (список із опц. іконками, колонками, вирівнюванням, мульти-вибором, сортуванням)
  • MainMenu (головне меню
  • набір кнопок-меню)
  • Memo (текстовий редактор із блоковими операціями та автовизначенням кодировок DOS, WIN, KOI)
  • MonthCal (календар на 1 місяць для вибору дати)
  • Notebook (набір сторінок для інших елементів керування)
  • PicCtl (картинка)
  • PopupBtn (кнопка, що відкриває меню)
  • Progress (індикатор прогресу чи змійка, має визначений та невизначений стан)
  • Radio (радіокнопка)
  • Scroll (лінійка прокрутки, горизонтальна чи вертикальна)
  • SpinEdit (крутилка або поле вводу чисел зі стрілками для мишки)
  • Splitter (роздільна лінія, яку можна пересувати мишкою; горизонтальна або вертикальна)
  • Switcher (кнопка-перемикач)
  • TabSet (набір закладок)
  • TimerCtl (таймер для програм)
  • Track (трек-бар або бігунок, з різними стилями)


Модуль Gfx (графіка)
  • найпростіші графічні процедури (установка графічного режима, малювання точки, лінії, прямокутника, еліпса)
  • робота зі спрайтами, в тому числі більшими за 64КБ
  • створення, отримання, показ, звільнення
  • графічні ефекти
  • прозорий прямокутник, прозорий спрайт, затемнений, розмитий, "сталевий", смугастий, градієнтний прямокутник, тінь від прямокутника, м'яка тінь
  • підтримка картинок-скінів
  • завантаження і звільнення, прямокутник зі скіном
  • анімації
  • повільне підсвічення та згасання екрана, анімована рамка
  • робота з палітрами
  • завантаження, застосування яскравості та контрастності


Модуль Font (шрифт)

Завантаження шрифтів (власного формату), швидке виведення текстів.



Модуль Pic

Завантаження файлів форматів BMP (4- 8- та 24-бітних з опц. dithering'ом), CUR, GIF (87a, 89a).



Модуль Popup (меню)

Створення та показ багаторівневих меню. Елементами меню можуть бути команди, підменю, роздільні лінії, коментарі, флажки та радіокнопки. Працювати з меню можна як мишкою, так і з клавіатури.



Модуль Ini

Робота з Ini-файлами: завантаження кількох файлів, запис, звільнення, вибір секцій, читання та запис числових, текстових та логічних значень.



Модуль Log - файл журналу

Створення, запис повідомлень.



Модуль D (різне)
  • робота з прямокутниками (присвоєння, визначення вкладення, перетину)
  • перетворення чисел та рядків
  • робота зі вказівниками на рядки
  • розбір файлових шляхів
  • числові процедури (мінімум та максимум, знаходження в діапазоні, знак і так далі)
  • визначення швидкості машини, ОС, типів дисків, настройка клавіатури
  • обмін з буфером Windows


Модуль APMLib

Вимикання комп'ютера, перехід у "сплячий" режим.



Модуль AudioCD

Керування музичним компакт-диском.



Модуль LFN

Підртимка довгих імен файлів під Windows або DOS (із вільним драйвером DOSLFN).



Стандартні діалогові вікна

  • FileDlg
  • ColorDlg
  • FPropDlg


Сподіваюсь, на перших порах цього вистачить.