Visual FoxPro - Visual FoxPro
![]() Visual FoxPro v9 běží dále Windows XP | |
Vývojáři | Microsoft |
---|---|
Konečné vydání | |
Operační systém | Windows 2000, Windows XP, a Windows Server 2003[3] |
Plošina | IA-32[4] |
K dispozici v | IDE: Angličtina, němčina, španělština Runtime: Nad plus francouzština, čínština, ruština, čeština, korejština |
Typ | Integrované vývojové prostředí, programovací jazyk |
Licence | Komerční proprietární software |
webová stránka | msdn |
Visual FoxPro je Microsoft datově orientovaný procesní programovací jazyk který se následně stal objektově orientovaný.
Bylo to odvozeno od FoxPro (původně známý jako FoxBASE), který vyvinula společnost Fox Software od roku 1984. Společnost Fox Technologies se spojila s Microsoftem v roce 1992, poté software získal další funkce a předponu „Visual“.[6] FoxPro 2.6 pracoval na Operační Systém Mac, DOS, Okna, a Unix.
Visual FoxPro 3.0, první „vizuální“ verze, snížila podporu platformy pouze na Mac[7] a Windows a novější verze 5, 6, 7, 8 a 9 byly pouze pro Windows. Aktuální verze Visual FoxPro je KOM -založeno a Microsoft uvedl, že nemají v úmyslu vytvořit Microsoft .NET verze.
Verze 9.0, vydaná v prosinci 2004 a aktualizovaná v říjnu 2007 s aktualizací SP2, byla finální verzí produktu.
Dějiny
Visual FoxPro vznikl jako člen třídy jazyků běžně označovaných jako „xBase "jazyky, které mají syntaxi založenou na dBase programovací jazyk. Mezi další členy jazykové rodiny xBase patří Klipr a bod odůvodnění (databáze).
Visual FoxPro, běžně zkráceně VFP, je úzce integrován s vlastním relačním databázovým strojem, který rozšiřuje možnosti FoxPro xBase o podporu SQL manipulace s dotazy a daty. Na rozdíl od většiny systémy pro správu databází, Visual FoxPro je plně vybavený, dynamický programovací jazyk která nevyžaduje použití dalšího univerzálního programovacího prostředí. Lze jej použít k psaní nejen tradičních “tlustý klient "aplikace, ale také middleware a webové aplikace.
Na konci roku 2002 bylo prokázáno, že Visual FoxPro může běžet dál Linux pod Víno Sada pro kompatibilitu se systémem Windows. V roce 2003 to vedlo ke stížnostem společnosti Microsoft: tvrdilo se, že nasazení běhového kódu FoxPro na počítačích jiných než Windows porušuje Licenční smlouva s koncovým uživatelem.[8]
Visual FoxPro zaznamenal rychlý vzestup a pokles popularity, měřeno společností Index komunit programování TIOBE.[9] V prosinci 2005 se VFP poprvé vloupal do top 20. V červnu 2006 vyvrcholila na pozici 12, což z ní (v té době) činilo jazyk „B“. Od října 2019 si Visual FoxPro drží pozici 51 v indexu TIOBE.[10]
V březnu 2007 společnost Microsoft oznámila, že nebude VFP 10,[11] čímž se VFP9 (vydáno do výroby 17. prosince 2004) stalo posledním komerčním vydáním VFP od společnosti Microsoft. Aktualizace Service Pack 2 pro Microsoft Visual FoxPro 9.0 byla vydána 16. října 2007.[12] Podpora verze 9 skončila 13. ledna 2015.[13]
V době oznámení konce životnosti byly práce na dalším vydání s kódovým označením Sedna (pojmenované po nedávno objevená trpasličí planeta ), který byl postaven na základně kódové základny VFP9, již začal. „Sedna“ je sada doplňků k VFP 9.0 komponent xBase pro podporu řady scénářů interoperability s různými technologiemi Microsoft včetně SQL Server 2005, .NET Framework Windows Vista, Office 2007, Windows Search a Windows Team Foundation Server (TFS). Microsoft vydal Sednu pod Sdílený zdroj licence na CodePlex stránky. Microsoft objasnil, že jádro VFP zůstane i nadále uzavřeným zdrojem. Sedna byla vydána 25. ledna 2008.[14] V březnu 2008 byly všechny komponenty xBase VFP 9 SP2 (včetně Sedna) k dispozici pro komunitní vývoj na CodePlex.
Na konci března 2007 a místní lidé kampaň zahájila španělsky mluvící komunita FoxPro v MásFoxPro[15] ("MoreFoxPro" v Angličtina ) podepsat petici společnosti Microsoft, která bude pokračovat v aktualizaci Visual FoxPro, nebo ji vydat komunitě jako open-source. Dne 3. dubna 2007 zaznamenal pohyb technický tisk.[16]
Dne 3. dubna 2007 Microsoft odpověděl na petici tímto prohlášením Alana Grivera:[16]
„Jsme si velmi dobře vědomi komunity FoxPro a ta hrála velkou roli v tom, co jsme oznámili 13. března. Nikdy není snadné oznámit, že nebudeme vydávat další verzi produktu, a je to ta, kterou považujeme velmi opatrně.
„Neoznámíme konec FoxPro: Je zřejmé, že aplikace FoxPro budou i nadále fungovat. Podle některých našich interních odhadů běží ve FoxPro 2.6 více aplikací než ve VFP a FoxPro 2.6 nebyl v mnoha podporován let. Visual FoxPro 9 bude Microsoft podporován do roku 2015.
„Aby společnost Microsoft pokračovala ve vývoji základny FoxPro, museli bychom se podívat na vytvoření 64bitového vývojového prostředí, což by vyžadovalo téměř úplné přepsání hlavního produktu. Investovali jsme také do vytvoření škálovatelné databáze pomocí serveru SQL Server , včetně volně dostupného SQL Server Express Edition. Pokud jde o vytváření partnerství s třetí stranou, slyšeli jsme od řady velkých zákazníků FoxPro, že by jim to znemožnilo pokračovat v používání FoxPro, protože již nebude od schváleného prodejce. Cítili jsme, že uvedení prostředí do otevřeného zdroje dne CodePlex, který vyvažuje potřeby komunity i velkých zákazníků, byla nejlepší cesta vpřed. “
Časová osa verze
Všechny uvedené verze jsou pro Windows.[17]
Verze | Datum vydání |
---|---|
Visual FoxPro 3.0 | Červen 1995 |
Visual FoxPro 5.0 | Říjen 1996 |
Visual FoxPro 5.0a | Říjen 1997 |
Visual FoxPro 6.0 | 18. května 1998 |
Visual FoxPro 7.0 | 27. června 2001 |
Visual FoxPro 8.0 | 1. února 2003 |
Visual FoxPro 8.0 Service Pack 1 | 7. října 2003 |
Visual FoxPro 9 | 20. prosince 2004 |
Visual FoxPro 9 Service Pack 1 | 8. prosince 2005 |
Visual FoxPro 9 Service Pack 2 | 16. října 2007 |
Ukázky kódu
Jazyk FoxPro obsahuje příkazy docela podobné jiným programovacím jazykům, jako je Basic.
Některé základní ukázky syntaxe:
PRO i = 1 až 10 X = x + 6,5DALŠÍ && Místo „NEXT“ můžete také použít „ENDFOR“LI i = 25 i = i + 1JINÝ i = i + 3ENDIFX = 1DĚLAT WHILE x <50 X = x + 1KONECX = 1DĚLAT ZATÍMCO .T. X = x + 1 LI x <50 SMYČKA JINÝ VÝSTUP ENDIFKONECnMěsíc = MĚSÍC(DATUM())DĚLAT PŘÍPAD PŘÍPAD nMěsíc <= 3 ZPRÁVA(„Q1“) PŘÍPAD nMěsíc <= 6 ZPRÁVA(„Q2“) PŘÍPAD nMěsíc <= 9 ZPRÁVA(„Q3“) V OPAČNÉM PŘÍPADĚ ZPRÁVA(„Q4“)ENDCASEPRO KAŽDÝ oŘízení V TATO FORMA.Řízení ZPRÁVA(ÓŘízení.Název)KONECF = Faktoriál (10)FUNKCE Faktoriál (n)MÍSTNÍ já, r r = 1 PRO i = n NA 1 KROK -1 r = r * i DALŠÍ && Může zde také použít „ENDFOR“ místo „NEXT“ VRÁTIT SE rENDFUNC
Příklady Hello World:
* Výstup na aktuálním místě ? "Ahoj světe" * Výstup na určeném místě @ 1,1 ŘEKNĚTE "Ahoj světe" * Výstup v samostatném okně, při vstupu vymazán POČKEJTE OKNO "Ahoj světe" * Výstup ve standardním dialogovém okně, zrušeno v pořádku ZPRÁVA("Ahoj světe")
Objekt

* Výstup v definovaném okněloForm = CREATEOBJECT(„HiForm“)loForm.Ukázat(1)DEFINOVAT TŘÍDA AhojFormulář TAK JAKO Formulář AutoCenter = .T. Titulek = "Ahoj světe" PŘIDAT OBJEKT lblHi as Označení ; S Titulek = "Ahoj světe!"UKONČIT
loMine = CREATEOBJECT("Moje třída")? loMine.cProp1 && To bude fungovat. (Double-ampersand označí komentář na konci řádku)? loMine.cProp2 && Chyba programu: Vlastnost CPROP2 nebyla nalezena, protože je externě skrytá.? loMine.MyMethod1 () && To bude fungovat.? loMine.MyMethod2 () && Chyba programu: Vlastnost MYMETHOD2 nebyla nalezena, protože je skrytá externě.DEFINOVAT TŘÍDA MyClass AS Zvyk cProp1 = "Můj majetek" && Toto je veřejné vlastnictví SKRYTÝ cProp2 && Toto je soukromá (skrytá) vlastnost dProp3 = {} && Další veřejný majetek POSTUP Init () && Konstruktor třídy Tento.cProp2 = „Toto je skrytá vlastnost.“ POSTUP dProp3_Access && Získávač majetku VRÁTIT SE DATUM() POSTUP dProp3_Aspodepsat(vNewVal) && Property Setter používá na název služby značku „_assign“ LI VARTYPE(vNewVal) = "D" TENTO.dProp3 = vNewVal ENDIF POSTUP MyMethod1 () * Toto je veřejná metoda, která volá skrytou metodu, která se vrací * hodnota skryté vlastnosti. VRÁTIT SE Tento.MyMethod2 () SKRYTÝ POSTUP MyMethod2 () && Toto je soukromá (skrytá) metoda VRÁTIT SE Tento.cProp2UKONČIT
- VFP má rozsáhlou knihovnu předdefinovaných tříd a vizuálních objektů, ke kterým se přistupuje v IDE podle listu vlastností (včetně Metody ),[18] takže kód jako výše uvedené třídy a objekty jsou potřeba pouze pro speciální účely a rámec velkých systémů.
Zpracování údajů
Jazyk má také rozsáhlé příkazy pro manipulaci s databázemi a indexování. V indexu „nápovědy“ příkazů ve VFP 9 je popsáno několik stovek příkazů a funkcí. Níže uvedené příklady ukazují, jak kódovat vytváření a indexování tabulek, ale VFP má obrazovky pro vytváření tabulek a databází, které vytvářejí tabulky a indexy, aniž byste museli psát kód.

* Vytvořte tabulku VYTVOŘIT TABULKA randData (iData I) * Naplňte náhodnými daty pomocí příkazů xBase a SQL DML PRO i = 1 AŽ 50 PŘIPOJIT PRÁZDNÝ NAHRADIT iData S (RAND() * 100) VLOŽIT DO RandData (iData) HODNOTY (RAND() * 100) KONEC * Umístěte strukturální index na data INDEX ON iData TAG iData ZAVŘÍT DATA && Nezavírejte otevřené knihovny atd * Zobrazte objednaná data pomocí příkazů ve stylu xBase POUŽITÍ randData SOUBOR OBJEDNAT NA iData LOKALIZOVAT && Namísto GO TOP. Vynucuje použití indexu k nalezení TOP SEZNAM DALŠÍ 10. && Prvních 10 JÍT DNO PŘESKOČIT -10 SEZNAM ZBYTEK && Posledních 10 ZAVŘÍT DATA * Procházejte objednaná data pomocí příkazů SQL DML VYBRAT * ; Z randData ; OBJEDNAT PODLE POPISU iData
Přístup ODBC pomocí průchodu SQL
SOUKROMÉ cAuthorID, cAuthorName && Soukromé proměnné nahradí jakoukoli předchozí globální nebo soukromou proměnnou se stejným názvem MÍSTNÍ nHnd, nResult && Místní proměnné jsou viditelné pouze zde * Připojte se ke zdroji dat ODBC nHnd = SQLCONNECT („ODBCDSN“, "uživatel", "pwd") * Zadejte smyčku, abychom mohli v případě chyby ukončit zavírací kód připojení DĚLAT ZATÍMCO .T. * Proveďte příkaz SQL nVýsledek = SQLEXEC (nHnd, „USE master“) LI nVýsledek <0 ZPRÁVA ("MASTER databáze neexistuje!") VÝSTUP && Ukončit připojení ENDIF * Načíst data ze vzdáleného serveru a uložit je do místního datového kurzoru nVýsledek = SQLEXEC (nHnd, „VYBRAT * OD AUTORŮ“, „QAUTHORS“) LI nVýsledek <0 ZPRÁVA ("Nelze provést vzdálený příkaz SQL SELECT!") VÝSTUP && Ukončit připojení ENDIF * Aktualizujte záznam ve vzdálené tabulce pomocí parametrů cAuthorID = "1001" cAuthorName = "Nové jméno" nVýsledek = SQLEXEC (nHnd, "AKTUALIZOVAT autory SET auth_name =? CAuthorName WHERE auth_id =? CAuthorID") LI nVýsledek <0 ZPRÁVA ("Nelze provést vzdálený příkaz SQL UPDATE!") VÝSTUP && Ukončit připojení ENDIF * Pokud se sem dostaneme, vše jsme úspěšně načetli VÝSTUP && Ukončit bezpodmínečně KONEC * Ukončete připojení SQLDISCONNECT(nHnd)
Aplikace
Některé pozoruhodné aplikace napsané v Visual FoxPro zahrnují
- PWCT: bezplatný vizuální programovací jazyk open source pro vývoj softwaru
Viz také
Reference
- ^ „Aktualizace Visual FoxPro 9.0“. Centrum pro vývojáře Visual FoxPro. Microsoft. Citováno 7. června 2013.
- ^ „Stáhnout Microsoft Visual FoxPro 9.0 Service Pack 2.0“. Centrum stahování. Microsoft. 16. října 2007. Citováno 7. června 2013.
- ^ "Požadavky na systém". Centrum pro vývojáře Visual FoxPro. Microsoft. Citováno 7. června 2013.
- ^ "Často kladené otázky". Centrum pro vývojáře Visual FoxPro. Microsoft. Citováno 7. června 2013.
- ^ „Zpráva pro komunitu“. Centrum pro vývojáře Visual FoxPro. Microsoft. Citováno 7. června 2013.
- ^ NY Times
- ^ Microsoft Visual FoxPro 3.0 pro Power Macintosh je nyní k dispozici, 25. července 1996, news.microsoft.com
- ^ Visual FoxPro pro Linux: Porušení smlouvy EULA?, 13. května 2003, Ed Leafe, Linux Journal
- ^ Historie indexu Tiobe pro FoxPro
- ^ https://www.tiobe.com/tiobe-index/
- ^ Zpráva pro komunitu
- ^ Microsoft Visual FoxPro 9.0 Service Pack 2.0
- ^ „Životní cyklus Microsoft Visual FoxPro 9.0“. support.microsoft.com. Citováno 2018-08-31.
- ^ Stažení Microsoft SEDNA
- ^ Mas FoxPro - Visual FoxPro Wiki
- ^ A b Vývojáři žádají společnost Microsoft, aby znovu zvážila postupné ukončení FoxPro Autor: Mary Jo Foley (3. dubna 2007) - Vše o Microsoftu - ZDNet.com
- ^ Historie FoxPro
- ^ „Nástroje pro vývoj produktivity Visual FoxPro“. Microsoft. Citováno 20. prosince 2014.
externí odkazy
Stránky společnosti Microsoft
Další stránky
- Visual FoxPro Wiki Úložiště informací FoxPro (napsané ve VFP)
- Web věnovaný historii FoxPro
- VFPx Snaha komunity Visual FoxPro vytvořit doplňky s otevřeným zdrojovým kódem pro VFP 9.0