Turbo Vision
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 14 iulie 2019; verificările necesită
19 modificări .
Turbo Vision este o bibliotecă orientată pe obiecte pentru dezvoltarea de programe cu ferestre bazate pe evenimente care rulează în modul de afișare video bazat pe text și imită un GUI . Creat de Borland pe baza ideilor împrumutate din biblioteca MacApp ( Computer Apple ). Turbo Vision a fost implementat atât în Turbo Pascal , cât și în C++ . Borland a inclus Turbo Vision în produsele sale Turbo Pascal 6.0 (pentru Macintosh și DOS ), Borland Pascal și Borland C++, Turbo Vision fiind folosit de Borland însuși pentru a dezvolta IDE -ul pentru aceste produse.
Turbo Vision a inclus obiecte pentru lucrul cu colecții, fluxuri de date , resurse, panouri, meniuri, butoane și butoane radio, linii de intrare, ferestre, procesare comenzi. Sistemul de ferestre a folosit un mecanism de evenimente , a oferit un set de elemente de interfață, casete de dialog și un mecanism pentru salvarea setărilor utilizatorului.
În 1997, Borland a lansat sursele C ++ pentru Turbo Vision pentru domeniul public . Versiunile de Turbo Vision din distribuțiile Borland/Turbo Pascal nu au fost niciodată lansate sub o licență gratuită, așa că proiectul Free Pascal și-a recreat propria versiune, Free Vision, prin backporting în modul text o clonă grafică creată de Leon de Boer pe baza gratuită. Versiunea C++ [1] .
Sursele Turbo Vision 1.0 Pascal au fost incluse cu Turbo Pascal 6.0, iar sursele Turbo Vision 2.0 au fost incluse cu Borland Pascal 7.0 și Turbo Pascal 7.0. Kiturile de distribuție au inclus și numeroase exemple de utilizare a bibliotecii de diferite niveluri de complexitate: un manager de fișiere, un editor de text și șah.
Caracteristici cheie
- Suport pentru operarea GUI în modul text
- Multiplatformă (dacă luăm în considerare toate implementările).
- casete de dialog.
- Mai multe ferestre redimensionabile suprapuse.
- Manevrarea standard a tastelor și clicurilor mouse-ului.
- Butoane, bare de defilare , casete de introducere, butoane dependente și independente.
- Meniuri derulante.
- Suport mouse.
- Setare de culoare încorporată.
- Implementarea bazată pe OOP permite extensibilitatea prin mecanismul de „moștenire”.
Biblioteca folosește pe scară largă pointerii și variabilele dinamice, deoarece aproape toate instanțele de obiecte Turbo Vision sunt alocate dinamic pe heap .
Dezavantaje
Principalul dezavantaj al Turbo Vision poate fi considerat o nevoie destul de mare (pentru platforma țintă) de RAM. Pe un computer DOS obișnuit cu un procesor 8086 cu 1 MB de RAM, conectarea la proiectul Turbo Vision a dus adesea la necesitatea utilizării unei structuri de program suprapuse (încărcarea dinamică a codului în părți în timpul rulării). Acest lucru se datorează în mare parte faptului că, în versiunea deschisă care a venit cu mediile de programare Borland, bibliotecile au fost scrise folosind instrumente OOP , ceea ce a dus în sine la un consum mare de RAM. În același timp, IDE-ul Borland însuși, potrivit hackerilor care au examinat codul, a folosit o versiune optimizată pentru asamblare, care era mult mai economică în ceea ce privește dimensiunea codului și costurile de memorie.
Turbo Vision original a suferit din cauza lipsei suportului Unicode, ceea ce a limitat sever capacitatea de a internaționaliza aplicațiile. Din octombrie 2020, există versiuni Unicode pentru C++ [2] și Free Pascal [3] [4] .
Implementări de la terți
În Pascal:
În limbajul C++:
- Portul TVision către compilatorul GNU (DOS, FreeBSD , Linux , QNX , Solaris și Win32) [8]
- TVision de Sergio Sigala ( Linux și FreeBSD ) [9]
- Turbo Vision de magiblot cu suport Unicode în C++17 (DOS, Linux, Windows) [2]
Versiuni grafice:
Programe notabile scrise folosind Turbo Vision
Literatură
- Faronov V. V. Turbo Pascal. Cel mai complet ghid, BHV-Sankt Petersburg, 2007, ISBN 5-94157-295-6 , CD
Link -uri
Note
- ↑ Viziune liberă . Consultat la 7 februarie 2022. Arhivat din original pe 7 februarie 2022. (nedefinit)
- ↑ 1 2 magiblot. magiblot/tvision . — 30.10.2020. Arhivat la 1 noiembrie 2020.
- ↑ 1 2 Free Vision - Free Pascal wiki . wiki.freepascal.org . Consultat la 7 februarie 2022. Arhivat din original pe 6 februarie 2022. (nedefinit)
- ↑ 1 2 Free Vision pentru platforma Linux nu afișează corect limba rusă. (#21373) Probleme FPC / FPC / FPC Sursa . gitlab . Consultat la 7 februarie 2022. Arhivat din original pe 7 februarie 2022.
- ↑ Virtual Pascal: Articol / Caracteristici principale . web.archive.org . Preluat: 12 februarie 2022. (nedefinit)
- ↑ Turbo Vision 2.0 Portat la TMT Pascal . pascal.sources.ru _ Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)
- ↑ Descărcați Turbo Vision 2.0 Portat la TMT Pascal - Turbo Pascal . tpdn.ru. _ Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)
- ↑ Portul Turbo Vision către compilatorul GNU și multe altele . tvision.sourceforge.net . Data accesului: 12 februarie 2022. Arhivat din original la 19 august 2006. (nedefinit)
- ↑ Pagina de pornire TVvision . www.sigala.it . Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)
- ↑ Software MKM . www.math.ucdavis.edu . Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)
- ↑ Graphics Vision v2.2 - Turbo Vision pentru SVGA Graphix . pascal.sources.ru _ Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)
- ↑ Descărcați GraphVision v2.01. Graphic TV - Turbo Pascal . tpdn.ru. _ Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)
- ↑ GraphVision v2.01. TV grafic . pascal.sources.ru _ Preluat la 12 februarie 2022. Arhivat din original la 12 februarie 2022. (nedefinit)