Меню
Главная
Случайная статья
Настройки
|
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++ версии[1].
Исходные тексты 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++[2] и Free Pascal[3][4].
Реализации сторонних разработчиков
Название проекта
|
Активен
|
Последний релиз
|
Последнее обновление
|
Поддержка Юникода
|
Язык
|
Графическая
|
Платформы
|
Лицензия
|
Turbo Vision (magiblot)[2][5]
|
Да
|
Стабильных релизов нет (согласно GitHub)[2][5]
|
2025-05-15 !На май 2025 проект активен[5]
|
Да |
C++[2][5]
|
Нет |
DOS, Linux, Windows[2][5]
|
MIT[5]
|
Free Vision[6][3][4]
|
Да |
FPC 3.2.2[7]
|
2025-02-17 !На февраль 2025 проект активен[8]
|
Да |
Pascal[6][3][4]
|
Нет |
Большинство платформ, поддерживаемых FPC (протестировано на Linux и Windows)[6][3][4]
|
LGPL с исключениями для связывания[6]
|
TVision port to the GNU compiler[9]
|
Нет |
2.0.3[9]
|
2016-11-17 !17 ноября 2016[9]
|
Нет |
C++[9]
|
Нет |
DOS, FreeBSD, Linux, QNX, Solaris и Win32[9]
|
GPL[9]
|
Порт для Virtual Pascal[10]
|
Нет |
2.1 Build 279[10]
|
2004-05-13 !13 мая 2004[10]
|
Нет информации
|
Pascal[10]
|
Нет |
Windows, OS/2, Linux[10]
|
Нет информации
|
GraphVision[11][12]
|
Нет |
2.01[11][12]
|
2001-04-23 !23 апреля 2001 (дата файла)[11]
|
Нет информации
|
Pascal[11][12]
|
Да |
DOS (графический режим)[11][12]
|
Нет информации
|
TVision (Sergio Sigala)[13]
|
Нет |
0.8[13]
|
2001-08-10 !10 августа 2001[13]
|
Нет |
C++[13]
|
Нет
|
Linux и FreeBSD[13]
|
BSD-like[13]
|
Порт для TMT Pascal[14][15]
|
Нет
|
Не указан
|
2000-08-18 !18 августа 2000 (дата файла)[15]
|
Нет информации
|
Pascal[14][15]
|
Нет
|
DOS (TMT Pascal)[14][15]
|
Нет информации
|
Graphics Vision (MKM Software)[16]
|
Нет
|
3.0 (DOS/DPMI/Windows), 2.10R2, 2.01 (DOS)[16]
|
1999-02-09 !9 февраля 1999 (версия 3.0)[16]
|
Нет информации
|
Pascal[16]
|
Да
|
DOS, Windows, Linux (GV/FPC), DPMI[16]
|
Бесплатно для индивидуального использования, коммерческая лицензия, DOS-библиотеки - LGPL[16]
|
Super Vision[17]
|
Нет
|
2.2[17]
|
1900-01-01 !Неизвестно
|
Нет информации
|
Pascal [17]
|
Да
|
DOS (SVGA)[17]
|
Нет информации
|
Программы, использующие Turbo Vision
Литература- Фаронов В. В. Turbo Pascal. Наиболее полное руководство, BHV-Санкт-Петербург,2007, ISBN 5-94157-295-6, CD
Примечания
- Free Vision (неопр.). Дата обращения: 7 февраля 2022. Архивировано 7 февраля 2022 года.
- 1 2 3 4 5 6 magiblot. magiblot/tvision. — 2020-10-30. Архивировано 1 ноября 2020 года.
- 1 2 3 4 5 Free Vision - Free Pascal wiki (неопр.). wiki.freepascal.org. Дата обращения: 7 февраля 2022. Архивировано 6 февраля 2022 года.
- 1 2 3 4 5 Free Vision for linux platform does not properly display the Russian language. (#21373) · Issues · FPC / FPC / FPC Source (англ.). GitLab. Дата обращения: 7 февраля 2022. Архивировано 7 февраля 2022 года.
- 1 2 3 4 5 6 7 magiblot/tvision: A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support. (неопр.) GitHub. Дата обращения: 27 октября 2023.
- 1 2 3 4 5 Free Vision - Free Pascal wiki (неопр.). wiki.freepascal.org. Дата обращения: 12 февраля 2022.
- Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page (неопр.). www.freepascal.org. Дата обращения: 31 мая 2025.
- Commits · main · FPC / FPC / FPC Source · GitLab
- 1 2 3 4 5 6 Turbo Vision port to the GNU compiler and more (неопр.). tvision.sourceforge.net. Дата обращения: 12 февраля 2022. Архивировано 19 августа 2006 года.
- 1 2 3 4 5 Virtual Pascal: Article / Main Features (неопр.). web.archive.org. Дата обращения: 12 февраля 2022.
- 1 2 3 4 5 Скачать GraphVision v2.01. Графический TV - Turbo Pascal (неопр.). tpdn.ru. Дата обращения: 12 февраля 2022. Архивировано из оригинала 12 февраля 2022 года.
- 1 2 3 4 GraphVision v2.01. Графический TV (неопр.). pascal.sources.ru. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
- 1 2 3 4 5 6 TVision homepage (неопр.). www.sigala.it. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
- 1 2 3 Turbo Vision 2.0 Ported to TMT Pascal (неопр.). pascal.sources.ru. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
- 1 2 3 4 Скачать Turbo Vision 2.0 Ported to TMT Pascal - Turbo Pascal (неопр.). tpdn.ru. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
- 1 2 3 4 5 6 MKM Software (неопр.). www.math.ucdavis.edu. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
- 1 2 3 4 Graphics Vision v2.2 - Turbo Vision for SVGA Graphix (неопр.). pascal.sources.ru. Дата обращения: 12 февраля 2022. Архивировано 12 февраля 2022 года.
- Rudge, Owen (24 марта 2025), orudge/osplus, Дата обращения: 28 мая 2025
- tmbasic/THIRD-PARTY-NOTICES.md at master · tmbasic/tmbasic (англ.). GitHub. Дата обращения: 28 мая 2025.
- 1 2 Free Software for DOS, Text Editors (неопр.).
- 1 2 magiblot (17 мая 2025), magiblot/tvterm, Дата обращения: 28 мая 2025
Ссылки
|
|