答:VisualBasic有三種版本,各自滿足不同的開發需要。
1.VisualBasic學習版使編程人員輕松開發Windows95和WindowsNT(R)的應用程序。該版本包括所有的內部控件連同Grid、Tab和Data_Bound控件。學習版提供的文檔有《程序員指南》、聯機幫助及VisualBasic《聯機手冊》。
2.專業版為專業編程人員提供了一整套進行開發的功能完備的工具。該版本包括學習版的全部功能連同ActiveX控件,還包括Internet控件和CrystalReportWriter。專業版提供的文檔有《程序員指南》、聯機幫助、《部件工具指南》。
3.企業版使得專業編程人員能夠開發功能強大的組內分布式應用程序。該版本包括專業版的全部功能連同自動化管理器、部件管理器、數據庫管理工具、MicrosoftVisualSourceSafe(TM)面向工程版的控制系統等等。企業版提供的文檔包括專業版的所有文檔,還有《客戶/服務器應用程序開發指南》和SourceSafeUser'sGuide。
問:安裝Visualbasic需要哪些硬件和軟件?
答:分別需要,
1.MicrosoftWindowsNT3.51或更新的版本,或MicrosoftWindows95;80486或更高的微處理器。
2.如果是全安裝,則至少需要50MB的硬盤空間。
3.一個CD-ROM驅動器。
4.MicrosoftWindows支持的VGA或更高分辨率的屏幕。
5.16MBRAM。
6.鼠標或其它定點設備。
問:如何得到關于CrystalReports的技術支持?
答:如果您在安裝CrystalReports時發生問題,請與微軟公司聯系。
如果您需要得到其他方面的技術支持,請直接和Seagate公司聯系。
Seagate公司的網頁是http://www.crystalinc.com
或http://www.img.seagatesoftware.com。
Seagate公司的技術支持電話是:01-604-669-8379或01-800-877-2340。
問:在VisualBasic中可以和哪些數據庫通訊?
答:在VisualBasic中可以和三類數據庫通訊,它們分別是:
1.VisualBasic數據庫-也被稱為本地數據庫,這類數據庫文件使用與Microsoftaccess相同的格式。Jet引擎直接創建和操作這些數據庫并且提供了最大程度的靈活性和速度。
2.外部數據庫-它們是使用幾種流行格式的"索引順序訪問方法(ISAM)"數據庫,這些流行格式包括Btrieve、dBASEIII、dBASEIV、MicrosoftFoxPRoversions2.0和2.5以及Paradoxversions3.x和4.0。在VisualBasic中能夠創建和操作所有以上格式的數據庫。也可以訪問文本文件數據庫和MicrosoftExcel或Lotus1-2-3電子表格。
3.ODBC數據庫-包括符合ODBC標準的客戶/服務器數據庫,如MicrosoftSQLServer。要在VisualBasic中創建真正的客戶/服務器應用程序,可以使用ODBCDirect直接把命令傳遞給服務器處理。
問:在VisualBasic中,如何與串行口通訊?
答:VisualBasic提供了一個MSCOMM控件,它負責從串行口接受和發送數據。您可以在VisualBasic開發環境下選擇"工程",在工程菜單下選擇"部件",從部件中選擇"MicrosoftCommControl",將MSCOMM控件加入到您的工具箱中。然后通過設置MSCOMM控件的屬性來修改串行口通訊參數如通訊口、波特率等。
問:如何在VB中調用Win32函數?
答:在VisualBasic的WINAPI子目錄下,您可以找到WIN32API.TXT,它包含Win32所有的函數說明、類型說明和全局常量值。您可以使用VisualBasic的外掛程序VBAPIViewer來選擇您所需的Win32函數,然后通過簡單的復制、粘貼技術將該函數的說明放入的VisualBasic工程中,這樣您就可以象調用VisualBasic一般函數那樣調用它了。
問:VisualBasic5.0不能正常啟動了,怎么辦?
答:這可能是兩方面原因造成的:
1.外掛程序出錯。您可以用記事本打開系統目錄下的VBAddin.ini文件,將每一項的值都改為0,即不啟動外掛程序。
2.保存的有關Office命令欄的數據出錯。在這種情況下您可以從注冊表刪除"HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/VisualBasic/5.0"這一項。修改了以上內容后,您只需重新啟動VisualBasic即可。
問:在VisualBasic中,某些控件被破壞了怎么辦?
答:您可以從VB安裝盤中找到響應文件,將它拷貝到系統目錄下。然后用regsvr32手工注冊那些控件。方法為:regsvr32xxxx.ocx
問:在多用戶環境下,MicrosoftJet如何防止其他用戶修改您的數據?
答:MicrosoftJet提供了三種不同級別上鎖定數據的方法。它可以防止多個用戶同時修改數據。
1.獨占模式阻止其他所有用戶訪問數據庫,這是限制最大的模式。
2.記錄集鎖定鎖定Recordset對象的基本表,用讀表鎖定、寫表鎖定或兩者都用。
3.頁面鎖定鎖定包含正在編輯的數據的頁面,其長度為2048個字節(2K)。這是限制最小的模式
問:保守式鎖定與開放式鎖定有什么區別?
答:使用保守式鎖定時,一旦調用Edit方法,引擎就會鎖定包含當前編輯記錄的頁面,直到顯式地提交或取消這個記錄的變更后,它才釋放這個鎖定。但它的缺點鎖定記錄的時間很長,而且不僅鎖定了用戶正在編輯的記錄,而且還會鎖定駐留在該鎖定頁面內的其它記錄。
使用開放式鎖定時,引擎僅在試圖用Update方法提交記錄變更時鎖定頁面。因為鎖定僅在應用程序試圖提交變更時發生,所以能使鎖定的時間最短。但開放式鎖定的缺點是:當用戶開始編輯記錄時,不能確定更新是否會成功。如果另一個用戶改變了第一個用戶正在編輯的記錄,那么依賴于開放式鎖定的更新將會失敗。
問:在VB5中,將一個應用程序編譯成"NativeCode",在發布該應用程序時,還需要MSVBVM50.DLL嗎?
答:需要。所有用VB5生成的應用程序都需要MSVBVM50.DLL,不管是"NativeCode"還是"P-Code"。因為需要MSVBVM50.DLL實現Form、類模塊、語言等許多功能。"NativeCode"是指不需要運行時解釋,直接就能在CPU上運行的代碼,但并不意味著靜態連接,VB5生成的應用程序需要到動態連接庫(DLL)中調用庫函數。
問:VB中如何訪問VisualFoxPro數據庫?
答:建議在VfoxPro數據庫表中設置PrimaryKey,通過最新版本的VfoxProODBC驅動程序存取VisualFoxPro數據庫,這樣可獲得較好的性能,以及避免Update時產生問題。
問:VB5的PictureBox和Image控件支持哪幾種圖形文件格式?
答:PictureBox和Image控件用來顯示圖形。它可顯示下面幾種格式的圖形:位圖、圖標、圖元文件、增強型圖元文件、JPEG或GIF文件。新支持的JPEG或GIF文件對Web頁很有用。
問:VB中提供了哪些方法用于訪問注冊表(Registry)?
答:GetSetting函數,從Windows注冊表中的應用程序項目返回注冊表項設置值。SaveSetting語句,在Windows注冊表中保存或建立應用程序項目。
DeleteSetting語句,在Windows注冊表中,從應用程序項目里刪除區域或注冊表項設置。
GetAllSettings函數,從Windows注冊表中返回應用程序項目的所有注冊表項設置及其相應值(開始是由SaveSetting產生)。
問:在VB5應用程序中,如何把某個事件記入日志?
答:LogEvent方法,在應用程序的日志目標中,把某個事件記入日志。在WindowsNT平臺上,該方法會把內容寫到NT的Event日志中。在Windows95平臺上,該方法會把內容寫到LogPath屬性指定的文件中。按照缺省規定,如果不指定文件,事件被寫入vbevents文件。
問:如何檢測文件是否存在?如何刪除文件?
答:用Dir函數可檢測文件是否存在。如果已沒有合乎條件的文件,則Dir會返回一個零長度字符串("")。
用Kill語句可刪除文件。
問:如何優化VB應用程序的顯示速度?
答:由于MicrosoftWindows的圖形特性,圖形和其它操作的顯示速度在很大程度上決定了應用程序的感覺速度。窗體出現及畫圖的速度越快,應用程序就會顯得越快。以下的幾種技術可用來提高應用程序的顯示速度:
·將容器的ClipControls屬性設置為False。
·恰當地使用AutoRedraw。
·使用Image控件替代PictureBox控件。
·設置屬性時隱藏控件以避免多次重畫。
·使用Line替代PSet。
通常,應用程序的感覺速度和代碼的實際執行速度并無多大關系。對用戶來說,啟動快、繪畫快并提供不間斷的反饋信息的應用程序顯得速度快;而在完成任務時似乎"懸掛"起來的應用程序則顯得速度慢。許多技術都可以使應用程序顯得速度快:
·隱藏窗體而不加載。
·預加載數據。
·在后臺使用定時器工作。
·使用進度指示器。
·加快應用程序的啟動速度。
問:VB5在支持Internet/Intranet開發方面有哪些新內容?
答:創建ActiveX文檔
專業版和企業版就象設計VisualBasic窗體那樣既簡單又直觀。ActiveX文檔將VisualBasic應用程序推進到Internet瀏覽器窗口中。
創建自己的ActiveX控件
專業版和企業版組合現有的控件,或由其它控件創建自己的控件。用VisualBasic創建的ActiveX控件有幾項Internet特征,包括數據的異步下載和超鏈接。
多線程的DLL
專業版和企業版標記為無用戶界面執行(即沒有用戶交互)的DLL部件可以有效地用于象Internet瀏覽器那樣的多線程應用程序中。
Internet傳輸控件
專業版和企業版提供HTTP和FTP支持的新控件。
WinSock控件
專業版和企業版允許連接到遠程計算機上,并與使用用戶數據記錄協議(UDP)或傳輸控制協議(TCP)的其它計算機進行數據交換。
超鏈接定位
專業版和企業版Hyperlink對象可以控制對ActiveX超連接功能的訪問。使用Hyperlink對象的屬性和方法,控件可以請求識別超鏈接的容器,如:MicrosoftInternetExplorer,跳轉到給定的URL或通過歷史列表定位。
異步下載
專業版和企業版通過用VisualBasic創建的ActiveX控件和ActiveX文檔,異步下載文件、字節數組或圖像。
ActiveX文檔中的菜單協商
專業版和企業版當顯示文檔時,加入到ActiveX文檔中的菜單可以與InternetExplorer(或其它支持菜單協商的瀏覽器)的菜單天衣無縫地合并在一起。
ActiveX控件接口向導
專業版和企業版一旦加入構成的控件到UserControl設計器中以后,向導可以幫助將新的ActiveX控件(即它的接口)的屬性、方法和事件映射成構成的控件和UserControl對象所提供的功能。
Internet部件下載
專業版和企業版可以使用"安裝向導"特別為Web上部署的部件打包。JPEG和GIF支持
所有版本PictureBox和Image控件,以及Picture對象,現在都支持.gif和.jpg文件,這對Web頁很有用。
從開發環境中訪問Web
所有版本直接跳轉到關于VisualBasic和其它開發產品的最新信息上。
問:如何把傳統的VB應用程序引入到瀏覽器中執行?
答:ActiveX文檔移植向導是為了把已有窗體改變成ActiveX文檔而設計的。ActiveX文檔是一種特定類型的ActiveX對象,這類對象在ActiveX文檔容器(如MicrosoftInternetExplorer)里面能被存放及激活。
問:DAO與RDO的比較
答:DAO一般通過MicrosoftJet引擎存取數據庫(下面將提到的ODBCDirect除外),適用于存取MicrosoftAccess等數據庫;
RDO直接通過ODBC存取數據庫。適用于Client/Server環境,在存取大型數據庫,如MicrosoftSQLServer時將獲得更好的性能。
使用遠程數據對象(RDO)的方式基本上與使用MicrosoftJet數據庫引擎數據訪問對象(DAO)的方法類似,RemoteData控件也與Data控件類似。使用RDO可以提交查詢、創建結果集或游標,以及用與數據庫無關的、面向對象的代碼處理查詢結果。
使用RemoteData控件,可以在創建的窗體中使用能夠被Data控件識別的所有綁定控件;還可以用很少或幾乎不用代碼處理結果集。
對現有的使用DAO及Data控件的應用程序作些稍微的改動,即可將其轉換成使用RDO和RemoteData控件。它們之間有一些區別,然而,由于實現和設計了的RDO用于關系數據庫,因此RDO并沒有它自己的查詢處理程序;它依靠數據源來處理所有的查詢,并創建結果集。數據對象本身是由ODBC驅動程序所返回的結果集和游標來建立的。
有時可能沒有必要將已有的DAO/Jet應用程序轉換為RDO,因為ODBCDirect將DAO通過RDO,而不是Jet。如果應用程序沒有使用DAOISAM對象及其方法(例如表類型的Recordset對象和Seek方法)或其它的ISAM編程方法,那么,通過少許改動便可將其轉換成ODBCDirect方式,所需的改動甚至比轉換成RDO還少。
下表列出了RDO2.0對象及其等價的DAO/Jet對象:
RDO對象
等價的DAO/Jet對象
RdoEngine
DBEngine
RdoError
Error
rdoEnvironment
Workspace
rdoConnection
Database
rdoTable
TableDef
未實現
Index
rdoResultset
Recordset
未實現
表類型
鍵集類型
動態集類型
靜態類型(r/w)
快照類型(r/o)
動態類型
(無)
僅向前類型
僅向前類型
(無游標的)
(無)
rdoColumn
Field
rdoQuery
QueryDef
rdoParameter
Parameter
未實現
Relation
未實現
Group
未實現
User
遠程數據對象使用行和列的概念,而不是記錄和域的概念,后者通常為關系數據庫的術語。查詢以結果集的形式返回數據,結果集可以包括零個或多個數據行,每行又可包括一個或多個列。DAO需要使用游標訪問數據,而RDO允許創建無游標的結果集,所需的資源大大少于游標。
有些DAO對象、方法和屬性被設計用來支持和實現Jet的ISAM結構以及可安裝的ISAM數據庫。例如,可以使用Index對象和Seek方法來管理ISAM索引,并用索引進行定位行。因為RDO和關系數據庫以完全不同的方式管理索引,所以那些對象和方法都是不需要的。
通過DAO方法和屬性,DAO也支持數據庫模式的創建、修改、參照完整性(RI)以及安全性。RDO不支持任何形式的RI、安全性或模式修改,因為服務器系統所提供的工具和實用程序完全能夠支持這些功能。
還可以運行RDO生成表查詢,或執行動作查詢,用原始SQL語句操作創建、修改及刪除數據庫或表。也可以執行復雜的存儲過程,從而管理數據庫模式或執行維護操作,這對于DAO來說是不可能的。
新聞熱點
疑難解答