ZaΦn∞me obligßtnφ rekapitulacφ: jak dlouho to je, kdy byl naposledy v Chipu uveden Φlßnek o FoxPro? Kdybychom soudili podle Φtenß°sk²ch ohlas∙, tak pradßvno - do redakce p°ichßzejφ obΦas p°ipomφnky, kterΘ sv∞dΦφ o neuspokojenΘm zßjmu. Ve skuteΦnosti jsou to vÜak pouhΘ dva roky, kdy jsme na strßnkßch Φφsla 5/99 hodnotili p°ipravenost FoxPro na rok 2000 a seznamovali se s vlastnostmi tehdejÜφ novinky - Visual FoxPro 6.0.
Onehdy jsme takΘ komentovali postavenφ Visual FoxPro mezi podobn²mi softwarov²mi produkty a v∙bec jsme se vraceli k historickΘ cest∞, na nφ₧ u nßs i ve sv∞t∞ tento zajφmav² v²vojov² databßzov² nßstroj provßzely pomluvy i obdiv.
LetoÜek p°inßÜφ novou verzi - Visual FoxPro 7.0 -, kterΘ se v Microsoftu °φkß "Sedona". Zatφm tedy v Microsoftu pokraΦuje m≤da dßvat intern∞ nov²m produkt∙m jmΘna podle americk²ch i neamerick²ch m∞st - i m∞steΦek. Sedona je toti₧ nevelikΘ malebnΘ turistickΘ centrum na ·patφ hor v Arizon∞. Kdy₧ u₧ jsme o p°ezdφvky zavadili, neodpustφm si poznßmku o levΘ ruce, kterß nevφ, co d∞lß pravß: minulß verze Visual FoxPro dostala nßzev "Tahoe" (co₧ je v∙bec zapadlΘ mφsto) a stejnΘ jmΘno Microsoft pou₧il pro sv∙j chystan² server s oficißlnφm nßzvem Microsoft SharePoint Portal Server.
Kam b∞₧φÜ, liÜko?
FoxPro vφce ne₧ jinΘ softwarovΘ produkty (pokud se v∙bec doΦkaly tak dlouhΘho ₧ivota) p°itahuje pozornost kv∙li rozporuplnosti, kterß tento v²vojov² nßstroj n∞kolik let provßzφ: na jednΘ stran∞ je Φasto zmi≥ovßna jeho nejistß budoucnost, na stran∞ druhΘ jsou vyzdvihovßny jeho vynikajφcφ technickΘ vlastnosti. Je obtφ₧nΘ FoxPro jednoznaΦn∞ za°adit do dneÜnφch Ükatulek pro softwarovΘ prost°edky. Zßb∞r jeho vyu₧itφ je p°φliÜ Üirok², co₧ d∞lß problΘmy i Microsoftu, kdy₧ mß stanovit pro tento sv∙j produkt pozici jednoduch²m sloganem. A tak je b∞₧nΘ, ₧e odbornφci FoxPro jednou srovnßvajφ s databßzov²mi prost°edky, jako jsou SQL Server Φi Informix, a jindy s v²vojov²mi nßstroji, jako jsou Visual Basic Φi Delphi. FoxPro v sob∞ p°itom mß od ka₧dΘho n∞co a pro mnohΘ aplikace je tato Üφ°e pou₧itelnosti optimßlnφ. Toho vyu₧φvajφ tisφce programßtor∙ u nßs a celosv∞tov∞ asi 500 000 v²vojß°∙. Pokud tato Φφsla n∞komu p°ipadajφ nev²raznß (nap°. ve srovnßnφ s uvßd∞n²mi poΦty u₧ivatel∙ Visual Basicu, kter²ch je sv∞t∞ n∞kolik milion∙), p°ipome≥me jeden d∙le₧it² rozdφl: v∞tÜinu v²vojß°∙, kte°φ programujφ ve FoxPro, je mo₧nΘ pova₧ovat za profesionßly, proto₧e se programovßnφm ₧ivφ. Nic podobnΘho se ovÜem urΦit∞ nedß °φci o on∞ch milionech "programßtor∙", kte°φ programujφ ve Visual Basicu.
Nedßvn²m p°φsp∞vkem k tomu, aby rozporuplnost provßzejφcφ FoxPro neztratila dech, se stalo oznßmenφ Microsoftu o vizφch pro p°φÜtφ generace softwarov²ch aplikacφ. Microsoft v Φervnu 2000 ohlßsil nßstup novΘ platformy oznaΦovanΘ Microsoft .NET Platform. Pro budovßnφ softwarovΘ infrastruktury informaΦnφch systΘm∙ vznikß °ada server∙, kter²m se °φkß .NET servery (sem pat°φ nap°. BizTalk Server 2000, ale i novΘ verze ji₧ zab∞han²ch server∙, jako jsou Exchange Φi SQL Server). Zßrove≥ Microsoft naznaΦil, v jakΘm prost°edφ se majφ novΘ aplikace vytvß°et: jde o takzvan² .NET Framework. A v²vojov²m nßstrojem pro vytvß°enφ aplikacφ novΘ generace se stane nov∞ koncipovanΘ Visual Studio.NET. Prßv∞ zprßva o v²vojovΘm nßstroji vÜak byla pon∞kud v rozporu s oΦekßvßnφmi v²vojß°∙. Ti do tΘ doby poΦφtali s tφm, ₧e nejbli₧Üφ verze Visual Studia s Φφslem 7.0 se doΦkajφ v souladu s d°φv∞jÜφmi zprßvami v zßv∞ru roku 2000 (jako souΦßst Visual Studia 7.0 byla ohlaÜovßna takΘ novß verze Visual FoxPro - 7.0). èlo tedy o to odhalit, zda p∙jde jen o p°ejmenovßnφ Visual Studia 7.0 na Visual Studio.NET, nebo o n∞co vφce. Prvnφ d∙raznΘ objasn∞nφ situace nastalo na podzim 2000. Microsoft nejspφÜ dosp∞l k p°esv∞dΦenφ, ₧e sousto .NET je p°φliÜ velkΘ a ₧e Visual Studio.NET znamenß zm∞ny od samΘho zßkladu, proto₧e posunul termφn uvedenφ na trh: Visual Studio.NET nebude na sv∞t∞ d°φve ne₧ na podzim 2001.
Jak² vliv majφ tyto skuteΦnosti na Visual FoxPro? JeÜt∞ v zß°φ 2000 Microsoft oznamoval, ₧e Visual FoxPro 7.0 bude souΦßstφ Visual Studia.NET, ale nedojde k plnΘ integraci s platformou .NET: Visual FoxPro nebude nap°φklad pou₧φvat runtime (CLR), kter² bude spoleΦn² pro C# (programovacφ jazyk novΘ generace) a Visual Basic.NET. Cel² rozruch kolem vztahu Visual FoxPro 7.0 - Visual Studio.NET vyvrcholil v ·noru 2001 oznßmenφm Microsoftu, ₧e Visual FoxPro 7.0 nebude dßle Φekat na dokonΦenφ Visual Studia.NET a zaΦne se dodßvat ji₧ na konci jara 2001.
Jeliko₧ oficißlnφ ohlßÜenφ Microsoftu se zatφm odehrßlo pouze na jeho webu, bylo by jist∞ pro vÜechny domßcφ foxa°e u₧iteΦnΘ vyu₧φt bezprost°edn∞jÜφ zdroj. Bude k tomu p°φle₧itost: na domßcφ ΦervnovΘ konferenci Visual FoxPro DevCon, Praha 2001 mß vystoupit Randy Brown (Program Manager Visual FoxPro Team, Microsoft, USA), od n∞ho₧ se oΦekßvajφ bli₧Üφ informace. Po zkuÜenostech se zp∙sobem, jak v minulosti informovala o Visual FoxPro evropskß zastoupenφ Microsoftu, by si foxa°i nem∞li nechat ujφt mo₧nost zφskat informace z prvnφ ruky. Vφce informacφ o tΘto konferenci najdete v tomto Φφsle v sekci "Aktuality: spektrum" nebo na adrese [2].
Jedna v∞c je vÜak jistß: Visual FoxPro 7.0 je verze, kterou brzy zaΦneme pou₧φvat, a tak se podφvejme, co zajφmavΘho p°inßÜφ.
Co je novΘho v sedmiΦce?
O tom, co novΘho Visual FoxPro 7.0 p°edvede, se mluvφ ji₧ dΘle ne₧ dva roky: nejprve jen v opatrn²ch nßznacφch o IntelliSense a editoru, potom o spoluprßci s COM+ a jin²ch zm∞nßch. Dnes je u₧ jasnΘ, ₧e Visual FoxPro 7.0 obsahuje navφc takΘ spousty na prvnφ pohled p°ehlΘdnuteln²ch drobnostφ, kterΘ by bylo Ükoda nevyu₧φt.
Hlavnφ oblasti, kterΘ byly v novΘ verzi Visual FoxPro vylepÜeny, jsou nßsledujφcφ:
programßtorskΘ prost°edφ;
funkΦnost datovΘho slovnφku;
mo₧nost automatickΘho testovßnφ aplikacφ;
spoluprßce s COM+;
existence ovladaΦe OLE DB pro data Visual FoxPro;
obohacenφ funkcφ pro prßci s poli a °et∞zci.
Tento Φlßnek nenφ p°ehledem o vÜech inovacφch, ale je poΦßtkem serißlu v∞novanΘho Visual FoxPro 7.0, kter² bude pokraΦovat v budoucφch letoÜnφch vydßnφch Φasopisu Chip. V tomto Φφsle se zam∞°φme na n∞kolik dφlΦφch vylepÜenφ, kterß p°ipadla zajφmavß mn∞, autorovi. Celkov² struΦn² p°ehled o novinkßch by mohl stßle jeÜt∞ b²t k nalezenφ na adrese [1], a pokud mßte ji₧ novou verzi nainstalovanou, staΦφ vyvolat nßpov∞du What's New in Visual FoxPro 7.0.
Rushmore po 10 letech
VelkΘ zm∞ny jsou ve Visual FoxPro 7.0 ukryty spφÜe pod povrchem a majφ strategick² rozm∞r (v domßcφch pom∞rech jsou motivacφ p°edevÜφm pro naÜe "hodn∞ budoucφ" aplikace). P°i bli₧Üφm zkoumßnφ mne samotnΘho p°ekvapilo postupnΘ objevovßnφ detail∙. To mne nakonec p°ivedlo k zßv∞ru, ₧e p°echod z d°φv∞jÜφch verzφ Visual FoxPro do 7.0 nepochybn∞ stojφ za to.
DrobnΘ vylepÜenφ funkce SYS(3054) m∞ kup°φkladu vrßtilo ve vzpomφnkßch do roku 1991, kdy za firmu Fox Software jejφ °editel evropskΘho zastoupenφ Mark Daeche p°edvßd∞l p°i svΘm turnΘ po st°ednφ Evrop∞, co umφ tehdejÜφ ₧havß novinka - FoxPro 2.0. Pam∞tnφci si mo₧nß jeÜt∞ vybavφ tu kouzelnou ukßzku: adresß° firem s jednφm milionem °ßdk∙ a FoxPro mß vyhledat stovku °ßdk∙ vyhovujφcφch zadanΘ podmφnce. Doba odezvy: nem∞°itelnß, tedy zlomky sekundy. S ·₧asem padaly otßzky: "Co to mßte za poΦφtaΦ?" Odpov∞∩ zn∞la: "To je 'obyΦejnΘ' AT se 4 MB operaΦnφ pam∞ti." Aha, tedy ne tak ·pln∞ obyΦejnΘ, °φkali si naÜi foxovÜtφ posluchaΦi jeÜt∞ plni dojmu z olomouckΘho seminß°e, kde jim kolega Milan Kosina vysv∞tloval, jak vyu₧φt dalÜφch 112 KB pam∞ti v oblasti mezi 640 KB a 1 MB na svΘm XT. V p°edvedenΘ ukßzce nebyl ₧ßdn² trik, Ülo jen o dokonalΘ vyu₧itφ indexovΘ technologie skrytΘ do magickΘho pojmu rushmore. Prßv∞ tato zkuÜenost se pro mnohΘ z programßtor∙ stala etalonem pro vyhodnocovßnφ optimßlnosti operacφ p°i p°φstupu k dat∙m ve foxovsk²ch aplikacφch. Rushmore se toti₧ uplatnφ jen tehdy, kdy₧ se existujφcφ index vyu₧ije "naplno". Potφ₧ spoΦφvß v tom, ₧e neexistoval nßstroj, kter² by zp∙sob vyu₧φvßnφ indexu oznßmil. Mnozφ se tedy °φdili vzpomφnkou na zmφn∞nou ukßzku: "milion v∞t = v²b∞r musφ trvat skoro nic"; trvß-li to n∞kolik sekund, n∞co nenφ v po°ßdku a je t°eba ladit dßle.
Teprve ve verzi Visual FoxPro 5.0 se objevuje novß funkce SYS(3054) (nejspφÜ bychom si jejφ v²znam lΘpe zapamatovali, kdyby mφsto nφ existoval p°φkaz SET OPTIMIZETALK ON/OFF). Äe o nφ jako foxa° slyÜφte poprvΘ? To je i mß zkuÜenost z v∞tÜiny kontakt∙ s domßcφmi programßtory. Co tedy SYS(3054) umφ? P∙sobφ jako p°epφnaΦ pro zobrazovßnφ hlßÜenφ o tom, jak se p°i v²b∞rov²ch operacφch p°φkazu SELECT-SQL uplat≥uje rushmore - tedy zda jsou optimßln∞ vyu₧ity indexy. Je-li zobrazovßnφ aktivovßno - SYS(3054, 1) - a po vyvolßnφ p°φkazu SELECT se jako souΦßst hlßÜenφ zobrazφ sl∙vko "full", znamenß to, ₧e vyu₧itφ index∙ je optimßlnφ. Pokud jste v dosud popsanΘm neobjevili nic novΘho, zlßkß vßs mo₧nß prßv∞ to, co je novΘ ve Visual FoxPro 7.0. Nynφ toti₧ SYS(3054) umφ zobrazit i p°φsluÜn² p°φkaz SELECT (co₧ je p°i lad∞nφ program∙, kterΘ se hem₧φ p°φkazy SELECT volan²mi za sebou, velmi u₧iteΦnß maliΦkost). Za°φdφ to hodnota "2" ve druhΘm parametru funkce SYS. Navφc lze v²stup p°esm∞rovat z obrazovky do prom∞nnΘ, tak₧e dostßvßme v∞tÜφ volnost v tom, jak s odhalen²mi v²sledky nalo₧it.
P°φklad:
SYS(3054, 2, 'mVypis')
? mVypis
Zobrazφ se nap°.:
SELECT * FROM BigOne WHERE F2 = "9X"
Using index tag Tag2 to rushmore optimize table bigone
Rushmore optimization level for table bigone: full
P°i testovßnφ tΘto novΘ vlastnosti funkce SYS(3054) jsem po letech °eÜil otßzku, jak velkß musφ b²t tabulka pro testovßnφ. Nejprve jsem si cht∞l jenom stßhnout existujφcφ tabulku s 500 000 °ßdky na domßcφ poΦφtaΦ. Tßhnout 50 nebo 70 MB po telefonu mi vÜak nep°ipadlo rozumnΘ, a tak jsem si napsal generßtor stejn∞, jako to d∞lß ka₧d² foxa°, proto₧e vφ, ₧e vΦetn∞ napln∞nφ tabulky to nezabere vφce ne₧ pßr minut (a jako to st∞₧φ ud∞lß ten, kdo pou₧φvß SQL Server, VB Φi PowerBuilder, proto₧e vφ, ₧e by tφm ztratil spoustu Φasu):
On∞ch 100 000 pokusn²ch °ßdk∙ (hodnota prom∞nnΘ m.NumOfCycles) na mΘm podpr∙m∞rnΘm 166MHz/64MB RAM bohu₧el dßvalo nem∞°itelnΘ odezvy, a tak musel generßtor vytvo°it 1 000 000 °ßdk∙. Pak u₧ n∞jakΘ milisekundy bylo mo₧nΘ zm∞°it. Kdy jste naposledy slyÜeli, ₧e FoxPro nenφ prost°edek vhodn² pro prßci s velk²m objemem dat? A co to vlastn∞ je "velk² objem dat"? Kdy₧ pot°eboval testovacφ data k otestovßnφ v²konu FoxPro pod r∙zn²mi operaΦnφmi systΘmy pro sΘrii sv²ch Φlßnk∙ Malcolm Rubel (v USA uznßvan² autor text∙ a p°ednßÜek o FoxPro), nastavil toto m∞°φtko: do 500 000 °ßdk∙ jde o malou tabulku (Φφselnφk), do 1 000 000 jde o tabulku st°ednφ a 10 000 000 °ßdk∙ je mo₧nΘ pova₧ovat za tabulku velkou. Zßrove≥ dosp∞l k zßv∞ru, ₧e i s "velk²mi" tabulkami lze ve Visual FoxPro pracovat a odezvy jsou p°ijatelnΘ.
Pro ·plnost: SYS(3054) funguje jen pro p°φkazy SELECT (nikoliv tedy nap°. LOCATE FOR apod.) a vstupnφm parametrem lze rozliÜit, zda chceme uplatnit zobrazovßnφ jen pro filtrovacφ podmφnku (WHERE) nebo i pro vazebnφ podmφnku (kterß se uplatnφ p°i vßzßnφ n∞kolika tabulek pomocφ WHERE nebo JOIN).
Prßce s poli pam∞¥ov²ch prom∞nn²ch
Funkce pro operace s poli pam∞¥ov²ch prom∞nn²ch byly v₧dy silnou zbranφ FoxPro. ╚φm vφce si na n∞ programßto°i zvykli, tφm intenzivn∞jÜφ byla jejich p°ßnφ "KΘ₧ by n∞jakß funkce um∞la takΘ ...". Prßv∞ do tΘto kategorie pat°φ novinky, kterΘ mohou zredukovat dosavadnφ programy o desφtky kilobajt∙. Pokud Φasto pou₧φvßte dvojrozm∞rnß pole, nejspφÜ jste n∞kdy pot°ebovali zjistit, na kterΘm °ßdku pole je zadanß hodnota. V horÜφm p°φpad∞ se takovß pot°eba °eÜφ kopφrovßnφm p°φsluÜnΘ Φßsti k≤du odjinud, v lepÜφm si programßto°i napsali "rozÜφ°enou" funkci ASCAN. Funkce ASCAN ve verzi 7.0 koneΦn∞ prohledßvß i po sloupcφch a umφ vrßtit nejen po°adovΘ Φφslo prvku, ale rovnou takΘ Φφslo °ßdku.
P°φklad:
Pole pam∞¥ov²ch prom∞nn²ch aPole mß tento obsah:
Dosud jsme byli zvyklφ hledat hodnotu "X" ve 2. sloupci (prvek [4,2]) pomocφ ASCAN asi takto:
? ASCAN(aPole, 'X') && vracφ hodnotu 6
Z vrßcenΘ hodnoty 6 (X na 2. °ßdku ve 3. sloupci) jsme pak Φφslo °ßdku a sloupce mohli zφskat funkcφ ASUBSCRIPT a zjistili jsme, ₧e o tento sloupec nemßme zßjem a ₧e prohledßvßnφ musφ pokraΦovat. Algoritmus pro prohledßvßnφ sloupc∙ je tedy slo₧it∞jÜφ.
Visual FoxPro 7.0 rozÜi°uje ASCAN o nov², pßt² parametr, v n∞m₧ lze zadat Φφslo prohledßvanΘho sloupce:
Vrßcenß hodnota 11 nßm ale ne°ekne rovnou, na kterΘm °ßdku nalezenß hodnota X le₧φ. Novß funkce ASCAN to umφ prost°ednictvφm dalÜφho novΘho, ÜestΘho parametru:
Zßhadnß "osmiΦka" v parametru souvisφ s tφm, ₧e tento parametr se zadßvß prost°ednictvφm p°φznakov²ch bit∙ a parametrem lze ovliv≥ovat i dalÜφ chovßnφ funkce ASCAN, nap°. zda se majφ rozliÜovat p°i prohledßvßnφ text∙ malß a velkß pφsmena. V²znam jednotliv²ch bit∙ ukazuje nßsledujφcφ tabulka:
Kdybychom p°i volßnφ ASCAN v p°edchozφm p°φkladu zadali malΘ 'x' namφsto velkΘho 'X', ASCAN je nenajde:
Tentokrßt "devφtka" znamenß, ₧e bit 0 mß b²t zapnut (hodnota 1) a takΘ bit 3 mß b²t zapnut (hodnota 8), co₧ v souΦtu dßvß 9.
Funkce m∙₧e vrßtit nejen hodnotu, ale i pole
Jeden z evergreen∙ mezi po₧adavky na rozÜφ°enφ funkΦnosti Visual FoxPro znφ takto: "Pot°ebuji, aby funkce (metoda) vracela n∞kolik hodnot, a ne jen jednu hodnotu. NejlepÜφ by bylo, kdyby um∞la vrßtit celΘ pole." Volßnφ bylo vyslyÜeno. Nenφ to ovÜem zcela hladkΘ.
Dejme tomu, ₧e existuje funkce, kterß pracuje s trojprvkov²m polem, jeho₧ obsah mß vracet p°φkaz RETURN.
FUNCTION RetArray
LOCAL ARRAY aPole [3]
aPole [1] = "Jedna"
aPole [2] = "Dv∞"
aPole [3] = "T°i"
RETURN @aPole
Nßsledujφcφ pokus nßm neprojde:
x = RetArray()
V souladu s trendem, ₧e Visual FoxPro je modernφ objektov² v²vojov² nßstroj, se p°edpoklßdß, ₧e vφce pracujeme s objekty a mΘn∞ v tradiΦnφm procedurßlnφm k≤du, jak²m je uvedenß ukßzka. Aby funkce mohla vracet pole, musφ platit, ₧e pole (aPole) existuje i v dob∞, kdy funkce (RetArray) je ji₧ ukonΦena. Tohle se dß splnit, kdy₧ aPole bude vlastnostφ (Property) objektu a funkce RetArray bude metodou tohoto objektu. Vracet pole je tedy mo₧nΘ, pou₧ijeme-li postup z tΘto ukßzky:
Zalo₧φme program s nßzvem RetA.PRG:
* RetA.prg
DEFINE CLASS Test AS Custom
DIMENSION aPole[3]
PROCEDURE Init
THIS.aPole[1] = "Jedna"
THIS.aPole[2] = "Dv∞"
THIS.aPole[3] = "T°i"
ENDPROC
FUNCTION RetArray
RETURN @THIS.aPole
ENDFUNC
ENDDEFINE
Z nov∞ vytvo°enΘho objektu oTest m∙₧eme pole nechat vrßtit do novΘho pole ax (pokud neexistuje, zalo₧φ se; pokud existuje, jeho poΦet prvk∙ se p°izp∙sobφ vracenΘmu poli):
oTest = NEWOBJECT("Test","RetA.prg")
ax = oTest.RetArray()
MaliΦkost pro pion²ry v lesφch klient/server
Visual FoxPro u₧ n∞kolik let dob°e slou₧φ v roli klienta v aplikacφch, kde data jsou na nejr∙zn∞jÜφch databßzov²ch serverech, jak²mi jsou nap°. Microsoft SQL Server, Oracle Φi Informix. Nenφ to jen sv∞tovß zßle₧itost - existuje °ada domßcφch °eÜenφ, kterß jsou zalo₧ena na komunikaci Visual FoxPro s databßzov²mi servery. Jednφm z d∙vod∙, proΦ data ulo₧it ze soubor∙ DBF n∞kam jinam, b²vß po₧adavek na zabezpeΦenφ dat p°ed neoprßvn∞n²mi p°φstupy. Visual FoxPro umo₧≥uje dv∞ metody, jak se k dat∙m p°ipojit: jedna je zalo₧ena na p°φmΘm odesφlßnφ p°φkaz∙ SQL z FoxPro databßzovΘmu serveru (SQL Pass-Through, neboli SPT), druhß pou₧φvß tzv. vzdßlenΘ pohledy, s nimi₧ se ve Visual FoxPro pracuje podobn∞ jako s tabulkami DBF (pohled se nap°. otev°e stejn∞ jako DBF p°φkazem USE <nßzev pohledu>).
Ob∞ metody vy₧adujφ, aby byl p°φstup k dat∙m podmφn∞n ov∞°enφm p°ihlaÜovacφch ·daj∙ u₧ivatele. Zde se uvedenΘ metody liÜφ v tom, jak jsou bezpeΦnΘ: pro SPT staΦφ p°ihlaÜovacφ ·daje dr₧et pouze v operaΦnφ pam∞ti (po p°evzetφ ·daj∙ od u₧ivatele z p°ihlaÜovacφho dialogu nenφ pot°eba je uklßdat na disk). U vzdßlen²ch pohled∙ je to slo₧it∞jÜφ: bu∩ musφ b²t p°ihlaÜovacφ ·daje alespo≥ na okam₧ik ulo₧eny v souboru (co₧ samoz°ejm∞ znamenß v²raznΘ snφ₧enφ bezpeΦnosti), nebo si p°ihlaÜovacφ ·daje vy₧ßdß ka₧dΘ otevφrßnφ pohledu p°φkazem USE. Visual FoxPro 7.0 obsahuje novΘ rozÜφ°enφ p°φkazu USE - frßzi CONNSTRING, ve kterΘ je mo₧nΘ p°ihlaÜovacφ ·daje zadat p°φmo (nemusejφ se tedy p°ebφrat z jinΘho mφsta, kde jsou ulo₧eny). Pro otevφrßnφ vzdßlen²ch pohled∙ lze pou₧φt nynφ tento zp∙sob se zadßnφm p°ihlaÜovacφch ·daj∙:
Parametr pro frßzi CONNSTRING se zadßvß stejn∞ jako u p°φkazu SQLSTRINGCONN, kter² se objevil ji₧ ve Visual FoxPro 3.0.
Zßv∞r
Visual FoxPro 7.0 rozhodn∞ mß co nabφdnout. Koneckonc∙ m∞l v²vojov² t²m v Redmondu na p°φpravu dostatek Φasu - tΘm∞° dva roky. Verzi 6.0 pou₧φvßme toti₧ u₧ od poloviny roku 1999. V tΘto souvislosti je pochopitelnΘ, ₧e Φekßnφ na Visual Studio.NET s tΘm∞° hotovou verzφ Visual FoxPro 7.0 by bylo sv²m zp∙sobem zbyteΦnΘ. Navφc v dob∞, kdy se objevily prvnφ nßznaky toho, co mß obsahovat verze p°φÜtφ. Äe by 8.0? Mo₧nß i o tom se dozvφme vφce v Φervnu na konferenci Visual FoxPro DevCon, Praha 2001.