CV #52het - 52 projekt

Console Vision - Konzolos ablakkezelő Delphiben

- 1999-2005 -

Számítástechnikai karrierem elején két szoftvert volt rám elég nagy hatással, az egyik a Turbo Pascal fejlesztői felülete, a másik pedig a FAR Manager. Utóbbit egyébként mai napig használom, szerintem a világ egyik legjobb eszköze a produktivitás növelésére.

Mindkettőben közös, hogy ablakos kezelőfelületet ad (mint a Windows), alapvető eszközökkel, mint a gombok, legördülő listák, jelölőnégyzetek, stb. Látván, hogy ezeket a szoftvereket milyen könnyű használni és mennyire hatékonyak, ilyen szoftvereket akartam csinálni én is.

A FAR Manager önmagában jó volt, sajnos fizetős is, de volt belőle shareware verzió. A forráskódja zárt volt, ráadásul nem is Pascalban íródott, amiről akkor már volt fogalmam, hanem C-ben. Szóval, ha valami zavart, akkor nem volt lehetőségem annak megváltoztatására, ezért első körben azt tűztem ki célul, hogy újraírom a FAR Managert, hogy számomra sokkal jobban használható legyen.

Már hallottam a Turbo Vision-ről, de nem tudtam pontosan, hogy mi az: később kiderült, hogy ez a Turbo Pascal előre elkészített ablakkezelő eszköztára. Nem is baj egyébként, hogy nem szereztem róla tudomást olyan korán - nem annyira tetszett ez a megvalósítás.

Így hát nekiláttam a saját implementációmnak, először Turbo Pascalban:

Nos igen, eljutottam addig a pontig, hogy van két gomb, enter lenyomására "besüllyednek", valamint az aktív gombnak nem fehér, hanem sárga a színe. A projektet itt egy kicsit félreraktam.

Pár évvel később, amikor már megismertem a Delphit és az OOP-t (objektum-orientált programozást) mélyebben, és amíg kizárólag Windows-os ablakos alkalmazásokat készítettem, ismét felmerült az ötlet, hogy hogyan lehetne mégis visszatérni a konzolra - kiderült, hogy egy sorral többet kell írni a forráskódba és kész.

A ConsoleVision első nyoma 2002-01-25-én van az archívjaim között, nem akkor kezdtem (ha a kommentek nem hazudnak, akkor 2000-ben), mert már elég sok minden készen volt ekkor:

Készítettem egy "demo" alkalmazást is, ami megmutatja, hogy mi mindent lehet csinálni ezzel a készlettel:

És így néz ki a "FAR Manager" alternatíva, amit sikerült összehozni:

Idő közben pár egyéb programot is csináltam vele:

Github repository: ConsoleVision @ Github