来自MSDN-2001-OCT: Visual Tools and Languages/Visual Studio 6.0 Documentation/Visual Basic Documentation/Using Visual Basic/Programmer’s Guide/Part 2: What Can You Do With Visual Basic/More About Programming
一、利用多个工程进行工作
(1)单击工具栏中的“添加工程”按钮或从“文件”菜单中选择“添加工程”。
(2)要向工程组中添加现有的工程,从“文件”菜单选择“添加工程”。单击“现存”选项卡。
(3)要从工程组中删除工程,在“工程”窗口中选择工程的名字。从“文件”菜单中选择“删除工程”。
(4)改变工程的类型,方法是在“工程”菜单中选择“工程属性”命令,然后改变在“工程属性”对话框中“通用”选项卡上的“工程类型”选项。
(5)要指定启动工程,在“工程”窗口,选择一个工程。单击鼠标右键并从上下文菜单中选择“设置为启动”。
二、管理应用程序设置值
(1)Visual Basic 提供了一个标准的注册位置以存储创建于 Visual Basic 的应用程序的程序信息:
HKEY_CURRENT_USER/Software/VB and VBA Program Settings/appname/section/key
Visual Basic 也提供了四个语句或函数来处理存储在应用程序注册位置的程序设置值。GetSetting、SaveSetting、GetAllSettings、DeleteSetting。
(2)可以使用 SaveSetting 语句将一个新值保存至存储于应用程序注册位置中的注册表项中。例如,可以向应用程序的主窗体中的 Form_Unload 事件添加代码以便在停机时保存设置值,或者向“选项”对话框的 Form_Unload 事件添加代码以便更新的首选项。
SaveSetting appname,section,key,value
如果在注册位置的 Software/Microsoft 部分没有应用程序“RegCust”的注册项、或者没有这些指定的部分或注册表项,该代码将创建它。
(3)可以使用 GetSetting 和 GetAllSettings 函数检索存储在应用程序注册位置的注册值。例如,应用程序能够检索注册表设置值以便在它被关闭时重新建立其条件。
(4)可以使用 DeleteSetting 语句删除注册表项、注册部分或者应用程序注册位置。例如,当卸载一个应用程序时,也许希望删除该应用程序的所有注册表信息。
三、使用条件编译
(1)要有条件地编译代码的某一部分,应将该部分代码封闭在 #If...Then 和 #EndIf 语句之间,使用一个布尔常数作为分支检测。要编译被封闭的代码,可将该布尔常数设置为 -1 (True)。
(2)设置条件编译常数有三种方法:在“工程属性”对话框的“制作”选项卡的“条件编译参数”字段设置条件编译常数、在命令行或在代码中设置条件编译常数。
(3)在“工程属性”对话框中设置常数:参照以下示例通过冒号间隔来设置多个常数:@H_301_77@conFrenchVersion=-1:conANSI=0
(4)在命令行设置常数。如果要从命令行启动编译,可以使用 /d 开关键入条件编译常数,如下所示:
vb.exe /make MyProj.vbp /d conFrenchVersion=–1:conANSI=0
在 /d 开关与第一个常数之间不需要空格。命令行的常数声明将覆盖在“工程属性”对话框中键入的常数声明,但并不清除它们;在“工程属性”对话框中设置的参数对后续的编译保持有效。
(5)代码中的 #Const 语句,仅作用于声明该常数的模块。
四、利用资源文件进行工作
(1) 可以使用资源编译器外接程序创建资源文件。编译过的资源文件带有 .res 扩展名。每个工程只能包含一个资源文件。
(2) 资源文件实际上是由一系列独立的字符串、位图或者其它项目组成的,其中每一项都有一个唯一的标识符。标识符可能是 Long 类型或 String 类型,取决于资源所代表的数据类型。例如,字符串的标识符为 Long 型,而位图的标识符则为 Long 型或 String 型。如想在代码中检索资源,应知道每个资源的标识符。引用资源的函数参数可以使用 Variant 数据类型。
(3) 要将新资源文件添加到您的工程中,从“工具”菜单中选择“资源编辑器”,在资源编辑器工具栏中选择“保存”按钮以保存资源文件。注意 必须使用外接程序管理器加载资源编辑器外接程序。
(4)要将已存在的资源文件添加到您的工程中,从“工程”菜单中选择“添加新资源”。您的工程中任何已存在的资源文件将被替换。
(5)Visual Basic 提供了三个函数从资源文件中检索数据以供在代码中使用。LoadResString、LoadResPicture、LoadResData
五、利用模板进行工作
(1) Visual Basic 提供了各种模板以方便创建通用的应用程序部件。建立应用程序可以从定制现有的模板开始,而不必从头开始一点一点地创建应用程序的各个片段。
(2) 当创建一个新的窗体、模块、控件、属性页或者文档时,可以在“添加对象”对话框中选择模板的图标打开一个现有的模板。例如,Visual Basic 提供了内置的窗体模板以便创建“关于”对话框、“选项”对话框或者快速显示。
(3) 为了创建个人专用模板,可保存准备用作模板的对象,然后将它复制到 Visual Basic 下的 Template 目录中适当的子目录下。
(4)为了创建个人专用模板,可保存准备用作模板的对象,然后将它复制到 Visual Basic 下的 Template 目录中适当的子目录下。
六、利用命令行开关进行工作
(1) 命令行开关提供了一种控制 Visual Basic 如何工作的方式。通过使用命令行开关可以启动一个 Visual Basic 实例并且运行指定的工程、制作一个可执行文件或动态链接库,或者指定一个准备传递给 Command$ 函数的字符串。
(2) Visual Basic 的命令行开关。/cmd、/d、/make、/makedll、/mdi、/out、/run、/runexit、/sdi、/?
七、将工程编译成本机代码
(1)既可以将代码编译成标准的 Visual Basic 伪代码格式,也可以编译成本机代码格式。本机代码编译提供了伪代码编译所没有的关于优化和调试的几个选项。
(2)P-code 或伪代码,是介于 Basic 程序中的高级指令和计算机处理器执行的低级本机代码之间的一种中间步骤。在运行时刻,Visual Basic 将每一句伪代码转换成本机代码。如果将程序直接编译成本机代码,则取消了伪代码这一中间步骤。
(3)可以使用象在 Visual C++ 中提供的调试环境之类的标准的本机代码调试工具来调试编译后的本机代码。也可以使用例如在 Visual C++ 的语言中提供的优化和调试本机代码的选项。例如,可以根据代码运行速度和大小优化代码。
(4)注意 所有用 Visual Basic 创建的工程都使用运行时 DLL (MSVBVM60.DLL) 服务。在 DLL 所提供的服务当中有您应用程序的启动和关闭代码、窗体和内部控件的功能,以及像 Format 和 CLng 的运行时函数。
用“本机代码”选项来编译工程意味着您写的代码将完整地编译为处理器芯片的本地指令,而不是编译为p-code。这将大大加速循环和数学计算,并可以加速对 MSVBVM60.DLL提供的服务程序的调用。然而,这并不能减少对 DLL 的需要。
(5)要将工程编译成本机代码,在“工程属性”对话框中的“编译”选项卡,选择“编译为本机代码”。然后从“文件”菜单选择“制作 Exe”或者“生成工程组”。
(6)本机代码优化选项。禁止别名引用(高级优化)、创建 Symbolic Debug Info、支持 Pentium Pro(tm)、不优化、快速代码优化、小代码优化、取消数组边界检查(高级优化)、取消浮点数错误检查(高级优化)、取消整数溢出检查(高级优化)、取消 Pentium(tm) FDIV 安全性检查(高级优化)。