Turbo Vision

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

В 1997 г. Borland открыла исходные тексты Turbo Vision на C++ и на их основе сторонние разработчики стали создавать свои реализации библиотеки. Исходные тексты Pascal-версии Turbo Vision 1.0 поставлялись в комплекте с Turbo Pascal 6.0, а исходники Turbo Vision 2.0 включались в Borland Pascal 7.0 и Turbo Pascal 7.0. В комплекты поставок также входили многочисленные примеры использования библиотеки различного уровня сложности. В частности был файловый менеджер, текстовый редактор, шахматы. Шахматы можно было собрать либо с использованием Turbo Vision, либо в простом текстовом режиме, или под Win16 с использованием библиотеки OWL. На основе исходных кодов Turbo Vision энтузиастами были созданы версии Turbo Vision для различных Pascal-компиляторов (в том числе мультиплатформенных), а также версии, работающие в графическом режиме.

Основные возможности[править | править вики-текст]

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

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

Недостатки[править | править вики-текст]

  • Большинство реализаций предназначены для текстового видеорежима.
  • Использование ООП приводит к большому расходу оперативной памяти (для DOS это критично).
  • Исходная версия не была оптимизирована, причём в самом Borland IDE умельцами был замечен ассемблерно-оптимизированный вариант, что заодно снижало размер кода.
  • Проприетарность (только в отношении исходной версии для Turbo Pascal).
  • По возможностям уступает библиотекам Visual Component Library и Lazarus Component Library.

Turbo Vision от Borland (C++ и Turbo Pascal)[править | править вики-текст]

Начиная с 6-й версии, в поставку TP/BP включалась объектная библиотека Turbo Vision, представляющая собой полноценную инфраструктуру (англ. framework) для создания оконных приложений, работающих в текстовом режиме. В частности, интерфейс самой среды разработки TP/BP был реализован средствами этой библиотеки. Turbo Vision включала в себя объекты для работы с коллекциями, потоками данных, ресурсами, панелями, меню, кнопками и радиокнопками, строками ввода, окнами, обработкой команд. Оконная система использовала событийный механизм, предлагала достаточно богатый набор интерфейсных элементов, диалоговые окна, механизм сохранения пользовательских настроек. Turbo Vision можно было рассматривать и как демонстрацию обширных возможностей Turbo Pascal, и как мощную основу для создания собственных приложений. Библиотека поставлялась с исходными текстами.

В 7-й версии Turbo Pascal использовалась вторая версия Turbo Vision. Был добавлен объект оконного редактора, фильтры ввода.

Версия библиотеки Turbo Vision, на языке C++, полностью аналогичной на Turbo Pascal, также входила в поставку Borland C++.

Реализации сторонних разработчиков[править | править вики-текст]

На языке Pascal:

На языке C++:

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

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

Применение[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]