問 : Visual Basic 有哪些版本?它們有什么區(qū)別?
答 : Visual Basic 有三種版本,各自滿足不同的開發(fā)需要。
1. Visual Basic 學習版使編程人員輕松開發(fā) Windows 95 和 Windows NT(R) 的應用程序。該版本包括所有的內(nèi)部控件連同 Grid、Tab 和 Data_Bound 控件。學習版提供的文檔有《程序員指南》、聯(lián)機幫助及 Visual Basic《聯(lián)機手冊》。
2. 專業(yè)版為專業(yè)編程人員提供了一整套進行開發(fā)的功能完備的工具。該版本包括學習版的全部功能連同 ActiveX 控件,還包括 Internet 控件和 CrystalReport Writer。專業(yè)版提供的文檔有《程序員指南》、聯(lián)機幫助、《部件工具指南》。
3. 企業(yè)版使得專業(yè)編程人員能夠開發(fā)功能強大的組內(nèi)分布式應用程序。該版本包括專業(yè)版的全部功能連同自動化管理器、部件管理器、數(shù)據(jù)庫管理工具、Microsoft Visual SourceSafe(TM) 面向工程版的控制系統(tǒng)等等。企業(yè)版提供的文檔包括專業(yè)版的所有文檔,還有《客戶/服務器應用程序開發(fā)指南》和 SourceSafe User's Guide。
問 : 安裝 Visual basic 需要哪些硬件和軟件?
答 : 分別需要,
1. Microsoft Windows NT 3.51 或更新的版本,或 Microsoft Windows 95; 80486 或更高的微處理器。
2. 如果是全安裝,則至少需要 50 MB 的硬盤空間。
3. 一個 CD-ROM 驅(qū)動器。
4. Microsoft Windows 支持的 VGA 或更高分辨率的屏幕。
5. 16MB RAM。
6. 鼠標或其它定點設(shè)備。
問 : 如何得到關(guān)于 Crystal Reports 的技術(shù)支持?
答 : 如果您在安裝Crystal Reports 時發(fā)生問題, 請與微軟公司聯(lián)系。
如果您需要得到其他方面的技術(shù)支持, 請直接和 Seagate 公司聯(lián)系。
Seagate公司的網(wǎng)頁是 http://www.crystalinc.com
或 http://www.img.seagatesoftware.com。
Seagate公司的技術(shù)支持電話是: 01-604-669-8379 或 01-800-877-2340。
問 : 在 Visual Basic 中可以和哪些數(shù)據(jù)庫通訊?
答 : 在 Visual Basic 中可以和三類數(shù)據(jù)庫通訊, 它們分別是:
1. Visual Basic 數(shù)據(jù)庫 - 也被稱為本地數(shù)據(jù)庫,這類數(shù)據(jù)庫文件使用與 Microsoft Access 相同的格式。Jet 引擎直接創(chuàng)建和操作這些數(shù)據(jù)庫并且提供了程度的靈活性和速度。
2. 外部數(shù)據(jù)庫 - 它們是使用幾種流行格式的"索引順序訪問方法 (ISAM)"數(shù)據(jù)庫,這些流行格式包括 Btrieve、dBASE III、dBASE IV、Microsoft FoxPro versions 2.0 和 2.5 以及 Paradox versions 3.x 和 4.0。在 Visual Basic 中能夠創(chuàng)建和操作所有以上格式的數(shù)據(jù)庫。也可以訪問文本文件數(shù)據(jù)庫和 Microsoft Excel 或 Lotus 1-2-3 電子表格。
3. ODBC 數(shù)據(jù)庫 - 包括符合 ODBC 標準的客戶/服務器數(shù)據(jù)庫,如 Microsoft SQL Server。要在 Visual Basic 中創(chuàng)建真正的客戶/服務器應用程序,可以使用 ODBCDirect 直接把命令傳遞給服務器處理。
問 : 在Visual Basic中,如何與串行口通訊?
答 : Visual Basic 提供了一個 MSCOMM控件, 它負責從串行口接受和發(fā)送數(shù)據(jù)。您可以在Visual Basic開發(fā)環(huán)境下選擇"工程",在工程菜單下選擇"部件", 從部件中選擇"Microsoft Comm Control", 將 MSCOMM控件加入到您的工具箱中。然后通過設(shè)置MSCOMM控件的屬性來修改串行口通訊參數(shù)如通訊口、波特率等。
問 : 如何在 VB 中調(diào)用 Win32 函數(shù)?
答 : 在 Visual Basic 的 WINAPI 子目錄下, 您可以找到 WIN32API.TXT,它包含 Win32所有的函數(shù)說明、類型說明和全局常量值。您可以使用Visual Basic 的外掛程序 VB API Viewer來選擇您所需的 Win32 函數(shù),然后通過簡單的復制、粘貼技術(shù)將該函數(shù)的說明放入的Visual Basic 工程中,這樣您就可以象調(diào)用Visual Basic一般函數(shù)那樣調(diào)用它了。
問 : Visual Basic 5.0 不能正常啟動了,怎么辦?
答 : 這可能是兩方面原因造成的:
1. 外掛程序出錯。您可以用記事本打開系統(tǒng)目錄下的 VBAddin.ini 文件,將每一項的值都改為0,即不啟動外掛程序。
2. 保存的有關(guān)Office 命令欄的數(shù)據(jù)出錯。在這種情況下您可以從注冊表刪除"HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\Visual Basic\5.0" 這一項。修改了以上內(nèi)容后,您只需重新啟動 Visual Basic即可。
問 : 在Visual Basic 中, 某些控件被破壞了怎么辦?
答 : 您可以從 VB 安裝盤中找到響應文件,將它拷貝到系統(tǒng)目錄下。然后用 regsvr32 手工注冊那些控件。方法為 : regsvr32 xxxx.ocx
問 : 在多用戶環(huán)境下,Microsoft Jet 如何防止其他用戶修改您的數(shù)據(jù)?
答 : Microsoft Jet 提供了三種不同級別上鎖定數(shù)據(jù)的方法。它可以防止多個用戶同時修改數(shù)據(jù)。
1. 獨占模式 阻止其他所有用戶訪問數(shù)據(jù)庫, 這是限制的模式。
2. 記錄集鎖定 鎖定 Recordset 對象的基本表,用讀表鎖定、寫表鎖定或兩者都用。
3. 頁面鎖定 鎖定包含正在編輯的數(shù)據(jù)的頁面,其長度為 2048 個字節(jié) (2K)。這是限制最小的模式
問 : 保守式鎖定與開放式鎖定有什么區(qū)別?
答 : 使用保守式鎖定時,一旦調(diào)用 Edit 方法,引擎就會鎖定包含當前編輯記錄的頁面,直到顯式地提交或取消這個記錄的變更后,它才釋放這個鎖定。但它的缺點鎖定記錄的時間很長,而且不僅鎖定了用戶正在編輯的記錄,而且還會鎖定駐留在該鎖定頁面內(nèi)的其它記錄。
使用開放式鎖定時,引擎僅在試圖用 Update 方法提交記錄變更時鎖定頁面。因為鎖定僅在應用程序試圖提交變更時發(fā)生,所以能使鎖定的時間最短。但開放式鎖定的缺點是:當用戶開始編輯記錄時,不能確定更新是否會成功。如果另一個用戶改變了第一個用戶正在編輯的記錄,那么依賴于開放式鎖定的更新將會失敗。
問 : 在VB5中,將一個應用程序編譯成"Native Code", 在發(fā)布該應用程序時,還需要MSVBVM50.DLL 嗎?
答 : 需要。所有用VB5生成的應用程序都需要MSVBVM50.DLL,不管是"Native Code" 還是"P-Code"。因為需要MSVBVM50.DLL 實現(xiàn)Form、類模塊、語言等許多功能。"Native Code"是指不需要運行時解釋,直接就能在CPU上運行的代碼,但并不意味著靜態(tài)連接, VB5生成的應用程序需要到動態(tài)連接庫(DLL)中調(diào)用庫函數(shù)。
問 : VB 中如何訪問 Visual FoxPro 數(shù)據(jù)庫?
答 : 建議在VfoxPro數(shù)據(jù)庫表中設(shè)置 Primary Key, 通過最新版本的 VfoxPro ODBC 驅(qū)動程序存取Visual FoxPro 數(shù)據(jù)庫,這樣可獲得較好的性能,以及避免 Update 時產(chǎn)生問題。
問 : VB5 的PictureBox 和 Image 控件支持哪幾種圖形文件格式?
答 : PictureBox 和Image控件用來顯示圖形。它可顯示下面幾種格式的圖形:位圖、圖標、圖元文件、增強型圖元文件、JPEG 或 GIF 文件。新支持的JPEG 或 GIF 文件對 Web 頁很有用。
問 : VB 中提供了哪些方法用于訪問注冊表(ReGIStry)?
答 :GetSetting 函數(shù), 從 Windows 注冊表中的應用程序項目返回注冊表項設(shè)置值。SaveSetting 語句, 在 Windows 注冊表中保存或建立應用程序項目。
DeleteSetting 語句, 在 Windows 注冊表中,從應用程序項目里刪除區(qū)域或注冊表項設(shè)置。
GetAllSettings 函數(shù), 從 Windows 注冊表中返回應用程序項目的所有注冊表項設(shè)置及其相應值(開始是由 SaveSetting 產(chǎn)生)。
問: 在VB5應用程序中,如何把某個事件記入日志?
答: LogEvent 方法,在應用程序的日志目標中,把某個事件記入日志。在 Windows NT 平臺上,該方法會把內(nèi)容寫到 NT 的 Event 日志中。在 Windows 95 平臺上,該方法會把內(nèi)容寫到 LogPath 屬性指定的文件中。按照缺省規(guī)定,如果不指定文件,事件被寫入 vbevents 文件。
問: 如何檢測文件是否存在?如何刪除文件?
答: 用 Dir 函數(shù)可檢測文件是否存在。如果已沒有合乎條件的文件,則 Dir 會返回一個零長度字符串 ("")。
用Kill 語句可刪除文件。
問: 如何優(yōu)化VB 應用程序的顯示速度?
答:由于 Microsoft Windows 的圖形特性,圖形和其它操作的顯示速度在很大程度上決定了應用程序的感覺速度。窗體出現(xiàn)及畫圖的速度越快,應用程序就會顯得越快。以下的幾種技術(shù)可用來提高應用程序的顯示速度:
· 將容器的 ClipControls 屬性設(shè)置為 False。
· 恰當?shù)厥褂?AutoRedraw。
· 使用 Image 控件替代 PictureBox 控件。
· 設(shè)置屬性時隱藏控件以避免多次重畫。
· 使用 Line 替代 PSet。
答 : Visual Basic 有三種版本,各自滿足不同的開發(fā)需要。
1. Visual Basic 學習版使編程人員輕松開發(fā) Windows 95 和 Windows NT(R) 的應用程序。該版本包括所有的內(nèi)部控件連同 Grid、Tab 和 Data_Bound 控件。學習版提供的文檔有《程序員指南》、聯(lián)機幫助及 Visual Basic《聯(lián)機手冊》。
2. 專業(yè)版為專業(yè)編程人員提供了一整套進行開發(fā)的功能完備的工具。該版本包括學習版的全部功能連同 ActiveX 控件,還包括 Internet 控件和 CrystalReport Writer。專業(yè)版提供的文檔有《程序員指南》、聯(lián)機幫助、《部件工具指南》。
3. 企業(yè)版使得專業(yè)編程人員能夠開發(fā)功能強大的組內(nèi)分布式應用程序。該版本包括專業(yè)版的全部功能連同自動化管理器、部件管理器、數(shù)據(jù)庫管理工具、Microsoft Visual SourceSafe(TM) 面向工程版的控制系統(tǒng)等等。企業(yè)版提供的文檔包括專業(yè)版的所有文檔,還有《客戶/服務器應用程序開發(fā)指南》和 SourceSafe User's Guide。
問 : 安裝 Visual basic 需要哪些硬件和軟件?
答 : 分別需要,
1. Microsoft Windows NT 3.51 或更新的版本,或 Microsoft Windows 95; 80486 或更高的微處理器。
2. 如果是全安裝,則至少需要 50 MB 的硬盤空間。
3. 一個 CD-ROM 驅(qū)動器。
4. Microsoft Windows 支持的 VGA 或更高分辨率的屏幕。
5. 16MB RAM。
6. 鼠標或其它定點設(shè)備。
問 : 如何得到關(guān)于 Crystal Reports 的技術(shù)支持?
答 : 如果您在安裝Crystal Reports 時發(fā)生問題, 請與微軟公司聯(lián)系。
如果您需要得到其他方面的技術(shù)支持, 請直接和 Seagate 公司聯(lián)系。
Seagate公司的網(wǎng)頁是 http://www.crystalinc.com
或 http://www.img.seagatesoftware.com。
Seagate公司的技術(shù)支持電話是: 01-604-669-8379 或 01-800-877-2340。
問 : 在 Visual Basic 中可以和哪些數(shù)據(jù)庫通訊?
答 : 在 Visual Basic 中可以和三類數(shù)據(jù)庫通訊, 它們分別是:
1. Visual Basic 數(shù)據(jù)庫 - 也被稱為本地數(shù)據(jù)庫,這類數(shù)據(jù)庫文件使用與 Microsoft Access 相同的格式。Jet 引擎直接創(chuàng)建和操作這些數(shù)據(jù)庫并且提供了程度的靈活性和速度。
2. 外部數(shù)據(jù)庫 - 它們是使用幾種流行格式的"索引順序訪問方法 (ISAM)"數(shù)據(jù)庫,這些流行格式包括 Btrieve、dBASE III、dBASE IV、Microsoft FoxPro versions 2.0 和 2.5 以及 Paradox versions 3.x 和 4.0。在 Visual Basic 中能夠創(chuàng)建和操作所有以上格式的數(shù)據(jù)庫。也可以訪問文本文件數(shù)據(jù)庫和 Microsoft Excel 或 Lotus 1-2-3 電子表格。
3. ODBC 數(shù)據(jù)庫 - 包括符合 ODBC 標準的客戶/服務器數(shù)據(jù)庫,如 Microsoft SQL Server。要在 Visual Basic 中創(chuàng)建真正的客戶/服務器應用程序,可以使用 ODBCDirect 直接把命令傳遞給服務器處理。
問 : 在Visual Basic中,如何與串行口通訊?
答 : Visual Basic 提供了一個 MSCOMM控件, 它負責從串行口接受和發(fā)送數(shù)據(jù)。您可以在Visual Basic開發(fā)環(huán)境下選擇"工程",在工程菜單下選擇"部件", 從部件中選擇"Microsoft Comm Control", 將 MSCOMM控件加入到您的工具箱中。然后通過設(shè)置MSCOMM控件的屬性來修改串行口通訊參數(shù)如通訊口、波特率等。
問 : 如何在 VB 中調(diào)用 Win32 函數(shù)?
答 : 在 Visual Basic 的 WINAPI 子目錄下, 您可以找到 WIN32API.TXT,它包含 Win32所有的函數(shù)說明、類型說明和全局常量值。您可以使用Visual Basic 的外掛程序 VB API Viewer來選擇您所需的 Win32 函數(shù),然后通過簡單的復制、粘貼技術(shù)將該函數(shù)的說明放入的Visual Basic 工程中,這樣您就可以象調(diào)用Visual Basic一般函數(shù)那樣調(diào)用它了。
問 : Visual Basic 5.0 不能正常啟動了,怎么辦?
答 : 這可能是兩方面原因造成的:
1. 外掛程序出錯。您可以用記事本打開系統(tǒng)目錄下的 VBAddin.ini 文件,將每一項的值都改為0,即不啟動外掛程序。
2. 保存的有關(guān)Office 命令欄的數(shù)據(jù)出錯。在這種情況下您可以從注冊表刪除"HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\Visual Basic\5.0" 這一項。修改了以上內(nèi)容后,您只需重新啟動 Visual Basic即可。
問 : 在Visual Basic 中, 某些控件被破壞了怎么辦?
答 : 您可以從 VB 安裝盤中找到響應文件,將它拷貝到系統(tǒng)目錄下。然后用 regsvr32 手工注冊那些控件。方法為 : regsvr32 xxxx.ocx
問 : 在多用戶環(huán)境下,Microsoft Jet 如何防止其他用戶修改您的數(shù)據(jù)?
答 : Microsoft Jet 提供了三種不同級別上鎖定數(shù)據(jù)的方法。它可以防止多個用戶同時修改數(shù)據(jù)。
1. 獨占模式 阻止其他所有用戶訪問數(shù)據(jù)庫, 這是限制的模式。
2. 記錄集鎖定 鎖定 Recordset 對象的基本表,用讀表鎖定、寫表鎖定或兩者都用。
3. 頁面鎖定 鎖定包含正在編輯的數(shù)據(jù)的頁面,其長度為 2048 個字節(jié) (2K)。這是限制最小的模式
問 : 保守式鎖定與開放式鎖定有什么區(qū)別?
答 : 使用保守式鎖定時,一旦調(diào)用 Edit 方法,引擎就會鎖定包含當前編輯記錄的頁面,直到顯式地提交或取消這個記錄的變更后,它才釋放這個鎖定。但它的缺點鎖定記錄的時間很長,而且不僅鎖定了用戶正在編輯的記錄,而且還會鎖定駐留在該鎖定頁面內(nèi)的其它記錄。
使用開放式鎖定時,引擎僅在試圖用 Update 方法提交記錄變更時鎖定頁面。因為鎖定僅在應用程序試圖提交變更時發(fā)生,所以能使鎖定的時間最短。但開放式鎖定的缺點是:當用戶開始編輯記錄時,不能確定更新是否會成功。如果另一個用戶改變了第一個用戶正在編輯的記錄,那么依賴于開放式鎖定的更新將會失敗。
問 : 在VB5中,將一個應用程序編譯成"Native Code", 在發(fā)布該應用程序時,還需要MSVBVM50.DLL 嗎?
答 : 需要。所有用VB5生成的應用程序都需要MSVBVM50.DLL,不管是"Native Code" 還是"P-Code"。因為需要MSVBVM50.DLL 實現(xiàn)Form、類模塊、語言等許多功能。"Native Code"是指不需要運行時解釋,直接就能在CPU上運行的代碼,但并不意味著靜態(tài)連接, VB5生成的應用程序需要到動態(tài)連接庫(DLL)中調(diào)用庫函數(shù)。
問 : VB 中如何訪問 Visual FoxPro 數(shù)據(jù)庫?
答 : 建議在VfoxPro數(shù)據(jù)庫表中設(shè)置 Primary Key, 通過最新版本的 VfoxPro ODBC 驅(qū)動程序存取Visual FoxPro 數(shù)據(jù)庫,這樣可獲得較好的性能,以及避免 Update 時產(chǎn)生問題。
問 : VB5 的PictureBox 和 Image 控件支持哪幾種圖形文件格式?
答 : PictureBox 和Image控件用來顯示圖形。它可顯示下面幾種格式的圖形:位圖、圖標、圖元文件、增強型圖元文件、JPEG 或 GIF 文件。新支持的JPEG 或 GIF 文件對 Web 頁很有用。
問 : VB 中提供了哪些方法用于訪問注冊表(ReGIStry)?
答 :GetSetting 函數(shù), 從 Windows 注冊表中的應用程序項目返回注冊表項設(shè)置值。SaveSetting 語句, 在 Windows 注冊表中保存或建立應用程序項目。
DeleteSetting 語句, 在 Windows 注冊表中,從應用程序項目里刪除區(qū)域或注冊表項設(shè)置。
GetAllSettings 函數(shù), 從 Windows 注冊表中返回應用程序項目的所有注冊表項設(shè)置及其相應值(開始是由 SaveSetting 產(chǎn)生)。
問: 在VB5應用程序中,如何把某個事件記入日志?
答: LogEvent 方法,在應用程序的日志目標中,把某個事件記入日志。在 Windows NT 平臺上,該方法會把內(nèi)容寫到 NT 的 Event 日志中。在 Windows 95 平臺上,該方法會把內(nèi)容寫到 LogPath 屬性指定的文件中。按照缺省規(guī)定,如果不指定文件,事件被寫入 vbevents 文件。
問: 如何檢測文件是否存在?如何刪除文件?
答: 用 Dir 函數(shù)可檢測文件是否存在。如果已沒有合乎條件的文件,則 Dir 會返回一個零長度字符串 ("")。
用Kill 語句可刪除文件。
問: 如何優(yōu)化VB 應用程序的顯示速度?
答:由于 Microsoft Windows 的圖形特性,圖形和其它操作的顯示速度在很大程度上決定了應用程序的感覺速度。窗體出現(xiàn)及畫圖的速度越快,應用程序就會顯得越快。以下的幾種技術(shù)可用來提高應用程序的顯示速度:
· 將容器的 ClipControls 屬性設(shè)置為 False。
· 恰當?shù)厥褂?AutoRedraw。
· 使用 Image 控件替代 PictureBox 控件。
· 設(shè)置屬性時隱藏控件以避免多次重畫。
· 使用 Line 替代 PSet。

