Interested Article - Turbo Vision

Turbo Pascal

Turbo Vision — это объектно-ориентированная библиотека для разработки событийно-управляемых оконных программ, выполняющихся в текстовом видеорежиме дисплея и имитирующих GUI . Создана компанией Borland на основе идей, позаимствованных из библиотеки MacApp ( Apple Computer ). Turbo Vision была реализована как на языке Turbo Pascal , так и на C++ . Borland включила Turbo Vision в свои продукты Turbo Pascal 6.0 (для Macintosh и DOS ), Borland Pascal и Borland C++. Причём Turbo Vision была использована самой Borland для разработки IDE этих продуктов.

Turbo Vision включала в себя объекты для работы с коллекциями, потоками данных , ресурсами, панелями, меню, кнопками и радиокнопками, строками ввода, окнами, обработкой команд. Оконная система использовала событийный механизм , предлагала набор интерфейсных элементов, диалоговые окна , механизм сохранения пользовательских настроек.

В 1997 г. Borland открыла исходные тексты Turbo Vision на C++ на условиях общественного достояния . Версии же Turbo Vision из дистрибутивов Borland/Turbo Pascal никогда не выпускались под свободной лицензией, поэтому проект Free Pascal воссоздал свою собственную версию, Free Vision, путем обратного портирования в текстовый режим графического клона, созданного Леоном де Буром на основе свободной C++ версии .

Исходные тексты Pascal-версии Turbo Vision 1.0 поставлялись в комплекте с Turbo Pascal 6.0, а исходники Turbo Vision 2.0 включались в Borland Pascal 7.0 и Turbo Pascal 7.0. В комплекты поставок также входили многочисленные примеры использования библиотеки различного уровня сложности: файловый менеджер, текстовый редактор, шахматы.

Основные возможности

  • Поддержка работы GUI в текстовом режиме
  • Мультиплатформенность (если рассматривать все реализации).
  • Диалоговые окна.
  • Многократные перекрывающиеся окна с изменяемыми размерами.
  • Стандартная обработка клавиш и нажатий мыши.
  • Кнопки, полосы скроллинга , окна ввода, зависимые и независимые кнопки.
  • Выпадающие меню.
  • Поддержка мышки.
  • Встроенная установка цвета.
  • Реализация на базе ООП даёт возможность расширения через механизм «наследования».

В библиотеке активно используется указатели и динамические переменные, так как почти все экземпляры объектов Turbo Vision динамически распределяются в « куче ».

Недостатки

Основным недостатком Turbo Vision можно считать достаточно высокую (для целевой платформы) потребность в оперативной памяти. На типовом для времени выхода библиотеки компьютере с процессором 8086 c 1 Мб ОЗУ под управлением ОС DOS подключение к проекту Turbo Vision часто приводило к необходимости использования оверлейной структуры программы (динамической загрузки кода по частям во время исполнения). Во многом это связано с тем, что в открытой версии, поставлявшейся со средами программирования Borland, библиотеки были написаны с использованием средств ООП , что само по себе приводило к большому расходу оперативной памяти. При этом в самой Borland IDE, по утверждениям исследовавших код хакеров, использовался ассемблерно-оптимизированный вариант, гораздо более экономный по объёму кода и затратам памяти.

Оригинальный Turbo Vision страдал от отсутствия поддержки Unicode, что сильно ограничивало возможности интернационализации приложений. На октябрь 2020 существуют Unicode-версии для C++ и Free Pascal .

Реализации сторонних разработчиков

На языке Pascal:

На языке C++:

  • TVision port to the GNU compiler (DOS, FreeBSD , Linux , QNX , Solaris и Win32)
  • TVision авторства Sergio Sigala ( Linux и FreeBSD )
  • Turbo Vision авторства magiblot с поддержкой Unicode на C++17 (DOS, Linux, Windows)

Графические версии:

  • Graphics Vision от MKM Software (под DOS, Windows , Linux )
  • Super Vision
  • GraphVision

Известные программы, написанные с использованием Turbo Vision

Литература

  • Фаронов В. В. Turbo Pascal. Наиболее полное руководство, BHV-Санкт-Петербург,2007, ISBN 5-94157-295-6 , CD

Примечания

  1. . Дата обращения: 7 февраля 2022. 7 февраля 2022 года.
  2. magiblot. . — 2020-10-30. 1 ноября 2020 года.
  3. . wiki.freepascal.org . Дата обращения: 7 февраля 2022. 6 февраля 2022 года.
  4. (англ.) . GitLab . Дата обращения: 7 февраля 2022. 7 февраля 2022 года.
  5. . web.archive.org . Дата обращения: 12 февраля 2022.
  6. . pascal.sources.ru . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.
  7. . tpdn.ru . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.
  8. . tvision.sourceforge.net . Дата обращения: 12 февраля 2022. 19 августа 2006 года.
  9. . www.sigala.it . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.
  10. . www.math.ucdavis.edu . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.
  11. . pascal.sources.ru . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.
  12. . tpdn.ru . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.
  13. . pascal.sources.ru . Дата обращения: 12 февраля 2022. 12 февраля 2022 года.

Ссылки

Источник —

Same as Turbo Vision