當前位置:編程學習大全網 - 源碼下載 - VF是系統軟件嗎

VF是系統軟件嗎

其中壹個vf是推出的數據庫軟件visual foxpro的簡稱,又叫VFP。是數據庫管理系統,集成編程語言,是開發小型數據庫的前端工具。Visual FoxPro中的Visual的意思是“可視化”,該技術使得在Windows環境下設計的應用程序達到即看即得的效果。Visual FoxPro面向對象的開發環境使得無論是組織信息、運行、查詢、創建集成的關系型數據庫系統,還是編寫數據庫管理應用程序,都變得十分輕松。

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

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

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

追溯到80年代末,FoxBASE是dBase的克隆系統。只要是dBASEIII能做的工作,FoxBASE就能做得更好更快。FoxBASE雖然擁有某些全新的特征,但它並沒有真正重大的技術突破,只是為了運行得更快更好,而更重要的是它與dBASEIII兼

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

從2.0開始,FoxPro才真正形成了它自己的特色。當FoxPro 2.0推出時,它包含了若幹項關鍵技術,給PC數據庫開發市場帶來了革命性的變化。這些技術是:

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

SQL語句是FoxPro 2.0推出的另壹項具有革命性意義的關鍵技術。Fox的開發人員首次用單壹語句取代了整個程序過程,並且這種支持是內含於Fox數據引擎之中的。SQL語言曾經並且現在仍然是強大的數據語言。

FoxPro 2.0還推出了某種所見即所得的開發報表和屏幕的工具。 FoxPro 2.0確實具備了我們今天的Visual FoxPro擁有的壹些出色的功能。GUI設計服務、SQL和極快的數據訪問,是它明顯的特征。

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

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

數據庫容器(Database Container),也叫DBC,它增加了開發人員多年盼望的對存儲過程的支持、與表格相關聯的數據規則和壹系列的附加數據功能。

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

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

完全支持面向對象技術(OOP)。充分而健壯的實現了面向對象的處理方式大大改善了軟件開發條件。健壯的對象模型和創建妳自己的類及子類的所用的功能,形成了壹種全新的軟件開發手段。

Visual FoxPro 5.0是3.0的升級版本,它是壹個32位的系統。具備了使用和創建COM服務器的功能,並開始支持在Internet上發布Visual FoxPro。從這個版本開始,Visual FoxPro進入了Visual studio家族,並且Visual FoxPro將不再升級的謠言也是在這個時期出現。

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

Visual FoxPro 6.0也沒有根本上的變化,不過有些變化還是相當明顯的。Access和Assign這兩種方法在控制放入妳的對象中的數據方面很有創意。運用新的Component Gallery(組件庫)和Foundation Classes(基礎類),妳能很容易地轉向創建面向對象的應用程序的工作。對COM支持的更好,在Server Pack 3後我們可以用Visual FoxPro創建多線程的COM組件。

Visual FoxPro 7是Fox第壹個可視化版本——Visual FoxPro 3以後的最具有革命意義的壹次產品升級換代。關於它的特性,稍候本文會有專門段落講解。

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

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

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

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

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

Automation 允許用戶在壹個應用程序中操縱另外壹個應用程序或組件,典型的應用就是Visual FoxPro 與Office 的OLE-Automation應用。

Remote Automation 或者稱 Distributed COM (DCOM)與Automation技術差不多,只是它支持組件的分布,這就是微軟的分布式應用戰略。

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

綜上所述,Visual FoxPro是創建關鍵任務的、企業範圍的、面向對象的單層次、雙層次、多層次應用程序的重要開發工具,這些應用程序可以在本地或全球範圍內進行配置。

Visual FoxPro 已經過時了嗎

恕我直言,這樣的問題我真的聽膩了。這個問題我聽了好幾年了。從謠言出現到今天Visual FoxPro的版本已經生了兩次變化,就是Visual FoxPro 6.0 與2001年春天推出的Visual FoxPro 7.0。根據微軟的官方消息,Visual FoxPro 8(可能是這個名稱吧)已經在研發之中了。我不敢保證是否會有Visual FoxPro 9.0(這就像我不敢保證微軟是否在那時還存在壹樣)。可以這樣認為,只要不出意外情況(比如微軟倒閉、業界發生了重大的變革等),Fox就會平穩地發展!

在國外,壹個程序員、壹家公司把他們使用的開發工具視作壹項投資,作為Visual FoxPro的開發廠商微軟公司就必須保護客戶的投資權益,這是很基本的商業原則,微軟絕對不敢隨意淘汰有著50萬用戶的Fox,除非永遠不想賺這50萬用戶的錢了。

為什麽會有Visual FoxPro 要淘汰的傳聞呢,我不是很清楚。但這兩年微軟對Visual FoxPro的不宣傳態度卻是為這股謠言起到了推波助瀾的作用。另外Visual FoxPro 確實是壹個容易引起誤會的產品,初級用戶很容易對它產生“不怎麽樣的”評判,於是加上那謠言就產生了“Visual FoxPro 就真的要淘汰了”的幻覺了。

為什麽說Visual FoxPro 是容易引起誤會的產品呢?我總結以下幾點原因:

面向對象與面向過程之爭

我們說Visual FoxPro是面向對象化的語言,是有根據的。面向對象化的語言必須具備四個特性:抽象(Abstraction)、封裝(Encapsulation)、繼承(Inheritance)、多態(Polymorphism)。對照壹下Visual FoxPro,是不是支持這四大特性!

當然,Visual FoxPro 與C++和Object Pascal 壹樣都是歷史悠久的語言,所以語言中有很多面向過程的語素。我知道很多學校在教學中,只是教導學生們使用Visual FoxPro的面向過程的語言特色,而忽視了面向對象的教學,同樣的問題也存在於廣大的 Visual FoxPro 程序員中。我們必須明白:不能因為我們沒有使用Visual FoxPro面向對象的強大功能,而說Visual FoxPro不是面向對象的語言,這就像不能因為天下雨、沒有出太陽,而說太陽被天狗吃掉了——多麽的幼稚可笑!

  • 上一篇:二手房買賣註意事項 讓妳買賣更踏實
  • 下一篇:紅色警戒2,能不能限制電腦在空軍打我?
  • copyright 2024編程學習大全網