VCF

VCF

五子棋術語VCF:(Victory of Continuous Four的縮寫) 五子棋中引入的英文名稱,即利用連續不斷沖四這種絕對先手,直至最終成五而取得勝利的一種技巧。簡稱“連續沖四勝”或“連沖勝”。 常為五子棋殘局排局解題的一種取勝技巧。另外還是一種計算機術語、通訊錄格式。VCF是一個C++編寫的開源項目,全名Visual Component Framework,中文名:可視化組件框架。RTTI的實現,首先應該看語言本身對其的支持程度,象Delphi、C#、VB等語言本身就有Property屬性的,對RTTI 的實現相對就簡單的多,而C++語言本身無支持Property的語法,而在CodeProject上看到的一些實現方法,都不是太好。VCF格式通訊錄格式現在用途廣泛,一般諾基亞、摩托羅拉手機導出通訊錄的格式即為VCF。

計算機術語

檔案擴展名

outlook中的聯繫人,可以複製貼上到outlook的聯繫人當中,發信時是聯繫人的地址。

The Visual Component Framework

The Visual Component Framework is an advanced C++ application framework that makes it easy to produce powerful C++ applications. The framework is a based on a thoroughly modern C++ design and has built in support for Rapid Application Development (RAD). The framework is designed to be portable over multiple platforms and compilers, so you don't have to lose all that work that went into writing your app for a single platform!

VCF是一個C++編寫的開源項目,全名Visual Component Framework,中文名:可視化組件框架。在這裡先把我這兩天的學習體會記錄一下。

程式框架庫應該可以算是系統級軟體,它提供給用戶一種相對固化的編程方式,進而簡化系統編程。想想最開始在Win3.1下使用SDK開發程式的日子,我們真的應該感謝編出這些框架庫的英雄們。

最早且最流行的框架庫應該是Borland公司的OWL庫(早期的Borland公司推出的每一樣東西都是極品)。再後來也是目前最流行的框架庫就是MFC了,C++Builder中的VCL庫也是非常有特色的。最能評價MFC和VCL的好壞的人,應該是侯捷,他分別寫了《深入淺出 MFC》和《深入淺出VCL》,對每個庫的分析都是非常不錯的。

目前,隨著計算機技術的發展,越來越多的人們對計算機的熟悉,框架庫的數量和類別也越來越多,及外延也越來越廣,以至於在某時,我們不知道某個庫算不算框架庫。就象前幾天分析的WTL(它也變成開源項目了),以及目前名聲在外的STL、BOOST、WXWINDOW等。他們也應該屬於框架庫吧。

軟體

還有三個軟體是非常值得一提的:

1、AGG,一個類似於GDI+的2D圖形庫,寫得非常的好,如果有空,我應該將前段時間分析AGG的經驗寫出來。

2、LOKI庫,就是那個寫《C++設計新思維》的作者提供的,如果有空,我應該將前段時間分析LOKI的經驗寫出來。

3、CPPUNIT庫,一個單元測試的工具。

軟體本身

談了這么多,還是重點講一下VCF本身吧。

我看重並分析VCF的原因,應該是其RTTI功能,其次是它採用了比較先進的C++編程手法。

由於我正在編寫一個開源的工控軟體,想編寫一種通用的屬性處理程式,編了很長時間沒有進展,後來仔細分析了一下我的需求,才發現我想要實現的功能,其實就是一個RTTI的擴展功能,何不直接找一個具有RTTI功能的庫來分析一下呢?於是上網查找,發現VCF對RTTI的實現是最完整、最符合我的需要的。而其它庫,對RTTI的實現,要么不完整,要么實現方法太差。

RTTI的實現,首先應該看語言本身對其的支持程度,象Delphi、C#、VB等語言本身就有Property屬性的,對RTTI 的實現相對就簡單的多,而C++語言本身無支持Property的語法,而在CodeProject上看到的一些實現方法,都不是太好。

昨天花了一晚上將VCF的幫助文檔看完,並分析了其RTTI的實現方法,體會如下:

1、由於VCF還處在開發階段,其幫助文檔很不完善,有許多內容都是空的;

2、VCF的源碼則非常清晰,不愧不大家手筆;

3、VCF對RTTI的實現,包含在FoundationKit的RTTI目錄中,包含了十多個檔案,看其檔案內容,其實現方法應該算是中規中矩的;

4、VCF實現了如下RTTI功能:

A、運行時查找對象所對應的類的名稱、ID、描述;

B、類的繼承關係;

C、Property功能;

D、Event功能;

E、Method功能;

F、為屬性編輯而實現的Enum功能;

G、為屬性編輯而實現的Item功能;

H、運行時基於名稱和ID的動態對象創建功能;

I、Interface功能;

J、運行時類信息的註冊功能;

等等。

5、從功能上講,這非常接近我的需求,但還差如下功能:

A、基於屬性的自動保存和讀入功能(象Delphi那樣);

B、運行時提供屬性的隱藏和恢復功能,雖然目前通過其運行時增加和刪除屬性可以變通實現,但實現起來不方便;

C、屬性的分層;

D、重點屬性的標註;

6、另外,從其實現看,性能可能會是一個非常大的問題,因為其運行時對屬性的訪問都是通過名稱來訪問的,即便是通過UUID訪問,也是通過UUID的字元串訪問的,而實現上,在一個程式運行階段,大部分類屬性的訪問是不需要通過名稱來訪問,而直接可以通過序號或編號來訪問的。如果我想將它拿來用,一定要先對其性能進行重寫。

通訊錄導出的一種格式

VCF格式通訊錄格式現在用途廣泛,一般諾基亞、摩托羅拉手機導出通訊錄的格式即為VCF。可以把VCF格式保存到電腦上以備不時之需。而且現在很多網上通訊錄的導入格式也是VCF,例如飛信現在就加入了導入聯繫人的功能,可以把手機通訊錄導入飛信的通訊錄里,這樣不管你手機在不在,只要有一台電腦就可以對自己的通訊錄里的人了如指掌了。

需要強調的的是,現在一般導入VCF基本都有亂碼,可以用工具VCFEncoding工具重新導入一下,這樣就可以解決亂碼了。還可以在網上找一些網路通訊錄,裡面基本都會有用記事本改VCF的功能,可是,一個一個改比較繁瑣,建議用第一種方法,省時省力。

上面說導入VCF格式通訊錄。下面方法是比較簡便的,即向電腦導入CSV通訊錄格式。因為VCF格式是一個聯繫人一個VCF檔案,導入網路通訊錄時得一個一個導入,而CSV則是所有通訊錄都集成在一個檔案里,這樣導入的話就比較方便。先下載轉換工具超級強檔,之後安裝,安裝後運行,點檔案,其中有一欄為導入,導入VCF的資料夾就可以,之後在點檔案,有一欄為導出,導出CSV檔案就可以了,例如將通訊錄里的人導入飛信就可以用以上步驟,最後將CSV導入飛信就可以了。CSV可以用Excel編輯,自己看情況可以另外編輯。

也可以直接用WPS表格Excel打開VCF格式檔案,打開後是表格。也可以對表格進行修改。

膜過濾

入料液體積對濃縮液的體積比例為VCF,它是膜過濾一個很重要的參數。

相關搜尋

熱門詞條

聯絡我們