用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧VisualBasic

VisualBasic第三方控件实现软件在线升级

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 19:55:20

  大家对金山毒霸、瑞星等杀毒软件的在线升级一定不陌生吧?它们可以利用在线升级程序进行在线升级 ,无需用户访问网站下载。这样的功能的确对于使用者来说是十分方便的。那么,您是否也想为您的软件添加方便的在线升级的功能呢?下面介绍一个第三方控件,能够帮你非常容易地就实现。

  bkDLControl控件一个可以快速实现在线下载的控件,它在下载的同时通过进度条显示进度。你可以编写当其下载完成后的事件,这样我们就可以轻松达到在线升级的目的。

  要了解该控件强大便捷的功能,下面我们就通过一个实例来讲解。

  第一步:首先启动Visual Basic 6.0,新建一个窗口。
  
  第二步:加载bkDLControl控件。

  ①在控件工具栏中单击右键,选择“部件”,在弹出的窗口中点击“浏览”,找到bkDLControl控件,载入它,命名为“DL”;因为是一个进度条,所以把大小拖成一个适当的长条状,把它放到Form1窗体中适当位置即可。其他属性保持默认即可。

  第三步:加载其他控件,完成界面的设置。

  ①在窗体中添加2个CommandButton控件,名称分别为cmdBegin和cmdCancel,Caption属性分别为“开始”和“取消”,其中设置cmdCancel的Enabled属性为“False”。

  ②添加一个ComboBox控件,名称为cboURL,在list中添加几个下载地址(如图1),其他属性保持默认。添加该控件用于选择下载地址,这样可以用用户自行选择下载的服务器。

图1


  ③添加一个Listbox,命名为lstOut。为了美观,可以把Appearance属性设置为“0-Flat”。该控件用于显示下载过程中的进度说明。

  ④在bkDLControl控件的右下方添加一个Label,命名为lblProg,设置Autosize属性为True。它将用于实时显示下载的大小和百分比。

  程序总体界面如图2,在界面和属性设置上非常的简单。

图2

  到这里就完成了这个演示程序的界面设置,接着进行代码的编写。


  第四步:编写代码,实现具体的功能。

  ①编写Form1的Load事件,使程序启动时cboURL显示默认的下载地址。代码如下:

Private Sub Form_Load()
  cboURL.ListIndex = 0
End Sub


  ②添加两个commandbutton的Click事件,分别实现开始下载和取消下载的功能。

Private Sub cmdBegin_Click()
  With DL        
   .FileURL = cboURL.Text ’设置bkDLControl的下载地址    
   .SaveFilePath = App.Path ’设置下载后的保存路径,这里设置为当前程序所在文件夹
   LogItem "请求下载" & cboURL.Text
   ’在lstOut中添加下载状态说明,这里使用了一个自定义过程,该过程的代码将在下面第四步说明
   .BeginDownload ’发出开始下载命令
  End With
  cmdCancel.Enabled = True ’设置cmdCancel属性为True,使下载过程中可以中止下载
End Sub

Private Sub cmdCancel_Click()
   DL.CancelDownload ’发出取消下载命令
End Sub


  ③编写bkDLControl各个事件的代码,以完成具体功能:

Private Sub DL_DLBeginDownload()
 LogItem "开始下载从" & DL.FileURL
End Sub

Private Sub DL_DLCanceled()
 LogItem "取消下载"
End Sub


  上面两段代码是开始和取消下载时的事件,向lstOut输入状态。

Private Sub DL_DLComplete(Bytes As Long) ’下载完成的事件
 cmdCancel.Enabled = False
 If Bytes > 0& Then ’如果下载的不是零字节,则显示相关信息
  LogItem "完成" & SizeString(Bytes) & "下载并保存到" & DL.SaveFileName
  ’下面添加实现文件更新的代码
  ……
 Else
  LogItem "下载失败"
 End If
End Sub


  上面的代码调用了一个自定义函数SizeString,代码同样在第四步中说明。这段bkDLControl完成下载时激发的事件是我们实现在线升级的关键,下载完成后就可以调用下载的内容完成更新,具体的更新办法有很多种,大家可以充分发挥了。


VB社区

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:6,765.62500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号