Console Vision - Konzolos ablakkezelő Delphiben
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:
- alkalmazás keret
- gomb
- listbox
- szövegbeviteli mező
- szerkesztő
- legördölő lista
- meghajtó-legördülő lista
- címke
- jelölőnégyzet
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:
- SQL lekérdezőt (egy editboxba várja a query-t és egy táblázatban visszadobja az eredményt)
- DPG-hez szöveges e-mail olvasót
Github repository: ConsoleVision @ Github