Visual FoxPro
Visual FoxPro je databázové programovací prostředí používané počítačích třídy PC v rámci systému MS Windows.
Vývojář | Maintenance mode |
---|---|
První vydání | 1984 |
Aktuální verze | 9.0 SP2 (11. říjen 2007) |
Operační systém | Microsoft Windows |
Typ softwaru | Databáze programovacího jazyka |
Licence | EULA |
Web | msdn.microsoft.com/vfoxpro |
Některá data mohou pocházet z datové položky. |
Visual FoxPro zároveň označuje příslušný programovací jazyk třídy dBase.
Visual FoxPro využívá procedury a patří do skupiny jazyků xBase.
Historie
Původní databázové prostředí dBase firmy Ashton-Tate (pracující na systémech CP/M a MS-DOS) doznalo obrovské popularity a stalo se de-facto standardem (především ve verzích "dBaseII" a "dBase 3"). Programy v tomto prostředí byly ukládány v textovém formátu, což sice umožnilo jejich snadnou správu, ale zároveň bylo příčinou velmi nízkého výkonu.
Na počátku 90. let byl značně populární a rozšířen pro svoji rychlost, stabilitu a v neposlední řadě i licenční politiku bezplatného šíření runtime pro běh vytvořených aplikací. Pro vývojové prostředí a vlastní aplikace je charakteristické použití myši a uživatelských oken. Navazuje na rozšířenou a ve své době populární FoxBASE.
Reakcí byl vznik konkurenčního databázového systému FoxBase (první verze byla vydána společností Fox Software v roce 1984), který byl shora kompatibilní (zahrnul programové prostředí) a doplňoval několik klíčových prvků:
- programy byly překládány do „mezikódu“, což umožňovalo výrazně vyšší rychlost běhu (až cca 50x)
- bylo možné používat i programy v textové formě (pak systém prováděl překlad automaticky během načítání do paměti)
- do systému byly doplněny nové a efektivnější metody vyhledávání a tvorby indexů (které výrazně zrychlily tyto operace)
- bylo možné volně distribuovat "zakompilované" programy (přeložené do mezikódu) společně s malým běhovým modulem. Toto výrazně usnadnilo šíření výsledného programu a jeho správu při zachování autorských práv tvůrce databázové aplikace.
Po dalších vylepšeních byl systém FoxBase přejmenován na FoxPro. Nejúspěšnější verze Foxpro 2.6 pracuje pod systémy MS DOS, MS Windows (Win98 až WinXP), Macintosh, SCO Unix, Linux, Free BSD.
Po převedení pod Windows a zakoupení firmou Microsoft byla vydána verze „Visual FoxPro“ a následně byl vývoj systému z marketingových důvodů uzavřen. Přitom se jednalo a dodnes jedná o systém technicky pokrokovější, než vlastní databázové systémy firmy Microsoft. Poslední verze Visual FoxPro v.9 (VFP9) pochází z roku 2004.
Úspěch původního systému FoxBase inspiroval vznik několika podobných systémů. Nejvýznamnější je systém „Clipper“, který prováděl kompilaci Dbase programu přímo do EXE souboru. Výsledkem byl ještě asi dvakrát rychlejší běh čistého programu než u systému FoxPro, ovšem vlastní databázové funkce (vyhledávání, …) byly pomalejší. Celkově byl hodnocen systém Clipper jako o něco slabší než FoxPro. Překládač pro Windows a pro Linux je též FlagShip.
K šiřitelům VFP v ČR patřila firma Daquas, která zastupovala už tvůrce systému Fox Software a pořádala každým rokem specializovanou konferenci DevCon. Za propagátory a přední znalce jsou považování Milan Kosina, Jan Dudek a Igor Vít.
Ukázky kódu
Hello, World, delší verze
MESSAGEBOX("Hello World")
Hello, World, kratší verze
? "Hello, World!"
Kompatibilita
Verze | 3.0 | 5.0 | 6.0 | 7.0 | 8.0 | 9.0 |
---|---|---|---|---|---|---|
Windows 3.x | Ano | Ne | Ne | Ne | Ne | Ne |
Windows NT 4.0 | Ano | Ano | Ano | Ano | Ne | Ne |
Windows 95 | Ano | Ano | Ano | Částečně | Ne | Ne |
Windows 98 | Ano | Ano | Ano | Ano | Částečně | Částečně |
Windows Me | Ano | Ano | Ano | Ano | Částečně | Částečně |
Windows 2000 | Ano | Ano | Ano | Ano | Ano | Ano |
Windows XP | Ano | Ano | Ano | Ano | Ano | Ano |
Windows Server 2003 | ? | ? | Ano | Ano | Ano | Ano |
Windows Vista | ? | Ano | Ano | Ano | Ano | Ano |
Windows Vista/64 bit | ? | ? | Ano | Ano | Ano | Ano |
Windows 7 | ? | Ano | Ano | Ano | Ano | Ano |
Windows 7/64 bit | ? | ? | Ano | Ano | Ano | Ano |
Windows 8 | ? | ? | ? | ? | Ano | Ano |
Windows 10 | ? | ? | ? | ? | Ano | Ano |