




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VB的桌面系统开发方案程序的打包和展开81基于VB的桌面系统开发方案81课题目标学会如何为应用程序创建帮助文件了解What’sThisHelp和ToolTipText属性的使用区分P-code(伪代码)和Nativecode
(本机代码)两个编译选项的不同了解使用打包和开发向导进行程序打包和开发的步骤了解TreeView控件的使用2课题目标学会如何为应用程序创建帮助文件2回顾介绍进程和线程的概念两种部件——进程内部件(.dll)和进程外部件(.exe)。在VisualBasic中创建一个ActiveXDLL简要说明了对象浏览器在工程中的作用类型库和对象的概念介绍了ActiveX文档使用DHTML应用程序创建Internet上的文档3回顾介绍进程和线程的概念3如何创建帮助按下F1就可以调出相关主题的帮助文件一个典型的帮助窗口包括三个部分:目录显示所有帮助文件的结构信息只用鼠标就可以跳到相应主题索引和一本书的索引类似按照字母顺序列出帮助文件中创建的所有主题的一个列表。主题是我们在帮助文件中生成的主题的名称4如何创建帮助按下F1就可以调出相关主题的帮助文件4如何创建帮助(续)查找通过创建一个帮助文件信息的数据库来实现的跳跃式的查询数据库中包括了所有帮助文件中的单词用户在不知道主题的情况下可以通过指定一个单词进行查找5如何创建帮助(续)查找5MSWord的帮助对话框6MSWord的帮助对话框6VisualBasic的帮助VisualBasic6.0提供详细的帮助系统它有功能强大的帮助系统,称为MicrosoftDeveloper’sNetworkLibrary(MSDN)VisualBasic支持窗口帮助(WinHelp)和最新的HTML帮助系统7VisualBasic的帮助VisualBasic6.帮助文件的属性使用HelpFile和HelpContextID属性来指向相应的帮助文件,以便为用户提供上下文相关的帮助8帮助文件的属性使用HelpFile和HelpContextI
HelpFile属性在设计的时候通过“工程属性”对话框来设置应用程序的帮助文件。9HelpFile属性在设计的时候通过“工程属性”对话框来设设置HelpFileHelpFile属性在运行时可以通过两种方法来设置——使用App对象或是Err对象App对象使用App关键字访问指明应用程序的标题、版本、路径、可执行文件名和帮助文件,以及是否有实例在运行App对象的HelpFile属性用来指定帮助文件的名称需要有效的WinHelp(.hlp)或HTMLHelp(.chm)文件如果指定的文件不存在,则程序会告错
Err对象用来处理运行错误Err对象也支持HelpFile和HelpContext属性10设置HelpFileHelpFile属性在运行时可以通过两种设置HelpFile(续)PrivateSubForm_Load() App.HelpFile=App.Path&“\vb98.chm"EndSub11设置HelpFile(续)PrivateSubForm_设置HelpFile(续)PrivateSubcommand1_Click()DimmsgAsStringOnErrorResumeNextText3.Text=Text1.Text/Text2.Textmsg=Err.Number&""&Err.HelpFile&""&Err.DescriptionMsgBoxmsgEndSub12设置HelpFile(续)PrivateSubcomma
HelpContextID属性为应用程序的任何用户界面提供上下文主题帮助在帮助文件中为每一个主题指定一个标记,这个标记是一个数字ID,它和应用程序中的某一个指定项的主题相关例如:可以把一个命令按钮控件的HelpContextID属性设置为10000在用户选中这个按钮并按下F1时,VisualBasic就会在程序的HelpFile属性指定的帮助文件中寻找Context为10000的帮助文件如果找到,就会打开一个帮助窗口并显示这个主题;如果没有,就会告错并显示帮助文件的缺省主题在设计时,HelpContextID属性可以在属性窗口中进行设置13HelpContextID属性为应用程序的任何用户界面提供设置HelpContextID14设置HelpContextID14“What’sThisHelp”属性上下文敏感帮助的替换物提供不使用帮助窗口的对指定主题的帮助设置和上下文敏感帮助一样在设计时设置或在运行时设置都可以选中控件时可以提供一个到弹出式帮助主题的连接15“What’sThisHelp”属性上下文敏感帮助的替换“What’sThisHelp”属性在用户界面上提供帮助Winhelp和HTML帮助系统都支持这个属性“这是什么?”帮助按钮:16“What’sThisHelp”属性在用户界面上提供帮助“这是什么?”弹出帮助主题因为“这是什么?“帮助按钮包含在窗口的标题条中,所以窗口的最大化和最小化按钮会被移走17“这是什么?”弹出帮助主题因为“这是什么?“帮助按钮包含在窗“这是什么?”帮助按钮在窗体的标题条上显示:在属性窗口中把窗体的WhatsThisHelp属性设为True同时把What’sThisButton属性设为True
把BorderStyle属性设为“3-FixedDialog”选中想要提供帮助的控件在属性窗口中,在WhatsThisHelpID属性中输入相关的弹出帮助的上下文ID号18“这是什么?”帮助按钮在窗体的标题条上显示:18“这是什么?”帮助按钮(续)就象上下文敏感帮助需要一个从帮助文件到HelpContextID属性的映射一样,
‘这是什么?’帮助也需要从帮助文件到What’sThisHelpID属性的一个映射19“这是什么?”帮助按钮(续)就象上下文敏感帮助需要一个从帮助提供工具提示当光标在一个控件上停留一定时间后就会显示出来的一个小小的标签
对这个控件的功能给出一个简短的描述20提供工具提示当光标在一个控件上停留一定时间后就会显示出来的一
在设计时可以按照下面所给的步骤为一个工具条添加工具提示:在窗体中放置好一个带有按钮的工具条后,用鼠标右键单击要求工具提示的按钮选中“属性”菜单项以便弹出属性页对话框在“按钮”卡片上通过选中要设置工具提示的按钮的索引来选中这个按钮在工具提示文本框中输入帮助文本提供工具提示(续)21在设计时可以按照下面所给的步骤为一个工具条添加工具提示:提提供工具提示(续)属性页对话框22提供工具提示(续)属性页对话框22提供工具提示(续)在运行时刻可以使用下面的方法来把工具条Toolbar1的第二个按钮的tooltiptext属性设置为“Deleteafile”:Toolbar1.Buttons(2).ToolTipText=“Deleteafile”VisualBasic的大部分控件在属性页中都支持tooltiptext属性。通过下面的格式来设置Tooltiptext属性值:command1.ToolTipText=“Clicktosave”23提供工具提示(续)在运行时刻可以使用下面的方法来把工具条To编辑选项两种通用的文件格式
–伪代码(p-code)
本机代码(nativecode)一个工程可以编译为这两种格式中的任何一种这两种格式的主要区别在于可执行文件的大小和程序运行的速度24编辑选项两种通用的文件格式–24
伪代码P-code介于程序的文本文件和计算机处理器直接执行的本机代码之间的中间代码在运行时,VisualBasic把每一句伪代码翻译为本机代码,也就是把每一句伪代码转换为计算机处理器可以理解的指令如果想避免这种转换的话可以直接把程序编译为本机代码格式在执行时,VisualBasic是按照需要执行编译的这意味着当我们在VisualBasic中启动一个程序时,只让程序要运行的部分被编译伪代码指令被转换为处理器可以执行的指令在运行时,使用一个库在伪代码执行前对它进行解释25伪代码P-code介于程序的文本文件和计算机处理器直接执伪代码P-code(续)优点比本机代码产生的最终代码少,这样可以减小编译后的文件的大小编译的速度也比编译本机代码要快缺点运行起来比本机代码慢26伪代码P-code(续)优点26本机代码是处理器使用的语言,所以本机代码可以被处理器直接执行
可以跳过伪代码直接把程序编译为本机处理器的指令为用户提供比伪代码更多的优化和调试选项,因此也更可取当使用扩展的数学计算时本机代码编译执行起来会更快从“工程(Project)”菜单项中选择“工程属性(ProjectProperties)”对话框就可以选择编译选项27本机代码是处理器使用的语言,所以本机代码可以被处理器直接执行工程属性对话框中的编译选项28工程属性对话框中的编译选项28本机代码编译选项选项说明代码速度优化让编译器产生更快的代码代码大小优化最小化编译后代码的大小。无优化放弃所有的优化选项。针对PentiumPro优化优化代码,使其支持在
PentiumPro(tm)处理器上运行。产生符号化调试信息产生
.pdb文件,其中包含允许用
MicrosoftVisualC++5.0或其它兼容调试器进行调试的信息。29本机代码编译选项选项说明代码速度优化让编译器产生更快的代码本机代码编译选项(续)无别名设定通知编译器应用程序不使用别名引用。(别名就是一个名字,它指向的内存位置已经被另外一个名字引用)取消数组边界检查禁用
VisualBasic的数组边界检查。缺省情况下VisualBasic会检查一个数组的索引是否超出边界,如果越界会给出一个错误信息。取消整数溢出检查禁用
VisualBasic的整数溢出检查。取消浮点错误检查禁用
VisualBasic的浮点数错误检查。取消PentiumFDIV安全检查禁用对
Pentium(tm)处理器浮点数除法的安全检查。允许不舍入的浮点操作允许不用对浮点数进行舍入获取精确值就对浮点数表达式进行比较。30本机代码编译选项(续)无别名设定通知编译器应用程序不使用别名生成编译文件设置好编译选项后就可以对工程进行编译了选中“文件(File)”菜单中的“生成‘工程名称’{EXE|DLL}”选项这样就对工程进行编译并检测所有的编译错误,最后在目标目录下生成EXE或DLL文件31生成编译文件设置好编译选项后就可以对工程进行编译了31条件编译
只想编译程序中的部分代码在不同的版本中可以包括应用程序的某些特别的功能,例如设计一个可以在不同的平台上运行的应用程序或者在一个以多种语言发布的应用程序中显示信息在代码中可以使用预定义的常量来决定编译程序中的哪一部分代码将要被编译32条件编译只想编译程序中的部分代码32条件编译(续)设置条件编译常数有三种方法:在“工程属性”对话框中在命令行中在代码中条件编译常数有特别的作用范围,如何设置条件编译常数可能取决于希望常数具有怎样的作用范围33条件编译(续)设置条件编译常数有三种方法:33条件编译(续)#IfconGermanVersionThen Msgbox“GutenMorgen”#ElseIfconFrenchVersionThen Msgbox“BonJour”#Else Msgbox“GoodDay”#EndIf如何设置范围“工程属性”对话框Public作用于工程中的所有模块命令行Public作用于工程中的所有模块代码中的
#Const语句Private仅作用于声明该常数的模块34条件编译(续)#IfconGermanVersionTh条件编译(续)为了把一个程序编译为德语版本,从“工程”菜单选择“工程属性”单击“工程属性”对话框中的“生成”选项卡,在“条件编译参数”字段中键入一个参数,例如conFrenchVersion=–1当程序被编译时,该参数将满足#If...Then的条件,处于#If...Then和#EndIf之间的代码将包含进编译后的程序中35条件编译(续)为了把一个程序编译为德语版本,从“工程”菜单选条件编译变量通过冒号间隔来设置多个常数36条件编译变量通过冒号间隔来设置多个常数36在命令行中设置常数如果要从命令行启动编译,可以使用/d开关键入条件编译常数:vb6.exe/MakeProject1.vbp/dconGermanVersion=–1命令行的常数声明较之在“工程属性”对话框中键入的常数声明有较高的优先级,但并不清除它们;在“工程属性”对话框中设置的参数对后续的编译保持有效布尔值True和–1相等37在命令行中设置常数如果要从命令行启动编译,可以使用/d开#Const语句用来定义条件编译常数#Constconstantname=expressionconstantname是常量的名字,expression可以是文字、其它的条件编译常数或包含算术或逻辑运算符的任意组合例如,在代码中使用#Const语句来为一个日语版本定义一个条件编译常量: #ConstconJapanVersion=138#Const语句用来定义条件编译常数38打包和发布程序打包和发布向导帮助我们为程序创建所需要的安装包装类型
把程序发布到软盘、网络或者Web上这些文件中包含VB运行时所需要的库、任何其它必需的.dll文件和帮助文件、数据文件、文档和ReadMe文件创建两种类型的软件包标准软件包
Internet软件包39打包和发布程序打包和发布向导39打包和发布程序(续)打包把程序的可执行文件包装到一个称为发布单元的软件包中的操作易于开发而且易于将应用程序安装到用户的计算机上40打包和发布程序(续)打包40启动向导一种启动方法从“开始”菜单中选中“程序”从MicrosoftVisualStudio6.0中选中MicrosoftVisualBasic6.0工具选中打包和展开向导另一种启动方法从“外接程序”菜单中选中“外接程序管理
器”
从外接程序列表中选中打包和展开向导选中加载行为中的加载/卸载选项,然后单击“确定(OK)”按钮41启动向导一种启动方法41启动向导(续)42启动向导(续)42启动向导(续)打包把应用程序打包为可展开的.cab文件.cab文件取代了VisualBasic前面版本中的一长串的压缩文件。.ocx文件、输入文件.inf和其它的一些相关文件现在都包含在.cab文件中43启动向导(续)打包43启动向导(续)展开将软件包发布到软盘、网络或Web媒体上管理脚本浏览、编辑或删除包装和部署向导中前面两部分创建的脚本44启动向导(续)展开44创建一个安装程序“包类型”窗口显示了两个选项:标准安装包相关文件
我们选中标准安装包来创建一个安装程序,它使用一个setup.exe来安装一个应用程序45创建一个安装程序“包类型”窗口显示了两个选项:45创建一个安装程序(续)46创建一个安装程序(续)46创建一个安装程序(续)在“包类型”窗口中单击“下一步(Next)”按钮,接着显示的是“打包文件夹”窗口选择安装包存储的文件夹位置可以是一个本地的文件夹也可以是一个网络上的某个位置,通过选择“网络”按钮可以选择要存放的网络位置还可以选择“新建文件夹”来创建一个新的文件夹47创建一个安装程序(续)在“包类型”窗口中单击“下一步(Nex创建一个安装程序(续)48创建一个安装程序(续)48创建一个安装程序(续)“包含文件”窗口给出了安装包中包含的文件的列表在这个列表中可以看到我们的程序的可执行文件和其它一些从属文件如果想添加文件,可以单击“添加”按钮49创建一个安装程序(续)“包含文件”窗口给出了安装包中包含的文创建一个安装程序(续)50创建一个安装程序(续)50创建一个安装程序(续)“压缩文件选项”窗口
用来指定如何根据发布程序的需要来进行压缩。多个压缩文件选项选择合适的选项保证每个压缩文件的大小不超过计划使用的磁盘的容量51创建一个安装程序(续)“压缩文件选项”窗口51创建一个安装程序(续)52创建一个安装程序(续)52创建一个安装程序(续)53创建一个安装程序(续)53创建一个安装程序(续)“启动菜单项”窗口用来指定应用程序在Windows启动菜单中的位置“安装位置”窗口用来指定正常安装时各个文件的位置54创建一个安装程序(续)“启动菜单项”窗口用来指定应用程序在W创建一个安装程序(续)55创建一个安装程序(续)55创建一个安装程序(续)56创建一个安装程序(续)56创建一个安装程序(续)“共享文件”窗口用来指定安装后哪些文件用作共享文件最后一个窗口让我们在文本框中输入名称用来保存会话设置以便将来使用57创建一个安装程序(续)“共享文件”窗口用来指定安装后哪些文件创建一个安装程序(续)58创建一个安装程序(续)58创建一个安装程序(续)59创建一个安装程序(续)59开始展开单击向导中的“展开”按钮可以选择是展开到一个软盘(如果前面打包选择的是压缩到多个文件),还是展开到光盘,或是发布到网络上,或是发布到Web(Web公布选项)上展开一个包60开始展开展开一个包60展开到软盘用软盘作为发布的媒体时,程序的大小受到很大的限制因为一张高密度的软盘可以存储的内容也就是1.44MB,这就限制了程序的大小要在一张软盘的存储范围之内而且,如果对程序有了修改,则软盘需要重新创建、复制和发布
要求选中的软盘驱动器是存在的优点用来读取软盘的硬件设备几乎在每台电脑上都可以找到,另外一个好处是软盘的便携性61展开到软盘用软盘作为发布的媒体时,程序的大小受到很大的限制6展开方法窗口62展开方法窗口62展开到光盘容量比软盘要大得多,一张光盘可以容纳600MB程序的大小不再受限制使用光盘来发布程序也很便捷光盘可以完全自启动Windows95/98和WindowsNT都支持自启动的光驱只要用户把光盘放入光驱中就可以开始启动安装程序63展开到光盘容量比软盘要大得多,一张光盘可以容纳600MB6网络发布需要考虑程序的大小、网络的带宽、速度和网络连接的可靠性两种方法:第一种方法是把网络作为一种媒体用来把应用程序传输到客户端应用程序保存在服务器端,被下载并安装到客户
端第二种方法是创建一个网络安装,只有很少的几个文件拷贝到客户端每当客户端执行程序时,再把必要的文件下载到客户端的RAM中64网络发布需要考虑程序的大小、网络的带宽、速度和网络连接的可靠网络发布(续)尽管使用基于网络的发布需要大量的网络数据传输,但是这种方法还是很有益处的因为文件是集中存放在服务器端,所以对文件做修改和更新是很容易实现的不需要象使用软盘那样多次发布在打包和展开向导中如果选择了网络发布,则安装包会拷贝到一个选中的网络环境的某个位置上65网络发布(续)尽管使用基于网络的发布需要大量的网络数据传输,文件夹窗口66文件夹窗口66在Web上展开可以让我们把应用程序发布到Internet上优点:客户端不需要运行任何安装工具来把应用程序安装到本机上,只需要一个浏览器来和应用程序进行交互。省去了邮寄软盘给远程客户的手续用户不需要在安装时和多张磁盘打交道保证用户总是可以获得程序的最新版本,也就是说任何更新立即有效实现Web发布,要选中“展开方法”窗口中的“Web发布”选项67在Web上展开可以让我们把应用程序发布到Internet上6在Web上展开(续)68在Web上展开(续)68“展开项”窗口69“展开项”窗口69展开的附加项70展开的附加项70设置Web发布站点71设置Web发布站点71卸载程序MicrosoftWindows95/98和WindowsNT要求所有在Windows操作系统中安装的应用程序都要有相应的卸载程序用户安装应用程序setup程序会把一个St6unst.exe拷贝到\Windows或者\Winnt目录下VisualBasic会在应用程序的安装目录下产生一个log文件(St6unst.log)72卸载程序MicrosoftWindows95/98和Wi卸载程序(续).log文件中包含下面一些信息:在安装时创建的目录安装文件的所在位置创建或修改的注册表的入口Windows创建的开始菜单的入口通过控制面板中的添加/删除程序来卸载一个应用程序73卸载程序(续).log文件中包含下面一些信息:73Setup工具包是一个和VisualBasic一块安装的程序,打包和展开向导在创建一个安装程序时使用到它包含有应用程序的Setup程序在把文件安装到用户的计算机上时所用到的窗体和代码打包和展开向导中包含了Setup工具包创建的setup1.exe文件74Setup工具包是一个和VisualBasic一块安装的程Setup工具包(续)可以用来修改安装程序过程中的屏幕界面直接创建一个安装程序位于VisualBasic根目录下的\Wizards\PDWizard\Setup1子目录下75Setup工具包(续)可以用来修改安装程序过程中的屏幕界面7Setup工具包(续)在安装过程中有两个setup程序:setup.exe在用户的计算机上执行预安装过程,包括安装setup1.exe和任何其它主安装程序需要的文件setup1.exe是Setup工具包自己定义的76Setup工具包(续)在安装过程中有两个setup程序:76TreeView控件提供了一种通用的组织相关数据的方法把数据组织为分层的树状数据从一个根结点开始,下面是一些相关的结点每一个结点称为根结点的子结点每个子结点又可以有它自己的子结点,如此类推77TreeView控件提供了一种通用的组织相关数据的方法77Windows资源管理器(TreeView的例子)78Windows资源管理器(TreeView的例子)78TreeView控件(续)用户可以通过折叠或展开某个分支来查看感兴趣的信息使用结点的属性和事件可以对每个结点的信息进行操作使用结点可以显示图片79TreeView控件(续)用户可以通过折叠或展开某个分支来查TreeView控件(续)我们也可以使用一个复选框来让用户根据需要标记某些特殊的结点需要通过在“部件”对话框中选中选项“MicrosoftWindowsCommonControls6.0”才能让它在工具箱中显示80TreeView控件(续)我们也可以使用一个复选框来让用户根属性LineStyle返回或设置在结点间显示的线的类型 object.LineStyle[=number]number参数的设置如下:tvwTreeLines对应值0,它要求显示结点到它的父结点的连线tvwRootLines对应值1,不仅要求显示结点到它的父结点的连线,而且要求显示到根结点的连线使用格式如下: Treeview1.LineStyle=tvwRootLines81属性LineStyle81属性(续)Nodes使用下面的格式来返回到结点集合中一个结点的引用: object.Nodes可以使用标准的集合方法来处理Nodes对象(例如,Add和Remove方法)我们可以使用集合中每个元素的下标来访问元素,或者使用元素对应的唯一关键字(保存在Key属性中)来访问这个元素Nodes集合的Add方法使用格式如下: object.Nodes.Add(relative,relationship,key,text,image,selectedimage)82属性(续)Nodes82Add方法的参数设置设置值对应值说明tvwFirst0这个结点被插入到和relative参数指定的结点同一级的所有结点的前面。tvwLast1这个结点被插入到和relative参数指定的结点同一级的所有结点的后面。一般情况下所有随后结点都是紧跟着前一个插入。tvwNext2(缺省)结点作为relative参数指定的结点的后一个结点插入。tvwPrevious3结点作为relative参数指定的结点的前一个结点插入。tvwChild4插入的结点作为relative参数指定的结点的一个子结点。83Add方法的参数设置设置值对应值说明tvwFirst0这个结Add方法的参数relative用来给出新结点和这个已存在结点的关系
relationship按照表中所给的参数值设置新结点的相对位置key为新结点指定一个唯一的关键字text给出用来显示结点时使用的文本信息image给定在和TreeView控件相关的图片列表中一幅图片的索引值selectedimage指定一幅在图片列表中的图片的索引值,这幅图片在结点被选中时显示84Add方法的参数relative84Node对象的属性Checked返回结点对应的复选框是否被选中 object.Checked
[=boolean]Expanded返回一个值,从这个值可以判断一个结点当前是展开的还是折叠的 object.Expanded[=boolean]85Node对象的属性Checked85Node对象的属性(续)Index用来返回或设置结点集合中结点的唯一标
志 object.IndexChildren返回一个结点对象包含的子结点的个数 object.Children86Node对象的属性(续)Index86Node对象的属性(续)Sorted返回或设置一个值,用来决定是否对该结点的子结点按照字母顺序进行排序也可以用来设置一个值以决定是否对一个TreeView控件的根一级的结点按照字母顺序进行排序
object.Sorted[=Boolean]布尔值参数的设置含义如下:True-按照结点的Text属性值进行按字母顺序的排序False-不进行排序在代码中: node.Sorted=True87Node对象的属性(续)Sorted87Node对象的属性(续)Style设置TreeView控件中每个结点对相对应显示的图片的类型(图片、文本、加号/减号或者线)和文本 object.Style[=number]Number参数的每个设置值的含义如下:0–
只能为文本1–
可以同时设置图片和文本
2–可以同时设置加号/减号和文本
3–可以同时设置加号/减号、图片和文本88Node对象的属性(续)Style88Node对象的属性(续)4–
可以同时设置线和文本5–
可以同时设置线、图片和文本
6–
可以同时设置线、加号/减号和文本7–
(缺省)可以同时设置线、加号/减号、图片和文本在代码中:Treeview1.Style=tvwTreelinesPlusMinusText89Node对象的属性(续)4–可以同时设置线和文本89Node对象的属性(续)CheckBoxes决定是否在一个结点旁设置一个复选框 object.CheckBoxes[=Boolean]如果设置为True,则在结点旁设置复选
框,否则不设置 TreeView1.Checkboxes=True90Node对象的属性(续)CheckBoxes90事件Expand在TreeView控件中的一个结点对象被展开时发生,也就是当它的子结点变为可见的时候发生 PrivateSubobject_Expand(ByValnodeAsNode)这里的node指这个被展开的结点发生在Click和DblClick事件之后91事件Expand91事件(续)PrivateSubTreeView1_Expand(ByValNodeAsNode) IfNode.Index<>1Then Node.Expanded=False EndIfEndSub92事件(续)PrivateSubTreeView1_Exp事件(续)Collapse当TreeView控件中的任何结点被折叠时触发
PrivateSubobject_Collapse(ByValnodeAsNode)
这儿的node参数指那个被点中的结点对象在标准Click事件之前发生93事件(续)Collapse93事件(续)PrivateSubTreeView1_Collapse(ByValNodeAsNode) IfNode.Children>1Then Node.Expanded=True EndIfEndSub94事件(续)PrivateSubTreeView1_Col事件(续)NodeClick在一个结点对象被单击时发生PrivateSubobject_NodeClick(ByValnodeAsNode)
在用户单击结点对象时发生 PrivateSubTreeView1_NodeClick(ByVal_ NodeAsNode) Form1.Caption="Text:"&Node.Text EndSub95事件(续)NodeClick95方法StartLabelEdit允许用户编辑一个标签 Object.StartLabelEdit PrivateSubForm_Click() IfTreeView1.SelectedItem.Index<>1Then TreeView1.StartLabelEdit EndIf EndSub96方法StartLabelEdit96创建一个TreeView控件PrivateSubForm_Load()DimnddAsNodeSetndd=TreeView1.Nodes.Add(,,"cust","Customer")Setndd=TreeView1.Nodes.Add("cust",tvwChild,"aust","Australia")Setndd=TreeView1.Nodes.Add("cust",tvwChild,"eng","England")Setndd=TreeView1.Nodes.Add("aust",tvwChild,"adam","Adam")Setndd=TreeView1.Nodes.Add("aust",tvwChild,"joe","Joe")Setndd=TreeView1.Nodes.Add("aust",tvwChild,"jim","Jim")Setndd=TreeView1.Nodes.Add("aust",tvwChild,"tom","Tom")Setndd=TreeView1.Nodes.Add("eng",tvwChild,"andr","Andrew")Setndd=TreeView1.Nodes.Add("eng",tvwChild,"jac","Jacob")TreeView1.LineStyle=tvwRootLinesEndSub97创建一个TreeView控件PrivateSubForm一个TreeView控件98一个TreeView控件98本课总结一个典型的帮助窗口包括三个选项卡目录索引查找VisualBasic支持两种帮助系统WinHelpHTML一个工程可以被编译为伪代码或本机代码条件编译为应用程序打包TreeView控件99本课总结一个典型的帮助窗口包括三个选项卡99基于VB的桌面系统开发方案程序的打包和展开8100基于VB的桌面系统开发方案81课题目标学会如何为应用程序创建帮助文件了解What’sThisHelp和ToolTipText属性的使用区分P-code(伪代码)和Nativecode
(本机代码)两个编译选项的不同了解使用打包和开发向导进行程序打包和开发的步骤了解TreeView控件的使用101课题目标学会如何为应用程序创建帮助文件2回顾介绍进程和线程的概念两种部件——进程内部件(.dll)和进程外部件(.exe)。在VisualBasic中创建一个ActiveXDLL简要说明了对象浏览器在工程中的作用类型库和对象的概念介绍了ActiveX文档使用DHTML应用程序创建Internet上的文档102回顾介绍进程和线程的概念3如何创建帮助按下F1就可以调出相关主题的帮助文件一个典型的帮助窗口包括三个部分:目录显示所有帮助文件的结构信息只用鼠标就可以跳到相应主题索引和一本书的索引类似按照字母顺序列出帮助文件中创建的所有主题的一个列表。主题是我们在帮助文件中生成的主题的名称103如何创建帮助按下F1就可以调出相关主题的帮助文件4如何创建帮助(续)查找通过创建一个帮助文件信息的数据库来实现的跳跃式的查询数据库中包括了所有帮助文件中的单词用户在不知道主题的情况下可以通过指定一个单词进行查找104如何创建帮助(续)查找5MSWord的帮助对话框105MSWord的帮助对话框6VisualBasic的帮助VisualBasic6.0提供详细的帮助系统它有功能强大的帮助系统,称为MicrosoftDeveloper’sNetworkLibrary(MSDN)VisualBasic支持窗口帮助(WinHelp)和最新的HTML帮助系统106VisualBasic的帮助VisualBasic6.帮助文件的属性使用HelpFile和HelpContextID属性来指向相应的帮助文件,以便为用户提供上下文相关的帮助107帮助文件的属性使用HelpFile和HelpContextI
HelpFile属性在设计的时候通过“工程属性”对话框来设置应用程序的帮助文件。108HelpFile属性在设计的时候通过“工程属性”对话框来设设置HelpFileHelpFile属性在运行时可以通过两种方法来设置——使用App对象或是Err对象App对象使用App关键字访问指明应用程序的标题、版本、路径、可执行文件名和帮助文件,以及是否有实例在运行App对象的HelpFile属性用来指定帮助文件的名称需要有效的WinHelp(.hlp)或HTMLHelp(.chm)文件如果指定的文件不存在,则程序会告错
Err对象用来处理运行错误Err对象也支持HelpFile和HelpContext属性109设置HelpFileHelpFile属性在运行时可以通过两种设置HelpFile(续)PrivateSubForm_Load() App.HelpFile=App.Path&“\vb98.chm"EndSub110设置HelpFile(续)PrivateSubForm_设置HelpFile(续)PrivateSubcommand1_Click()DimmsgAsStringOnErrorResumeNextText3.Text=Text1.Text/Text2.Textmsg=Err.Number&""&Err.HelpFile&""&Err.DescriptionMsgBoxmsgEndSub111设置HelpFile(续)PrivateSubcomma
HelpContextID属性为应用程序的任何用户界面提供上下文主题帮助在帮助文件中为每一个主题指定一个标记,这个标记是一个数字ID,它和应用程序中的某一个指定项的主题相关例如:可以把一个命令按钮控件的HelpContextID属性设置为10000在用户选中这个按钮并按下F1时,VisualBasic就会在程序的HelpFile属性指定的帮助文件中寻找Context为10000的帮助文件如果找到,就会打开一个帮助窗口并显示这个主题;如果没有,就会告错并显示帮助文件的缺省主题在设计时,HelpContextID属性可以在属性窗口中进行设置112HelpContextID属性为应用程序的任何用户界面提供设置HelpContextID113设置HelpContextID14“What’sThisHelp”属性上下文敏感帮助的替换物提供不使用帮助窗口的对指定主题的帮助设置和上下文敏感帮助一样在设计时设置或在运行时设置都可以选中控件时可以提供一个到弹出式帮助主题的连接114“What’sThisHelp”属性上下文敏感帮助的替换“What’sThisHelp”属性在用户界面上提供帮助Winhelp和HTML帮助系统都支持这个属性“这是什么?”帮助按钮:115“What’sThisHelp”属性在用户界面上提供帮助“这是什么?”弹出帮助主题因为“这是什么?“帮助按钮包含在窗口的标题条中,所以窗口的最大化和最小化按钮会被移走116“这是什么?”弹出帮助主题因为“这是什么?“帮助按钮包含在窗“这是什么?”帮助按钮在窗体的标题条上显示:在属性窗口中把窗体的WhatsThisHelp属性设为True同时把What’sThisButton属性设为True
把BorderStyle属性设为“3-FixedDialog”选中想要提供帮助的控件在属性窗口中,在WhatsThisHelpID属性中输入相关的弹出帮助的上下文ID号117“这是什么?”帮助按钮在窗体的标题条上显示:18“这是什么?”帮助按钮(续)就象上下文敏感帮助需要一个从帮助文件到HelpContextID属性的映射一样,
‘这是什么?’帮助也需要从帮助文件到What’sThisHelpID属性的一个映射118“这是什么?”帮助按钮(续)就象上下文敏感帮助需要一个从帮助提供工具提示当光标在一个控件上停留一定时间后就会显示出来的一个小小的标签
对这个控件的功能给出一个简短的描述119提供工具提示当光标在一个控件上停留一定时间后就会显示出来的一
在设计时可以按照下面所给的步骤为一个工具条添加工具提示:在窗体中放置好一个带有按钮的工具条后,用鼠标右键单击要求工具提示的按钮选中“属性”菜单项以便弹出属性页对话框在“按钮”卡片上通过选中要设置工具提示的按钮的索引来选中这个按钮在工具提示文本框中输入帮助文本提供工具提示(续)120在设计时可以按照下面所给的步骤为一个工具条添加工具提示:提提供工具提示(续)属性页对话框121提供工具提示(续)属性页对话框22提供工具提示(续)在运行时刻可以使用下面的方法来把工具条Toolbar1的第二个按钮的tooltiptext属性设置为“Deleteafile”:Toolbar1.Buttons(2).ToolTipText=“Deleteafile”VisualBasic的大部分控件在属性页中都支持tooltiptext属性。通过下面的格式来设置Tooltiptext属性值:command1.ToolTipText=“Clicktosave”122提供工具提示(续)在运行时刻可以使用下面的方法来把工具条To编辑选项两种通用的文件格式
–伪代码(p-code)
本机代码(nativecode)一个工程可以编译为这两种格式中的任何一种这两种格式的主要区别在于可执行文件的大小和程序运行的速度123编辑选项两种通用的文件格式–24
伪代码P-code介于程序的文本文件和计算机处理器直接执行的本机代码之间的中间代码在运行时,VisualBasic把每一句伪代码翻译为本机代码,也就是把每一句伪代码转换为计算机处理器可以理解的指令如果想避免这种转换的话可以直接把程序编译为本机代码格式在执行时,VisualBasic是按照需要执行编译的这意味着当我们在VisualBasic中启动一个程序时,只让程序要运行的部分被编译伪代码指令被转换为处理器可以执行的指令在运行时,使用一个库在伪代码执行前对它进行解释124伪代码P-code介于程序的文本文件和计算机处理器直接执伪代码P-code(续)优点比本机代码产生的最终代码少,这样可以减小编译后的文件的大小编译的速度也比编译本机代码要快缺点运行起来比本机代码慢125伪代码P-code(续)优点26本机代码是处理器使用的语言,所以本机代码可以被处理器直接执行
可以跳过伪代码直接把程序编译为本机处理器的指令为用户提供比伪代码更多的优化和调试选项,因此也更可取当使用扩展的数学计算时本机代码编译执行起来会更快从“工程(Project)”菜单项中选择“工程属性(ProjectProperties)”对话框就可以选择编译选项126本机代码是处理器使用的语言,所以本机代码可以被处理器直接执行工程属性对话框中的编译选项127工程属性对话框中的编译选项28本机代码编译选项选项说明代码速度优化让编译器产生更快的代码代码大小优化最小化编译后代码的大小。无优化放弃所有的优化选项。针对PentiumPro优化优化代码,使其支持在
PentiumPro(tm)处理器上运行。产生符号化调试信息产生
.pdb文件,其中包含允许用
MicrosoftVisualC++5.0或其它兼容调试器进行调试的信息。128本机代码编译选项选项说明代码速度优化让编译器产生更快的代码本机代码编译选项(续)无别名设定通知编译器应用程序不使用别名引用。(别名就是一个名字,它指向的内存位置已经被另外一个名字引用)取消数组边界检查禁用
VisualBasic的数组边界检查。缺省情况下VisualBasic会检查一个数组的索引是否超出边界,如果越界会给出一个错误信息。取消整数溢出检查禁用
VisualBasic的整数溢出检查。取消浮点错误检查禁用
VisualBasic的浮点数错误检查。取消PentiumFDIV安全检查禁用对
Pentium(tm)处理器浮点数除法的安全检查。允许不舍入的浮点操作允许不用对浮点数进行舍入获取精确值就对浮点数表达式进行比较。129本机代码编译选项(续)无别名设定通知编译器应用程序不使用别名生成编译文件设置好编译选项后就可以对工程进行编译了选中“文件(File)”菜单中的“生成‘工程名称’{EXE|DLL}”选项这样就对工程进行编译并检测所有的编译错误,最后在目标目录下生成EXE或DLL文件130生成编译文件设置好编译选项后就可以对工程进行编译了31条件编译
只想编译程序中的部分代码在不同的版本中可以包括应用程序的某些特别的功能,例如设计一个可以在不同的平台上运行的应用程序或者在一个以多种语言发布的应用程序中显示信息在代码中可以使用预定义的常量来决定编译程序中的哪一部分代码将要被编译131条件编译只想编译程序中的部分代码32条件编译(续)设置条件编译常数有三种方法:在“工程属性”对话框中在命令行中在代码中条件编译常数有特别的作用范围,如何设置条件编译常数可能取决于希望常数具有怎样的作用范围132条件编译(续)设置条件编译常数有三种方法:33条件编译(续)#IfconGermanVersionThen Msgbox“GutenMorgen”#ElseIfconFrenchVersionThen Msgbox“BonJour”#Else Msgbox“GoodDay”#EndIf如何设置范围“工程属性”对话框Public作用于工程中的所有模块命令行Public作用于工程中的所有模块代码中的
#Const语句Private仅作用于声明该常数的模块133条件编译(续)#IfconGermanVersionTh条件编译(续)为了把一个程序编译为德语版本,从“工程”菜单选择“工程属性”单击“工程属性”对话框中的“生成”选项卡,在“条件编译参数”字段中键入一个参数,例如conFrenchVersion=–1当程序被编译时,该参数将满足#If...Then的条件,处于#If...Then和#EndIf之间的代码将包含进编译后的程序中134条件编译(续)为了把一个程序编译为德语版本,从“工程”菜单选条件编译变量通过冒号间隔来设置多个常数135条件编译变量通过冒号间隔来设置多个常数36在命令行中设置常数如果要从命令行启动编译,可以使用/d开关键入条件编译常数:vb6.exe/MakeProject1.vbp/dconGermanVersion=–1命令行的常数声明较之在“工程属性”对话框中键入的常数声明有较高的优先级,但并不清除它们;在“工程属性”对话框中设置的参数对后续的编译保持有效布尔值True和–1相等136在命令行中设置常数如果要从命令行启动编译,可以使用/d开#Const语句用来定义条件编译常数#Constconstantname=expressionconstantname是常量的名字,expression可以是文字、其它的条件编译常数或包含算术或逻辑运算符的任意组合例如,在代码中使用#Const语句来为一个日语版本定义一个条件编译常量: #ConstconJapanVersion=1137#Const语句用来定义条件编译常数38打包和发布程序打包和发布向导帮助我们为程序创建所需要的安装包装类型
把程序发布到软盘、网络或者Web上这些文件中包含VB运行时所需要的库、任何其它必需的.dll文件和帮助文件、数据文件、文档和ReadMe文件创建两种类型的软件包标准软件包
Internet软件包138打包和发布程序打包和发布向导39打包和发布程序(续)打包把程序的可执行文件包装到一个称为发布单元的软件包中的操作易于开发而且易于将应用程序安装到用户的计算机上139打包和发布程序(续)打包40启动向导一种启动方法从“开始”菜单中选中“程序”从MicrosoftVisualStudio6.0中选中MicrosoftVisualBasic6.0工具选中打包和展开向导另一种启动方法从“外接程序”菜单中选中“外接程序管理
器”
从外接程序列表中选中打包和展开向导选中加载行为中的加载/卸载选项,然后单击“确定(OK)”按钮140启动向导一种启动方法41启动向导(续)141启动向导(续)42启动向导(续)打包把应用程序打包为可展开的.cab文件.cab文件取代了VisualBasic前面版本中的一长串的压缩文件。.ocx文件、输入文件.inf和其它的一些相关文件现在都包含在.cab文件中142启动向导(续)打包43启动向导(续)展开将软件包发布到软盘、网络或Web媒体上管理脚本浏览、编辑或删除包装和部署向导中前面两部分创建的脚本143启动向导(续)展开44创建一个安装程序“包类型”窗口显示了两个选项:标准安装包相关文件
我们选中标准安装包来创建一个安装程序,它使用一个setup.exe来安装一个应用程序144创建一个安装程序“包类型”窗口显示了两个选项:45创建一个安装程序(续)145创建一个安装程序(续)46创建一个安装程序(续)在“包类型”窗口中单击“下一步(Next)”按钮,接着显示的是“打包文件夹”窗口选择安装包存储的文件夹位置可以是一个本地的文件夹也可以是一个网络上的某个位置,通过选择“网络”按钮可以选择要存放的网络位置还可以选择“新建文件夹”来创建一个新的文件夹146创建一个安装程序(续)在“包类型”窗口中单击“下一步(Nex创建一个安装程序(续)147创建一个安装程序(续)48创建一个安装程序(续)“包含文件”窗口给出了安装包中包含的文件的列表在这个列表中可以看到我们的程序的可执行文件和其它一些从属文件如果想添加文件,可以单击“添加”按钮148创建一个安装程序(续)“包含文件”窗口给出了安装包中包含的文创建一个安装程序(续)149创建一个安装程序(续)50创建一个安装程序(续)“压缩文件选项”窗口
用来指定如何根据发布程序的需要来进行压缩。多个压缩文件选项选择合适的选项保证每个压缩文件的大小不超过计划使用的磁盘的容量150创建一个安装程序(续)“压缩文件选项”窗口51创建一个安装程序(续)151创建一个安装程序(续)52创建一个安装程序(续)152创建一个安装程序(续)53创建一个安装程序(续)“启动菜单项”窗口用来指定应用程序在Windows启动菜单中的位置“安装位置”窗口用来指定正常安装时各个文件的位置153创建一个安装程序(续)“启动菜单项”窗口用来指定应用程序在W创建一个安装程序(续)154创建一个安装程序(续)55创建一个安装程序(续)155创建一个安装程序(续)56创建一个安装程序(续)“共享文件”窗口用来指定安装后哪些文件用作共享文件最后一个窗口让我们在文本框中输入名称用来保存会话设置以便将来使用156创建一个安装程序(续)“共享文件”窗口用来指定安装后哪些文件创建一个安装程序(续)157创建一个安装程序(续)58创建一个安装程序(续)158创建一个安装程序(续)59开始展开单击向导中的“展开”按钮可以选择是展开到一个软盘(如果前面打包选择的是压缩到多个文件),还是展开到光盘,或是发布到网络上,或是发布到Web(Web公布选项)上展开一个包159开始展开展开一个包60展开到软盘用软盘作为发布的媒体时,程序的大小受到很大的限制因为一张高密度的软盘可以存储的内容也就是1.44MB,这就限制了程序的大小要在一张软盘的存储范围之内而且,如果对程序有了修改,则软盘需要重新创建、复制和发布
要求选中的软盘驱动器是存在的优点用来读取软盘的硬件设备几乎在每台电脑上都可以找到,另外一个好处是软盘的便携性160展开到软盘用软盘作为发布的媒体时,程序的大小受到很大的限制6展开方法窗口161展开方法窗口62展开到光盘容量比软盘要大得多,一张光盘可以容纳600MB程序的大小不再受限制使用光盘来发布程序也很便捷光盘可以完全自启动Windows95/98和WindowsNT都支持自启动的光驱只要用户把光盘放入光驱中就可以开始启动安装程序162展开到光盘容量比软盘要大得多,一张光盘可以容纳600MB6网络发布需要考虑程序的大小、网络的带宽、速度和网络连接的可靠性两种方法:第一种方法是把网络作为一种媒体用来把应用程序传输到客户端应用程序保存在服务器端,被下载并安装到客户
端第二种方法是创建一个网络安装,只有很少的几个文件拷贝到客户端每当客户端执行程序时,再把必要的文件下载到客户端的RAM中163网络发布需要考虑程序的大小、网络的带宽、速度和网络连接的可靠网络发布(续)尽管使用基于网络的发布需要大量的网络数据传输,但是这种方法还是很有益处的因为文件是集中存放在服务器端,所以对文件做修改和更新是很容易实现的不需要象使用软盘那样多次发布在打包和展开向导中如果选择了网络发布,则安装包会拷贝到一个选中的网络环境的某个位置上164网络发布(续)尽管使用基于网络的发布需要大量的网络数据传输,文件夹窗口165文件夹窗口66在Web上展开可以让我们把应用程序发布到Internet上优点:客户端不需要运行任何安装工具来把应用程序安装到本机上,只需要一个浏览器来和应用程序进行交互。省去了邮寄软盘给远程客户的手续用户不需要在安装时和多张磁盘打交道保证用户总是可以获得程序的最新版本,也就是说任何更新立即有效实现Web发布,要选中“展开方法”窗口中的“Web发布”选项166在Web上展开可以让我们把应用程序发布到Internet上6在Web上展开(续)167在Web上展开(续)68“展开项”窗口168“展开项”窗口69展开的附加项169展开的附加项70设置Web发布站点170设置Web发布站点71卸载程序MicrosoftWindows95/98和WindowsNT要求所有在Windows操作系统中安装的应用程序都要有相应的卸载程序用户安装应用程序setup程序会把一个St6unst.exe拷贝到\Windows或者\Winnt目录下VisualBasic会在应用程序的安装目录下产生一个log文件(St6unst.log)171卸载程序MicrosoftWindows95/98和Wi卸载程序(续).log文件中包含下面一些信息:在安装时创建的目录安装文件的所在位置创建或修改的注册表的入口Windows创建的开始菜单的入口通过控制面板中的添加/删除程序来卸载一个应用程序172卸载程序(续).log文件中包含下面一些信息:73Setup工具包是一个和VisualBasic一块安装的程序,打包和展开向导在创建一个安装程序时使用到它包含有应用程序的Setup程序在把文件安装到用户的计算机上时所用到的窗体和代码打包和展开向导中包含了Setup工具包创建的setup1.exe文件173Setup工具包是一个和VisualBasic一块安装的程Setup工具包(续)可以用来修改安装程序过程中的屏幕界面直接创建一个安装程序位于VisualBasic根目录下的\Wizards\PDWizard\Setup1子目录下174Setup工具包(续)可以用来修改安装程序过程中的屏幕界面7Setup工具包(续)在安装过程中有两个setup程序:setup.exe在用户的计算机上执行预安装过程,包括安装setup1.exe和任何其它主安装程序需要的文件setup1.exe是Setup工具包自己定义的175Setup工具包(续)在安装过程中有两个setup程序:76TreeView控件提供了一种通用的组织相关数据的方法把数据组织为分层的树状数据从一个根结点开始,下面是一些相关的结点每一个结点称为根结点的子结点每个子结点又可以有它自己的子结点,如此类推176TreeView控件提供了一种通用的组织相关数据的方法77Windows资源管理器(TreeView的例子)177Windows资源管理器(TreeView的例子)78TreeView控件(续)用户可以通过折叠或展开某个分支来查看感兴趣的信息使用结点的属性和事件可以对每个结点的信息进行操作使用结点可以显示图片178TreeView控件(续)用户可以通过折叠或展开某个分支来查TreeView控件(续)我们也可以使用一个复选框来让用户根据需要标记某些特殊的结点需要通过在“部件”对话框中选中选项“MicrosoftWindowsCommonControls6.0”才能让它在工具箱中显示179TreeView控件(续)我们也可以使用一个复选框来让用户根属性LineStyle返回或设置在结点间显示的线的类型 object.LineStyle[=number]number参数的设置如下:tvwTreeLines对应值0,它要求显示结点到它的父结点的连线tvwRootLines对应值1,不仅要求显示结点到它的父结点的连线,而且要求显示到根结点的连线使用格式如下: Treeview1.LineStyle=tvwRootLines180属性LineStyle81属性(续)Nodes使用下面的格式来返回到结点集合中一个结点的引用: object.Nodes可以使用标准的集合方法来处理Nodes对象(例如,Add和Remove方法)我们可以使用集合中每个元素的下标来访问元素,或者使用元素对应的唯一关键字(保存在Key属性中)来访问这个元素Nodes集合的Add方法使用格式如下: object.Nodes.Add(relative,relationship,key,text,image,selectedimage)181属性(续)Nodes82Add方法的参数设置设置值对应值说明tvwFirst0这个结点被插入到和relative参数指定的结点同一级的所有结点的前面。tvwLast1这个结点被插入到和relative参数指定的结点同一级的所有结点的后面。一般情况下所有随后结点都是紧跟着前一个插入。tvwNext2(缺省)结点作为relative参数指定的结点的后一个结点插入。tvwPrevious3结点作为relative参数指定的结点的前一个结点插入。tvwChild4插入的结点作为relative参数指定的结点的一个子结点。182Add方法的参数设置设置值对应值说明tvwFirst0这个结Add方法的参数relative用来给出新结点和这个已存在结点的关系
relationship按照表中所给的参数值设置新结点的相对位置key为新结点指定一个唯一的关键字text给出用来显示结点时使用的文本信息image给定在和TreeView控件相关的图片列表中一幅图片的索引值selectedimage指定一幅在图片列表中的图片的索引值,这幅图片在结点被选中时显示183Add方法的参数relative84Node对象的属性Checked返回结点对应的复选框是否被选中 object.Checked
[=boolean]Expanded返回一个值,从这个值可以判断一个结点当前是展开的还是折叠的 object.Expanded[=boolean]184Node对象的属性Checked85Node对象的属性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 试用员工流程管理制度
- 财务绩效考核管理制度
- 财政水利资金管理制度
- 货物电梯设备管理制度
- 货运物流公司管理制度
- 2025年中国互联力量训练器材行业市场全景分析及前景机遇研判报告
- 2025年中国催化加热器行业市场全景分析及前景机遇研判报告
- 二铺货车转让协议书范本
- 清洗安全协议书范本
- 连杆设备转让协议书范本
- 《管理会计》说课及试讲
- 二手农机买卖合同协议书
- 2024年大学试题(宗教学)-伊斯兰教文化笔试考试历年典型考题及考点含含答案
- 植筋、界面处理检验批质量验收记录表
- 机床安全 压力机 第 2 部分:机械压力机安全要求
- 住院医师规范化培训临床小讲课的设计与实施培训课件
- 多图中华民族共同体概论课件第十三讲先锋队与中华民族独立解放(1919-1949)根据高等教育出版社教材制作
- JJF 1101-2019 环境试验设备温度、湿度参数校准规范
- 2024年陕西省政工师理论知识考试参考题库(含答案)
- 化工工程基础知识培训课件
- 市政道路工程技术标
评论
0/150
提交评论