最新VB中利用第三方控件实现软件在线升级
- 格式:doc
- 大小:37.00 KB
- 文档页数:7
如何利用VBA实现Excel自动化报表生成与更新Excel自动化报表生成与更新的优势与应用Excel作为一款广泛应用于办公和数据处理的软件,被众多企业和个人广泛使用。
当今,数据报表的生成和更新对于企业管理和决策的重要性日益增加。
在这个过程中,利用VBA(Visual Basic for Applications)编写自动化脚本可以大大提高报表生成和更新的效率。
本文将介绍如何利用VBA实现Excel自动化报表生成与更新,并探讨其优势与应用。
首先,我们将简要介绍VBA是什么以及它在Excel中的应用。
VBA是一种基于Visual Basic的编程语言,内嵌在Microsoft Office套件中,包括Excel、Word、PowerPoint等软件中。
VBA可以通过编写宏来自动化执行重复的任务,从而减少人为干预、降低错误率、提高效率。
在Excel中,通过编写VBA脚本,我们可以实现自动化报表的生成、数据的提取和处理、图表的绘制等一系列操作。
接下来,我们将详细介绍利用VBA实现Excel自动化报表生成与更新的步骤与技巧。
首先,我们需要定义报表的格式和内容,包括报表标题、数据表格、图表等。
然后,通过VBA编写脚本,实现数据的提取和处理。
可以利用Excel中的函数、条件判断、循环等语句来完成各种数据操作。
接着,我们可以使用VBA绘制图表,通过图表可以直观地展示数据的变化和趋势。
最后,我们可以将完成的报表保存为Excel文件,设置合适的命名规则和保存路径。
同时,我们也需要注意一些编写VBA脚本的技巧。
首先,良好的代码注释和命名规范可以提高代码的可读性和可维护性。
其次,可以利用Excel的宏录制功能来生成基础代码,然后根据需求进行二次开发。
此外,使用模块化编程思维,将大的任务拆分为多个小的子任务,以方便调试和维护。
同时,我们也可以利用VBA的调试工具,如单步执行、观察变量等,来查找和解决代码中的错误。
VBA实现Excel自动化报表生成与更新具有诸多优势和应用。
以下是我的具体思路:写两个程序,一个是主程序;一个是升级程序(升级程序放在服务器上);说明:所有升级任务都由升级程序完成。
1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件等)到临时文件夹; 2.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序(同时记下主程序的状态);3.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置,同时注册相应的文件;4.检查主程序的状态,若状态为活动的,则启动新的主程序; 5.关闭升级程序。
6.祝贺你,升级完成。
由于网友提出了关于升级这个升级程序的问题,以下是对其思路进行的一点补充,但原文仍然是升级主程序的,具体代码需读者自己添加:7.主程序升级完毕;8.升级程序继续检查所下载的临时文件中是否含有NewU pdate.exe(新的升级程序)和re name.exe(是一个可以更改文件名的程序);9.若存在以上两个文件,表示要更新Updat e.exe文件;启动renam e.exe程序,同时updat e.exe关掉自己;10.ren ame.e xe程序检测upda te.ex e是否已被关掉,若已关掉,删除该upda te.ex e。
移动临时文件夹中的NewU pdate.exe文件到主程序的目录下,同时更名为updat e.exe;11.re name.exe关掉自己。
12.OK,至此升级程序也被升级了。
下面进行具体的程序编写,需建立三个工程,然后把它们编辑成一个组,三个工程需共用一个模块。
建立工程步骤:1.建立工程proMa in:打开vb,“新建工程”,选择“标准EXE”,再给工程中添加模块,并且命名为modC ommon,修改窗体名为frm Main,同时修改工程名为pr ojMai n,然后保存到某个文件夹(譬如在桌面建立个文件夹U pdate),窗体、模块和工程分别保存为frmMa in.fr m、mod Commo n.bas、proj Main.vbp;2. 建立工程proj NewMa in:点击菜单“文件新建工程” ,选择“标准EX E”,点击菜单“工程添加模块”,在弹出的对话框中选择“现存”标签,定位到Upd ate文件夹,选中m odCom mon.b as模块。
利用VB制作系统服务来维护教学软件的运行在VB中,可以使用System.ServiceProcess命名空间来创建和控制系统服务。
通过制作系统服务,可以实现对教学软件的运行进行维护和监控,确保软件的正常运行和稳定性。
下面是一个制作系统服务的示例。
首先,我们需要创建一个新的VB控制台应用程序项目。
然后,添加一个新的类文件,命名为"Service.vb",并在该文件中添加以下代码:```vbImports System.ServiceProcessPublic Partial Class ServiceInherits ServiceBaseProtected Overrides Sub OnStart(ByVal args( As String)'在服务启动时执行的操作End SubProtected Overrides Sub OnStop'在服务停止时执行的操作End Sub'定时器触发事件,执行需要定时进行的操作'例如检查教学软件的运行状态,如果异常则自动重启If Not CheckSoftwareRunning( Then'教学软件没有在运行,执行重启操作RestartSoftwareEnd IfEnd SubPrivate Function CheckSoftwareRunning( As Boolean'检查教学软件的运行状态' 返回True表示教学软件正在运行,返回False表示教学软件没有在运行'TODO:实现检查教学软件的运行状态的代码End FunctionPrivate Sub RestartSoftware'重启教学软件'TODO:实现重启教学软件的代码End SubEnd Class```在Timer_Elapsed方法中,我们可以编写检查教学软件运行状态和重启软件的相关逻辑。
、如何充分扩充VB功能Visual Basic for Windowss3.0(简称VB)是目前开发WINDOWS应用软件的最有效工具之一,它综合运用了BAIC语言和新的可视化设计工具,不仅功能强大,而且简单易学。
其次,VB具有事件驱动的编程机制,它充分利用WINDOWS图形环境的特点,能让开发人员快速地构造强大的应用程序。
那么在开发VB应用软件时,如何充分地扩充VB的功能呢?这就要求在不同的层次上要很好地利用VB最具威力和特色的部分:●在函数层调用动态链接库。
●在控件层使用VBX。
●在应用层执行其他应用程序。
一、在函数层调用功能态链接库(DLL)WINDOWS操作系统实际上是由许多功能强大的动态链接库(DLL)组合而成。
VB考虑到有些工作超过自身语言所及的能力范围,所以提供了直接调用操作系统中这些DLL子程序的能力。
例如:在正常情况下,窗口的控制菜单提供了七种功能:还原、移动、大小、最小化、最大化、关闭和切换。
而在实际应用中,我们希望窗口按设计时的大小显示,不允许用户随意改变窗口大小,也不允许切换到其他窗口,这就要求在设计时必须删除控制菜单中除“移动”和“关闭”选项以外的所有控制菜单项。
要完成这一任务,我们首先可把窗体的MaxButton属性和MinButton属性设置为False,不允许窗体最小化和最大化,窗体也就不能还原。
然后再把窗体的BorderSstyle属性设置为1-Fixed Single或3-Fixed Double,不允许窗体改变大小。
但VB本身却无法删除“切换”选项和两条分隔线。
幸运的是,通过调用WINDOWS DLL就很容易做到。
通常,要使用WINDOWS DLL,首先必须说明要使用的DLL子程序,我们可在两个地方说明所使用的DLL子程序,即在全局模块中说明,或者在窗体层的说明部分中说明。
其格式是:Declare Sub子程序名Lib“库名”[Alias“别名”][([参数])]Declare Function子程序名Lib“库名”[Aliass“别名”][([参数])][AS数据类型]第一种格式表示过程没有返回值,第二种格式表示过程返回一个值,该值可用于表达式中,库名如果用的是WINDOWS操作环境(在System目录下)中的库,如“USER.EXE”,“KERNEL.EXE”或者“GDI.EXE”等,就用此名作为库名。
计算机技术使用中的软件更新与升级方法在计算机技术的快速发展中,软件更新与升级是保持软件安全性和稳定性的关键步骤。
本文将向大家介绍一些常用的软件更新与升级方法,以帮助计算机用户更好地应对软件更新的挑战。
首先,大多数软件都会提供自动更新的选项,该选项可在软件安装过程中自动勾选或在软件设置中手动启用。
一旦启用了自动更新功能,软件将会自动检测并下载最新的版本,然后在后台自动进行更新。
这种方法可以确保软件始终是最新版本,且更新过程对用户来说是完全无感的。
其次,对于一些不支持自动更新的软件,用户可以通过手动检查更新的方式来获取最新版本。
通常,软件开发商会在他们的官方网站上提供最新版本的下载,用户只需访问该网站,并在下载页面中选择适用于自己操作系统的版本进行下载。
这种方法相对来说更加繁琐,但可以给用户提供更多的选择权和控制权。
另外,一些操作系统也提供了软件更新的功能。
Windows操作系统中的Windows Update、macOS中的App Store和Linux中的包管理器都可以检查系统中已安装软件的更新并进行更新。
通过使用操作系统提供的软件更新功能,用户可以一次性更新多个软件,减少手动更新的工作量,并确保系统中所有软件都得到及时更新。
除了以上方法外,还有一些第三方工具可以帮助用户进行软件更新与升级。
这些工具通常具有更加友好的用户界面和更加智能的更新机制。
用户只需下载和安装这些工具,并运行它们,它们将会自动检测并更新用户已安装的软件。
然而,用户需要注意使用可信的第三方工具,并仔细阅读并理解工具使用条款和隐私政策,以确保个人信息和计算机安全。
在进行软件更新与升级时,用户应该时刻注意软件更新的安全性。
不少恶意软件会伪装成正式的软件更新,以便入侵用户的计算机系统。
因此,用户应该仅从官方网站或官方渠道下载软件更新,并尽量避免点击可疑的弹窗、邮件附件或未知来源的下载链接。
此外,用户还可以安装杀毒软件和防火墙来提升计算机的安全性,并定期更新和扫描系统以确保安全。
⼀、插件介绍 从结构上来看,⼀个VB插件实际上是⼀个COM组件,原则上组件可以使⽤⽀持COM的开发⼯具,例如Delphi、VC来编写。
组件通过实现COM中的IDTExtensibility对象来建⽴与VB的连接。
组件注册以后,当VB运⾏中在Add-In菜单中装载组件后,VB就会调⽤组件中IDTExtensibility对象中的相应⽅法(如在装载组件后会调⽤OnConnection⽅法)。
这时整个插件就成为VB的⼀部分从⽽可以访问VB开发环境中的各种对象和资源了。
利⽤VB本⾝来编写插件是⼀个很好的办法,⾸先通过VB可以快速建⽴⼀个IDTExtensibility对象框架(当然在VB中不叫这个名称);其次VB对于整个开发环境都提供了相应的对象供插件访问和控制,⽽使⽤插件的主要⽬的就是通过插件来控制宿主程序;最后是调试⼗分的⽅便,可以直接运⾏看结果,不需要编译注册。
⼆、建⽴程序框架 ⾸先我们来建⽴程序框架,以下的代码和说明都是使⽤Win2K+VB6中⽂企业版完成的,在VB英⽂版以及Win9X下运⾏通过只是程序中对于界⾯的说明根据不同的VB会有不同。
打开VB,点击菜单中的⽂件 | 新建项,在新建⼯程窗⼝中选择“外接程序” 项(在英⽂版中是Addin),然后点击确定按钮建⽴插件⼯程。
建⽴完毕后在⼯程列表窗⼝中可以看到新⼯程的名称为MyAddIn。
其中包含两个对象,在窗体类中包含frmAddIn窗体,在设计器类中包含Connect设计器对象。
VB已经为插件设⽴了⼀个基本框架,下⾯按F5运⾏插件并将VB主窗⼝最⼩化。
然后再打开⼀个VB程序,在其中建⽴⼀个标准 Exe⼯程。
点击菜单的外接程序 | 外接程序管理器项。
在打开的外接程序管理器窗⼝的列表中可以看到其中有⼀个My Add-In 项,点击该项,然后将下⾯加载⾏为(英⽂版中是Load Behavior)区域中的三个复选框都选中后点击确定按钮装载插件。
用VB6.0编写自我升级的程序(一)曾经有位网友和我讨论怎样编写一个通过服务器对客户机上的程序进行自我升级的问题,由于我的项目也涉及到自我升级,当时我把我的解决方案提了出来,那就是做一个类似于瑞星的升级程序。
在这里我也发现了很多的网友对这个问题很困惑,故我愿意把我的设计方案写出来与大家共享,大家也可以通过这个思路用其他语言进行改写。
以下是我的具体思路:写两个程序,一个是主程序;一个是升级程序(升级程序放在服务器上);说明:所有升级任务都由升级程序完成。
1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件等)到临时文件夹;2.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序(同时记下主程序的状态);3.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置,同时注册相应的文件;4.检查主程序的状态,若状态为活动的,则启动新的主程序;5.关闭升级程序。
6.祝贺你,升级完成。
由于网友提出了关于升级这个升级程序的问题,以下是对其思路进行的一点补充,但原文仍然是升级主程序的,具体代码需读者自己添加:7.主程序升级完毕;8.升级程序继续检查所下载的临时文件中是否含有NewUpdate.exe(新的升级程序)和rename.exe(是一个可以更改文件名的程序);9.若存在以上两个文件,表示要更新Update.exe文件;启动rename.exe程序,同时update.exe关掉自己;10.rename.exe程序检测update.exe是否已被关掉,若已关掉,删除该update.exe。
移动临时文件夹中的NewUpdate.exe文件到主程序的目录下,同时更名为update.exe;11.rename.exe关掉自己。
12.OK,至此升级程序也被升级了。
下面进行具体的程序编写,需建立三个工程,然后把它们编辑成一个组,三个工程需共用一个模块。
建立工程步骤:1.建立工程proMain:打开vb,“新建工程”,选择“标准EXE”, 再给工程中添加模块,并且命名为modCommon,修改窗体名为frmMain,同时修改工程名为projMain,然后保存到某个文件夹(譬如在桌面建立个文件夹Update),窗体、模块和工程分别保存为frmMain.frm、modCommon.bas、projMain.vbp;2.建立工程projNewMain:点击菜单“文件|新建工程”,选择“标准EXE”,点击菜单“工程|添加模块”,在弹出的对话框中选择“现存”标签,定位到Update文件夹,选中modCommon.bas模块。
VB使用DDE技术为应用程序增辉上上网的朋友一定都用过网络蚂蚁(Net Ants)的吧?不知你在使用过程中有没有注意过,那就是如果你想调动两个“蚂蚁”为您效力是不可能的——它总会把新运行的关闭。
而“蚂蚁”程序的妙处就在于:在重复运行“蚂蚁”时它不仅拒绝运行,而且能把已经运行的“蚂蚁”激活,这样用上面的程序就无能为力了。
但事实上实现拒绝运行并激活已运行的程序有多种方法:1、用FindWindow函数得到已经运行窗体的句柄(HWND),然后用SetActiveWindow 等API函数将其激活。
其缺点也很明显,那就是没法传递参数。
2、用FindWindow函数得到已运行窗体的句柄后用SendMessage的方法给窗体传送一个自定义消息(附带参数),然后在窗体中拦截并进行处理,但这样做要修改窗体的标准消息处理程序,用在VC,BC或DELPHI编写的程序中还行,但在VB中工作量太大,并且容易发生“一般保护行错误”使VB崩溃,不太可取(当然,如果你有足够的信心和不怕崩溃的精神,也可以试一下^_^ )。
3、使用DDE技术。
所谓DDE技术,就是动态数据交换技术。
也许你很奇怪,这与本文所讨论的内容有什么相干的?且听我慢慢讲来。
为了实现拒绝运行并把已经运行的程序激活并实现各种功能,我们可以先用本文开头提到的方法,检测一下程序有没有被运行过,如果没有,就正常运行,如果已经被运行过,就打通与它的DDE通道,传给它一个(或一些)数据,然后由已经运行的程序对数据进行处理,再去实现各种“意想不到”的功能,这时也许就有人对这你的程序喊:“酷、酷……” ^_^好了,耳听为虚,眼见为实,下面让我们动点真格的。
打开VB,新建一个工程,选择菜单中的“工程->工程1 属性”,把工程名称改为“P1”(我爱偷懒,能短则短^_^ ),把已有的一个窗体的“LinkTopic”属性改为“FormDDE”,把“LinkMode”属性改为“1 - Source”,添加一个PictureBox控件作为DDE执行控件,命名为picDDE。
vb中掌握公共方法refreshm在VB中,Refresh方法是用于强制刷新窗体或控件的方法。
当我们对窗体或控件进行修改或操作后,有时候需要手动调用Refresh方法来更新界面以显示最新的状态。
Refresh方法的语法如下:```Control.Refresh```其中,Control是要刷新的窗体或控件的名称。
调用Refresh方法之后,系统会触发Paint事件,此事件会重新绘制窗体或控件的界面。
在重新绘制的过程中,系统会调用窗体或控件的Paint事件处理程序,以便用户可以自定义绘制界面的方式。
以下是关于Refresh方法的一些重要的注意事项和用法示例。
1.刷新窗体:```vbPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickLabel1.Text = "Hello, World!"Me.RefreshEnd Sub```2.刷新控件:除了刷新整个窗体,我们还可以刷新单个控件来更新其显示。
例如,当我们在文本框的TextChanged事件中对文本进行了处理时,可以调用Refresh方法来刷新文本框以显示处理后的结果。
```vbPrivate Sub TextBox1_TextChanged(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesTextBox1.TextChangedTextBox1.Text = TextBox1.Text.ToUpperTextBox1.RefreshEnd Sub```尽管Refresh方法可以实时更新界面,但频繁调用Refresh方法会影响性能。
因此,我们应该尽量避免在循环中或其他频繁执行的代码块中多次调用Refresh方法。
VB-写自己的在线升级程序-免服务器(1)2011年11月08日星期二下午 12:59首先我们先把程序的框架画好如图:然后我们进入代码框里面输入以下代码:Private Sub Command1_Click()Dim Zfc, Wz, Jg, Wz2, Jg2Dim Sjwz As String, jqw As StringZfc =Inet1.OpenURL("/%E5%9D%8F%E5%9D%8F%E8%AF%BA%E8%AF%BA%E8%A6% icString) ' 升级地址是我用百度的博客发布升级地址,'然后然程序检测,INET1是获取网页的源码,Zfc是接收网页的源码Wz = "【"要查找字符串 "【"。
Wz2 = "】"要查找字符串 "】"。
Jg = InStr(1, Zfc, Wz, 1)的第一个位置Jg2 = InStr(1, Zfc, Wz2, 1)一位置jqw = Val(Jg2 - Jg)Sjwz = Mid(Zfc, Val(Jg + 1), Val(jqw - 1))Text1 =Sjwz'网址赋值到文本框Me.Caption = "共获取网址长度为:" & Len(Sjwz)Text1.ToolTipText = SjwzClipboard.Clear剪辑版End SubPrivate Sub Command2_Click()Clipboard.SetText Text1容End Sub'至此,我们的升级程序也完成一半了,然后我们写一个下载'的程序让用户下载就可以了。
'当然如果你觉得麻烦,就提示用户用迅雷下载就可以了。
效果如图:’-----------------------------------------------------当然了大家也别说我OUT了。
摘要随着Internet的普及和工业自动化的迅速发展,基于网络的应用软件基本都具备了自动版本升级功能。
而淮北矿业集团新的安全监控监管预警联动系统虽满足了生产需要,但在版本自动升级方面有一定欠缺,本文针对淮北矿业集团实际需求设计了一个文件自动更新系统系统,本系统主要包括两部分:基于C/S结构的服务器端和客户端。
服务器端主要包括客户管理,文件发送功能。
客户端主要包括用户身份认证和自动升级功能,并对设计过程中出现的问题进行了总结。
关键词: 自动升级; VB WinSock;C/S模式ABSTRACTWith the popularization of Internet and the rapid development of industrial automation, network based on application software basically all have automatic version upgrade function. Though the new safety monitoring supervision early wa rning linkage system of Huaibei mining industry group meet the needs of production,it is lacking in automatic upgrade of version According to the actural needs of Huaibei mining industry group,this article describe the design of an automatic update of file system his system mainly includes two parts: Server-side and client-side based on C/S, Server side include client management, file transmission function. The client includes user identity authentication and the automatic update feature. This article also summarize the problems during the design process.Keywords:Automatic upgrade;VB WinSock;C/S model目录1 引言 (1)1.1课题背景 (1)1.2国内文件更新系统发展现状 (1)1.3课题研究的意义和目的 (1)1.4课题基本思路 (2)1.5论文主要内容及构成 (2)1.6小结 (2)2 开发平台与关键技术 (4)2.1系统开发环境 (4)2.2开发平台的选择 (4)2.2.1应用程序开发语言 (4)2.2.2数据库管理系统选择 (6)2.3开发的几种关键技术 (8)2.3.1程序与数据接口 (8)2.3.2 SQL技术 (9)2.3.3 Windows Socket技术 (10)2.4小结 (13)3 系统总体结构与设计 (14)3.1需求分析 (14)3.1.1功能需求 (14)3.1.2性能需求 (14)3.2总体结构 (14)3.2.1 C/S架构 (14)3.2.2面向连接的C/S模型 (15)3.2.3文件更新时C/S的信息交换 (16)3.2.4软件设计 (16)3.3小结 (17)4 系统的详细设计 (18)4.1 TCP简明通信协议的设计 (18)4.2 Access数据库的设计 (18)4.3服务器端的设计 (21)4.3.1服务器端的功能结构 (21)4.3.2服务器端工作流程 (21)4.3.3服务器设计与实现 (22)4.4客户端的设计 (29)4.4.1客户端的功能结构 (29)4.4.2客户端工作流程 (29)4.4.3客户端设计与实现 (30)4.5小结 (35)5 典型问题的分析 (36)5.1多用户的实现 (36)5.2并行传输 (36)5.3 TCP/UDP的选择 (36)6 总结 (38)6.1设计心得 (38)6.2软件不足 (38)参考文献 (39)致谢 (40)翻译部分 (41)1 引言1.1课题背景随着网络技术的日新月异,基于网络的各种应用软件层出不穷,而用户的需求也随着使用范围和深度的增加不断扩展,由于网络的分散性,软件提供商无法逐一为用户更新升级,因此网络软件自动升级功能显得尤为重要。
VB中用Inet控件实现在线升级的方法
张勇刚
【期刊名称】《金融科技时代》
【年(卷),期】2005(013)010
【摘要】本文介绍了在VB中利用Inet控件实现的在线升级程序,该程序可方便用户实现客户端自动查找并安装升级补丁.
【总页数】2页(P72-73)
【作者】张勇刚
【作者单位】中国人民银行新余市中心支行
【正文语种】中文
【中图分类】TP3;F83
【相关文献】
1.VB6中用Winsock控件实现多台计算机之间的通信 [J], 胡大辉;杜治国;肖兴江
2.VB6中用Winsock控件实现多台计算机之间的通信 [J], 胡大辉;杜治国;肖兴江;;
中用TreeView控件实现树目录的方法研究 [J], 周辉山;丁文秀
4.在VB6.0中用DATAGRID控件实现数据库查询 [J], 王敏;胡书屏
5.VB中用API函数和类模块实现RichTextBox控件 [J], 刘洪君;孙盛坤
因版权原因,仅展示原文概要,查看原文内容请购买。
局域网环境下的软件在线自动升级——基于VB6+SQL
Server2000的实现方法
肖首先
【期刊名称】《计算机光盘软件与应用》
【年(卷),期】2011(000)001
【摘要】在有的电信运营企业,大多数赠品管理使用原始的手工账本登记方式,这种方式有多种弊端.开发一套赠品管理系统,以替代落后的手工记账方式,对提升单位的管理水平有着重要的意义.电信运营企业自身内部网络比较健全,根据现有的网络结构--内部局域网,开发终端应用程序即可,无须重新架设网络,一般只需开发一套C/S 结构管理系统,使用一台计算机作为数据库服务器,终端程序安装在营业厅等营业终端电脑上,营业员及时把赠品使用情况录入到系统,就可以达到数据共享,从而实现及时掌握赠品动态信息、方便管理、提升管理效率的目的.
【总页数】2页(P149-150)
【作者】肖首先
【作者单位】铁通三明分公司,福建三明,365000
【正文语种】中文
【中图分类】TN911
【相关文献】
1.局域网环境下病案首页信息检索软件的实现 [J], 王秉康;宇应涛;金兰
2.基于云环境下动态装配软件开发方法的高校云智能排课系统的设计与实现 [J],
左海春
3.基于Web服务的一种软件自动升级方法及实现 [J], 魏汪洋;徐翠霞;张明川
4.局域网环境下视频实时传输系统的软件实现方法研究 [J], 王文义;李尊锋;周兵
5.局域网环境下的软件在线自动升级——基于VB6+SQL Server2000的实现方法[J], 肖首先
因版权原因,仅展示原文概要,查看原文内容请购买。
VB6升级方案1.Microsoft Visual Basic Upgrade Wizard使用Visual Studio .NET 中的Microsoft Visual Basic Upgrade Wizard 的自动转换功能。
该转换在大多数项目中不能100%的升级到.NET,其中有95%可以被转换,剩余5%需要手工修改。
因为他的对象模型与Visual Basic 6.0 中的对象模型有很大的不同。
而且.NET并不能完全支持VB6的功能,比如DAO和RDO的数据绑定、事件参数、某些函数等。
因此在转换的过程中,还需要理解VB6的编码方式与.NET 方式的区别。
这些区别我们可以参考《Upgrading Microsoft Visual Basic 6.0 to Microsoft VisualBasic .NET》完整技术指南,该指南是由一家在Visual Basic 升级方面具有丰富经验的公司Artinsoft 以及Visual Basic Upgrade Wizard和Visual Basic Upgrade Wizard Companion的开发人员联合编写的,其中在第二章节写出了Visual Basic 6 and Visual Basic .NET Differences的差别。
使用Microsoft Visual Basic Upgrade Wizard的优点:1、免费,集成在Visual Studio 里能够较好的转换,转换后能生成一个Upgrade Report 文档,里面包含了升级过程的信息和需要解决的问题列表,警告列表等。
使用Microsoft Visual Basic Upgrade Wizard的缺点:1、转换语言单一,只能转换VB。
需要只能在Visual Studio 2005 下面转换,如需转换高版本需要在转换一次。
2、并不能百分百转换。
还有部分代码需要手工转换。
2.控制台在控制台下转换,转换效果与Visual Studio .NET 中的Microsoft Visual Basic Upgrade Wizard 的自动转换功能一样。
V B中利用第三方控件实现软件在线升级
VB中利用第三方控件实现软件在线升级
(bkDLControl控件)
2006-11-21
bkDLControl控件一个可以快速实现在线下载的控件,它在下载的同时通过进度条显示进度。
你可以编写当其下载完成后的事件,这样我们就可以轻松达到在线升级的目的。
要了解该控件强大便捷的功能,下面我们就通过一个实例来讲解。
第一步:首先启动Visual Basic 6.0,新建一个窗口。
第二步:加载bkDLControl控件。
①在控件工具栏中单击右键,选择“部件”,在弹出的窗口中点击“浏览”,找到bkDLControl控件,载入它,命名为“DL”;因为是一个进度条,所以把大小拖成一个适当的长条状,把它放到Form1窗体中适当位置即可。
其他属性保持默认即可。
第三步:加载其他控件,完成界面的设置。
①在窗体中添加2个CommandButton控件,名称分别为cmdBegin和cmdCancel,Caption属性分别为“开始”和“取消”,其中设置cmdCancel的Enabled属性为“False”。
②添加一个ComboBox控件,名称为cboURL,在list中添加几个下载地址(如图1),其他属性保持默认。
添加该控件用于选择下载地址,这样
可以用用户自行选择下载的服务器。
③添加一个Listbox,命名为lstOut。
为了美观,可以把Appearance 属性设置为“0-Flat”。
该控件用于显示下载过程中的进度说明。
④在bkDLControl控件的右下方添加一个Label,命名为lblProg,设置Autosize属性为True。
它将用于实时显示下载的大小和百分比。
程序总体界面如图2,在界面和属性设置上非常的简单。
到这里就完成了这个演示程序的界面设置,接着进行代码的编写。
第四步:编写代码,实现具体的功能。
①编写Form1的Load事件,使程序启动时cboURL显示默认的下载地址。
代码如下:
②添加两个commandbutton的Click事件,分别实现开始下载和取消下载的功能。
③编写bkDLControl各个事件的代码,以完成具体功能:
上面两段代码是开始和取消下载时的事件,向lstOut输入状态。
上面的代码调用了一个自定义函数SizeString,代码同样在第四步中说明。
这段bkDLControl完成下载时激发的事件是我们实现在线升级的关键,下载完成后就可以调用下载的内容完成更新,具体的更新办法有很多种,大家可以充分发挥了。
当bkDLControl控件返回零字节时激发上面的出错事件,并在lstOut 中显示相关错误信息。
上面是bkDLControl的相关代码,是这个在线升级程序中最关键的地方。
在其提供的事件中,我们可以有很多的发挥空间,去实现很多的功能。
④编写SizeString函数和LogItem过程,完成最后的代码编写。
上面的过程用于向lstOut添加下载进度信息,其中使用了一个变量,用于装载相应事件描述。
上面的函数把传送来的lBytes根据其大小,转换成合适的单位。
到这里,这个演示程序就完成了,按下F5,在下拉框中选择地址或者输入其他下载地址后按开始就可以开始下载了。
我们可以看到连接下载信息,实时的已下载进度情况,并用进度条的方式表现(如图3)。
有了bkDLControl控件,我们可以很方便地下载更新程序,并在其下载完成激发的事件中写入适当代码,就可以轻松完成程序在线升级。