久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Visual Foxpro漫談(一)

 happyngkmw 2012-09-08

Visual Foxpro漫談(一)

時間:2007-05-09 本站
-

前言

這篇文章可以說是 BOE 數(shù)據(jù)網(wǎng)絡(luò)工作室的開山之作了。它的動工是從2000年國慶節(jié)開始的,,寫寫停停,,直到那年的農(nóng)歷春節(jié)才完成初稿……

后來我有幾次修改,算在2002年4月的這個版本,,應(yīng)該是第四版了,!

當初,我寫這篇文章的動機是:平靜的表達我的觀點。作為一名 Visual FoxPro 的程序員經(jīng)常受到別人的質(zhì)疑,、甚至是批駁,、挖苦,我不是一個擅長口舌爭斗的人,,更不敢冒犯“眾怒”,。于是我就用鍵盤陸續(xù)敲擊一些文字,表達我對 Visual FoxPro 的認識,,同時表達對各類問題的看法……

近兩年來,,就我本人來說發(fā)生了很多變化:由于工作的關(guān)系,我接觸了很多其他的開發(fā)工具,,其中有大家廣為熟悉的Delphi,,也有國內(nèi)不見經(jīng)傳的Rapid Plus、InTouch,、InSQL,、InTruck。體會過種種,、經(jīng)歷過許多,,我覺得我更有能力完成此文了,我希望站在公正的立場上看待Visual FoxPro,,而不是社會上一味的批評,、鄙夷,更不是Fox Fans的“天下我是老大”的心態(tài),!希望大家能在文章中感到BOE的成熟和進步,。

網(wǎng)友們特別喜歡這篇文章,我知道Fox 的 Fans能在此處得到共鳴,,其實我寫這篇文章也就是要把平時大家關(guān)心的話題總結(jié)歸納一下,,去粗取精、去偽存真……

去年春天 Visual FoxPro 7 就正式發(fā)行,,好多狐友都在等待簡體中文版,,很遺憾的是,微軟并沒有漢化它,。我覺得,,沒有任何必要使用簡體中文版的Visual FoxPro 7,原因如此:功能上講,,中文版與英文版完全相同,;Visual FoxPro 7的IDE與以前版本沒有什么區(qū)別,所以對于熟悉Visual FoxPro的用戶來說,,使用上不會有任何障礙,;再就是Help文件,,Visual FoxPro 7自帶了一個完整、獨立的英文版的,,而中文Visual FoxPro 6的Help是集成在MSDN里的,,巨大無比,其實也沒怎么漢化,,一般的Fox Fans都不裝的,,所以就幫助來說,對于不熟悉英語的朋友來說,,英語Visual FoxPro 7與中文Visual FoxPro 6是一樣的,;Visual FoxPro 7從各方面來說,均非Visual FoxPro 6可比擬的,,升級開發(fā)工具是必然的,。所以,希望各位,,升級到Visual FoxPro 7吧,!

Visual FoxPro是什么

作為市場上最靈活和功能最強大的數(shù)據(jù)庫管理系統(tǒng),Visual FoxPro擁有悠久而輝煌的發(fā)展歷史,。它初創(chuàng)時是Fox Software公司的FoxBASE產(chǎn)品,,“Fox”(這是國際編程界對它的稱呼)一種可靠、便捷和高效的程序員用的數(shù)據(jù)庫產(chǎn)品而名聞遐邇,。 世界上沒有一種產(chǎn)品像 Visual FoxPro 那樣運行,,它是獨一無二的!

許多人在享受了Visual FoxPro的服務(wù)后卻說不清它是什么,。就讓我們沿著它的發(fā)展軌跡了解了解它吧,!這會使您能對它有更深刻的認識。

FoxPro隸屬于一種名為Xbase的DBMS類別,。Xbase這個術(shù)語很常見,,他表示諸如FoxPro、dBASEIII PLUS,、dBASEIV,、FoxBASE+以及ARAGO的語言。Xbase最初起源于一個大型機使用的DBMS,,這個DBMS叫做JPLDIS(噴射推動實驗室數(shù)據(jù)庫管理和信息檢索系統(tǒng))。這個DBMS 是由美國人Jeb Long在1972年開發(fā)成功的,。到目前為止全世界的開發(fā)者和程序員已經(jīng)編寫了幾千萬行的Xbase代碼,。

追溯到80年代末,F(xiàn)oxBASE是dBase的克隆系統(tǒng),。只要是dBASEIII能做的工作,,F(xiàn)oxBASE就能做得更好更快。FoxBASE雖然擁有某些全新的特征,但它并沒有真正重大的技術(shù)突破,,只是為了運行得更快更好,,而更重要的是它與dBASEIII兼容。

FoxPro 1.0首先背離了與兼容的原則,。它開始在圖形用戶界面的設(shè)計和軟件開發(fā)方法中采用一些新的思路,,從而使它領(lǐng)先于當時年前景已不妙的dBASEIV。

從2.0開始,,F(xiàn)oxPro才真正形成了它自己的特色,。當FoxPro 2.0推出時,它包含了若干項關(guān)鍵技術(shù),,給PC數(shù)據(jù)庫開發(fā)市場帶來了革命性的變化,。這些技術(shù)是:

  1. 加入了Rushmore技術(shù),它能從事許多難以想象的復(fù)雜工作,。突然之間,,帶有以百萬計數(shù)的記錄的表格在PC數(shù)據(jù)庫系統(tǒng)中不僅成為可能,而且可以非常容易地加以實現(xiàn),,無需轉(zhuǎn)用其他比較昂貴的技術(shù),;Rushmore最重要的優(yōu)點在于它是完全自動化的,不用用戶花費精力和時間。因為有了Rushmore技術(shù),,再加上Fox天生的快速,,即使在今天Visual FoxPro仍然是最快的桌面數(shù)據(jù)庫引擎。

  2. SQL語句是FoxPro 2.0推出的另一項具有革命性意義的關(guān)鍵技術(shù),。Fox的開發(fā)人員首次用單一語句取代了整個程序過程,,并且這種支持是內(nèi)含于Fox數(shù)據(jù)引擎之中的。SQL語言曾經(jīng)并且現(xiàn)在仍然是強大的數(shù)據(jù)語言,。
    FoxPro 2.0還推出了某種所見即所得的開發(fā)報表和屏幕的工具,。

FoxPro 2.0確實具備了我們今天的Visual FoxPro擁有的一些出色的功能。GUI設(shè)計服務(wù),、SQL和極快的數(shù)據(jù)訪問,,是它明顯的特征。

FoxPro 2.5有for DOS,、for Windows版,,不過那個Windows版只是具有看上去像“Windows”的DOS應(yīng)用程序的外觀。特別是那個DOS下的版本絕對是經(jīng)典之作,,觀察身邊是不是還有很多這樣的系統(tǒng)在運行著,?當時有人這樣評價:這個軟件已經(jīng)無法再快了,除非硬件升級……

直到1995年春天Visual FoxPro推出時,,才出現(xiàn)了FoxPro的又一次重大改進(這時Microsoft已經(jīng)收購了Fox Software公司),。Visual FoxPro 3.0增加了一些人們企盼已久的特性,,使PC數(shù)據(jù)庫開發(fā)界大為震驚。我們可以看到:Visual FoxPro與FoxPro是由很大差別的,,不要再把Visual FoxPro成為FoxPro了,。這些特性是:

  1. 數(shù)據(jù)庫容器(Database Container),也叫DBC,,它增加了開發(fā)人員多年盼望的對存儲過程的支持,、與表格相關(guān)聯(lián)的數(shù)據(jù)規(guī)則和一系列的附加數(shù)據(jù)功能。

  2. 遠程數(shù)據(jù)的無縫連接,。談到連接遠程數(shù)據(jù)的處理,,大家往往會想到RDO、ADO,、BDE等處理數(shù)據(jù)引擎,,那么Visual FoxPro利用什么實現(xiàn)遠程數(shù)據(jù)的無縫連接?Visual FoxPro本身的數(shù)據(jù)處理引擎,,這和其他任何開發(fā)工具都是不同的,!Visual FoxPro數(shù)據(jù)處理引擎通過ODBC驅(qū)動程序與遠程數(shù)據(jù)庫服務(wù)器“通話”,遠程數(shù)據(jù)庫服務(wù)器的ODBC驅(qū)動程序能將Visual FoxPro數(shù)據(jù)轉(zhuǎn)化成可由他們解釋的數(shù)據(jù),;相反,,Visual FoxPro的ODBC驅(qū)動程序也能將遠程數(shù)據(jù)轉(zhuǎn)化成可由Visual FoxPro數(shù)據(jù)引擎處理的數(shù)據(jù)??梢?,只要遠程數(shù)據(jù)庫有ODBC驅(qū)動程序,就可以用Visual FoxPro最為客戶端軟件,。常見的SQL Server,、Oracle、Access等數(shù)據(jù)庫都提供ODBC驅(qū)動程序,。

  3. 在Visual FoxPro中實際操作遠程數(shù)據(jù)有兩種方法,,遠程視圖和SPT技術(shù)。視圖(View)是可更新的SQL光標,,增加了一整套的數(shù)據(jù)訪問方法,,用于數(shù)據(jù)處理、GUI顯示和報表制作,。它支持兩種類型的視圖,,即本地視圖和遠程視圖。本地視圖是基于Visual FoxPro表格的視圖,,遠程視圖是基于任何ODBC數(shù)據(jù)源的視圖,。另外為了使Visual FoxPro成為完整的C/S開發(fā)環(huán)境,除視圖之外Visual FoxPro還支持SPT(SQL Pass Through)技術(shù)來完成視圖無法完成的工作,,比如數(shù)據(jù)庫服務(wù)器的用戶管理,、存儲過程調(diào)用等。View與SPT技術(shù)的產(chǎn)生后,,Visual FoxPro就成為訪問遠程數(shù)據(jù)的主要工具,。從總體來看,創(chuàng)建整個企業(yè)范圍內(nèi)的應(yīng)用程序和使用存儲在遠程數(shù)據(jù)源中的數(shù)據(jù),,幾乎與使用Visual FoxPro表格本身一樣容易,,處理在數(shù)據(jù)存取時增加了一些命令、函數(shù),,數(shù)據(jù)處理與普通的Visual FoxPro編程沒有任何區(qū)別,。再次指出:Remote View與SPT技術(shù)是由Visual FoxPro數(shù)據(jù)處理引擎直接支持的,這與在VB,、VC++中的外部數(shù)據(jù)訪問技術(shù)不同(他們使用組件,,如:DAO、RDO,、ADO……),,所以用Visual FoxPro訪問遠程數(shù)據(jù)的效率很高,并能把遠程數(shù)據(jù)與本地數(shù)據(jù)完美的融合在一起,,最大程度地提高開發(fā)效率和程序運行效率,。

  4. 完全支持面向?qū)ο蠹夹g(shù)(OOP)。充分而健壯的實現(xiàn)了面向?qū)ο蟮奶幚矸绞酱蟠蟾纳屏塑浖_發(fā)條件,。健壯的對象模型和創(chuàng)建你自己的類及子類的所用的功能,,形成了一種全新的軟件開發(fā)手段。

Visual FoxPro 5.0是3.0的升級版本,,它是一個32位的系統(tǒng),。具備了使用和創(chuàng)建COM服務(wù)器的功能,并開始支持在Internet上發(fā)布Visual FoxPro,。從這個版本開始,,Visual FoxPro進入了Visual studio家族,并且Visual FoxPro將不再升級的謠言也是在這個時期出現(xiàn),。

在Visual FoxPro 6.0出現(xiàn)之前,,微軟計劃推出DNA,演化到今天就是.NET,,并承諾把Visual FoxPro發(fā)展成健壯的中間層工具,,所以這以后Visual FoxPro的變化初級用戶就不太容易感覺了。

Visual FoxPro 6.0也沒有根本上的變化,,不過有些變化還是相當明顯的,。Access和Assign這兩種方法在控制放入你的對象中的數(shù)據(jù)方面很有創(chuàng)意。運用新的Component Gallery(組件庫)和Foundation Classes(基礎(chǔ)類),,你能很容易地轉(zhuǎn)向創(chuàng)建面向?qū)ο蟮膽?yīng)用程序的工作,。對COM支持的更好,,在Server Pack 3后我們可以用Visual FoxPro創(chuàng)建多線程的COM組件。

Visual FoxPro 7是Fox第一個可視化版本——Visual FoxPro 3以后的最具有革命意義的一次產(chǎn)品升級換代,。關(guān)于它的特性,,稍候本文會有專門段落講解。

Visual FoxPro的語言是由Xbase,、SQL,、OOP構(gòu)成的。我不知道這樣分解是否合理,,我只是從FoxPro的發(fā)展歷史得出以上結(jié)論的,。其實以上三者在Visual FoxPro完美的融合在一起了,已經(jīng)與Visual FoxPro血脈相連,、不可分割,,很多語句、函數(shù)很難區(qū)分它屬于哪個門類(也沒必要),。再者Xbase這一叫法也不十分妥當,,這樣容易讓人誤會,好像Visual FoxPro的語言是沒有發(fā)展的“死語言”,、是十幾年前的“老古董”,,其實在FoxPro每一次升級中(現(xiàn)在已是Visual FoxPro 7)都會對這部分語言進行修訂、增補,。我看還是這樣:Visual FoxPro語言就叫它:“Visual FoxPro語言”,,它既不同于任何以往的Xbase(最多有歷史淵源),也不同于其它的編程語言,。這就象Delphi那樣,,是Object Pascal語言,不是以前的Pascal,;VB就是VB,,不是以前的 Basic。

從Fox進入可視化的時代后,,對COM技術(shù)的支持一直是Visual FoxPro在過去,、現(xiàn)在、將來不斷改進的地方,。面向?qū)ο蟪绦蛟O(shè)計(OOP)的最大的好處就在于代碼的重復(fù)使用,。然而,OOP只是一種解決代碼重復(fù)使用的一種優(yōu)秀的方案(solution),。單純利用OOP技術(shù)不僅要求所有對象都必須用一種語言完成,,并且你還需要得到原程序代碼嵌入應(yīng)用程序(就像我們在Visual FoxPro開發(fā)使用Class那樣)。如果對象是有你或你的公司完成的這些可能不是什么問題,但如果對象是由其他人或其他公司寫的這就是問題了……再者為了節(jié)省資源我們常希望把一對象放在遠程的計算機上供許多應(yīng)用程序使用,,怎樣簡單,、安全完成這個任務(wù)呢?看來,,單有OOP是不行的,!于是微軟提出了Component Object Model(COM)技術(shù),有了它我們就不需要把對象源程序嵌入我們的應(yīng)用程序中,,就可以使用其他語言開發(fā)的對象,就可以分布的使用對象了,。

COM技術(shù)提供四種不同的特性,,Visual FoxPro支持所有的COM 特性。

  1. ActiveX documents 允許用戶在一個應(yīng)用程序中編輯另一個應(yīng)用程序的document,。我們把Word文檔嵌入或鏈接到Visual FoxPro中,,就可以不離開Visual FoxPro編輯Word文檔了。

  2. ActiveX controls 為開發(fā)人員提供了增加的系統(tǒng)功能的方法,,典型的應(yīng)用就是各類ActiveX控件的使用來加強用戶界面,。這里要說明的是Visual FoxPro不支持(7.0也不支持)“集裝箱式的”ActiveX 控件,比如Cool bar控件,。

  3. Automation 允許用戶在一個應(yīng)用程序中操縱另外一個應(yīng)用程序或組件,,典型的應(yīng)用就是Visual FoxPro 與Office 的OLE-Automation應(yīng)用。

  4. Remote Automation 或者稱 Distributed COM (DCOM)與Automation技術(shù)差不多,,只是它支持組件的分布,,這就是微軟的分布式應(yīng)用戰(zhàn)略。

Visual FoxPro 不支持Active controls(ActiveX)的開發(fā),,但支持server components的開發(fā),,也就是在Automation、Remote Automation中使用的組件都可以用Visual FoxPro來開發(fā),。Visual FoxPro的這種能力是從5.0開始具有的,,到了6.0的SP 3已經(jīng)可以開發(fā)出多線程的組件了,這些在上文已經(jīng)有過論述,。以后的 Visual FoxPro 版本一定會對Automation,,特別是Remote Automation有更好的支持,無論是開發(fā)server components,,還是由Visual FoxPro充當客戶程序,。

綜上所述,Visual FoxPro是創(chuàng)建關(guān)鍵任務(wù)的,、企業(yè)范圍的,、面向?qū)ο蟮膯螌哟巍㈦p層次,、多層次應(yīng)用程序的重要開發(fā)工具,,這些應(yīng)用程序可以在本地或全球范圍內(nèi)進行配置,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多