看完第九章的了解com數(shù)據(jù)類型,你是不是感到很絕望,它的復(fù)雜程度超出一般沒接觸過的人的想象,但其實你只需要了解一下而已。Freebasic使用它們也是很簡單,跟VB的使用差不多。你了解一下,主要是遇到問題,懂得從什么地方入手修復(fù)。
'冬瓜湯編寫整理
一門語言,有時候常常只需要兩三個牛人來做好基礎(chǔ)工作,這門語言便開始易用起來了。Freebasic也不例外。作為開源的,而且毫無特色的語言,永遠(yuǎn)不要指望它能象微軟的vb或c#那樣易用。但Freebasic是目前極少數(shù)支持64位、跨平臺,支持面向?qū)ο蟮腷asic語系語言,而且從VB到Freebasic轉(zhuǎn)換,你需要多學(xué)的東西,其實是非常少的。很多看上去是vb沒有的內(nèi)容,其實并不是vb沒有,只不過我們平時沒注意忽略而已。比如#include。vb(vba)引用一個com的ocx控件或dll,也是使用#include,只不過你會去看VBP文件嗎?很少人會去看的。Freebasic在windows上使用,和vb6的內(nèi)容是高度重疊的。只不過Freebasic能寫32/64位的標(biāo)準(zhǔn)dll,靜態(tài)庫lib,32/64的exe,以及32/64位的ocx和activeX的dll。支持64位,是我學(xué)習(xí)Freebasic的原因。
在這里,我將向afx庫的支撐者jose致敬,這是一個牛人,他的出手讓Freebasic變得易用和強大起來。

事實上,freebasic對于unicode支持并不是特別理想,特別是中文,因為那一幫老外,對于中文一無所知,而afx庫就是專用于unicode,專用于windows上的庫,它是一個
幾乎包括一個windows程序常用到的方方面面的功能基礎(chǔ)框架。
事實上afx庫里面的函數(shù)比vba要多得多,非常全面。也非常方便。凡是C開頭的都是類,afx開頭的都是函數(shù)。
這里面的很多東西,用過vb(vba),你會發(fā)現(xiàn)都很熟悉,cfilesys就是一個比fso更全面的類似fso的文件系統(tǒng)類,cTextstream就是fso中的textstream,這是一個處理文本流的類,幫助文檔中沒有出現(xiàn)的
Regexp正則類,用的也是Vbscript中的正則,當(dāng)然你可以使用其它無比強大的c的正則庫,和perl正則庫。odbc適用所有數(shù)據(jù)庫,odbc中提供一個類似dao的數(shù)據(jù)容器odbcStmt,webbrowser就是我們常用的webbrowser,你也可以使用chrome的cef庫,如果你能忍受100多M庫大小的話。winhttpRequest也是常用winHttpRequest5.1。GDI+類庫,這個是圖形類,F(xiàn)reebasic最不缺的就是圖形庫openGL,音頻庫……多達(dá)十幾個。cbstr就是vb的vbstring類型,它用類進(jìn)行包裝。Cvariant就是vb的variant,也是類進(jìn)行包裝,csafeArray就是vb的數(shù)組,也是類進(jìn)行包裝。cDicObj是vbscript中的dictionary,支持variant。ADO,這個不用我說,就是ado類。
com類庫,是調(diào)用純com(iunknown)的dll,這個Vb(vba)無法直接使用的,因為從win7開始,微軟發(fā)布的com的dll都是純com,colecon就是OLE容器,在FB中使用ocx,就是通過Colecon調(diào)用ocx控件……。