热点推荐:
您现在的位置: 电脑学习网 >> 软件专区 >> 正文

如何实现软件在线升级

2013-09-12 15:53:22  来源: 软件专区 

  一、实现原理
         一般来说Update分为客户端和服务器端两个组成部分,客户端接收服务器上的更新信息,并下载更新文件,然后完成一系列注册、配置等更新工作,全部自动化,不用人工操作。
  根据笔者的经验,Update程序最好独立于主程序之外,也就是说有一个单独的Update.exe程序来执行更新操作,这样既可以直接更新主程序,也便于完成Update的“自身更新”。
  首先,我们遇到的第一个问题是选择合适的开发工具。一般来说Update的功能并不复杂,只是完成下载更新的功能,所以本文就用VB语言编写代码。另外也可以选用一些成熟的Update组件,例如用.NET框架开发的应用程序更新组件AppUpdater等,都可以很方便地帮助我们而只需要编写极少的代码。
  由于各种Update程序的种类繁多,本文主要介绍通用的一些特性以及适合个人编程、小型公司的Update经济方案,执行流程如下:
  1.下载网站某个页面,根据页面内容获得最新版本号;
  2.如果最新版本高于当前版本,则下载升级文件(一般为压缩包);
  3.释放文件,并用最新文件替换旧文件完成升级。
  按照这个最简化的方案,当开发者需要更新升级软件的时候,只用FTP上传更新文件即可。wWW.ITcOmPUter.coM.CN好处是可以不必开发服务器端,更不用购买或租用昂贵的升级服务器。
  OK,我们现在开始详细剖析Update的具体执行过程,软件界面如图。
二、穿透防火墙
  首先,Update要对网络是否已经连通进行判断。笔者在这个问题上反复使用过多种方法:Ping某个IP地址、获取注册表键值、网卡连通判断等等,最终都不理想。原因在于IP地址可能变化、甚至有时候即使物理连通了,也不一定能够确保文件的下载更新。
  笔者使用的方法是利用Microsoft Internet Con trols控件访问开发者的官方首页来判断网络是否已经连通。代码如下:
  Dim Network As Long
  Private Sub Form_Load()
  WebBrowser1.Navigate "http://www.boobsoft.com"
  End sub
  Private Sub WebBrowser1_DownloadComplete() '当Web页面载入完毕此事件激活
  If Network = 0 Then
  Label1.Caption = "正在升级,请稍后..."
  Update '调用升级过程
  End If
  End Sub
  Private Sub WebBrowser1_NavigateError(ByVal pDisp As Object, URL As Variant, Frame As Variant, StatusCode As Variant, Cancel As Boolean) '当Web页面浏览失败的时候此事件激活
  Network = -1'必需此语句,在Update过程中要判断网络是否持续通畅
  MsgBox "网络没有连通,或升级服务器临时关闭,请稍后再试。"
  End Sub
  小经验:Internet Controls控件的好处不仅是代码简单,它是微软官方控件,更重要的是可以直接穿透防火墙,节省了我们很多时间。

 
word中的空行如何删除

  日常工作中在网上找到了一些文字材料,想要把文字拷贝下来,可是从网页上拷贝下来的文字在粘贴到文本编辑器上时,就会在段落与段落之间多出很多空行。若手动删除这些空行,既费时又费事。关于这个问题的几种解决方法网上也有介绍,都各有利弊,下面我就介绍另外的两种编写代码的解决方法,效率更高。www.sq120.com推荐文章

一、使用Word的宏
  如果拷贝下来的文字里有连续的多行空行,或者在有些空行里还有数量不等的空格字符,不妨让Word的宏来一显身手。
  创建一个宏,取名为DBL。代码及注释如下:
  Sub DBL()
  i = 1
  Do
  '从当前文档的顶端开始逐一选择文档的每一段文字
  ActiveDocument.Paragraphs(i).Range.Select
  If Trim(Selection.Text) = Chr(13) Then
  '如果选择的段落里只有回车符和空格则删除此段
  Selection.Delete
  Else
  '如果选择的段落非空,就将选择的指针移向下一段
  Selection.MoveDown
  i = i + 1
  End If
  Loop Until i = ActiveDocument.Parag
  raphs.Count
  End Sub
  写好了宏程序之后,可以把刚才建好的宏拖拽到快捷工具栏上,做好以后,如果需要从网页上拷贝文字到Word上编辑时,只要单击一次这个宏按钮,即可瞬间删除整篇文档里的空行了。
二、使用网页脚本语言
  如果电脑上用的文字处理工具是金山WPS系列的字处理软件,而没有安装Word和UltraEdit等软件时,不妨试试借助一下微软的网页脚本语言(VBScript)来处理删除空行的问题。现在绝大部分的机器上装的操作系统都是Windows,一般办公室里的机器都可以执行。
  脚本程序要完成的任务不同于上面的Word宏。首先要把从网页上复制下来的文字粘贴到一个文本文件(以下简称A文件)里保存。脚本程序要做的事情是在程序执行时再创建一个文本文件(以下简称B文件),从A文件里逐行读取文字,并把非空行的文字内容写入到B文件里。这样,B文件里就没有空行了。
  新建一个文本文件,把文件的扩展名改为.vbs。在记事本里打开该文件并输入脚本代码,代码及注释如下:
  Const ForReading = 1, ForWriting = 2, TristateUseDefault = -2
  Dim fsoA, fA, tA, fsoB, fB, tB, s, dir
  '如果脚本程序和A文件在同一目录下,直接输入A文件的文件名和扩展名即可
  dir=inputbox("请输入源文件的路径或相对路径:")
  if dir<>"" then
  '初始化A文件的对象
  Set fsoA = CreateObject("Scripting.FileSystemObject")
  Set fA = fsoA.GetFile(dir)
  Set tA = fA.OpenAsTextStream(ForRe
  ading, TristateUseDefault)
  '创建并初始化B文件的对象
  Set fsoB = CreateObject("Scripting.FileSystemObject")
  fsoB.CreateTextFile("_"+dir)
  Set fB = fsoB.GetFile("_"+dir)
  Set tB = fB.OpenAsTextStream(ForWr
  iting, TristateUseDefault)
  '逐行读A文件并把非空行写入B文件
  while not tA.AtEndOfStream
  s=tA.ReadLine
  if trim(s)<>"" then tB.WriteLine s
  wend
  '关闭文件对象
  tB.Close
  tA.Close
  end if
  脚本文件代码写好之后,保存,退出记事本。下面就可以用写好的脚本文件来删除空行了。用鼠标双击脚本文件即可执行程序。当程序执行完成之后就会自动产生一个在A文件名前加了一个下划线作为文件名的新文件,打开看看吧,里面的空行早被一扫而空。

 
如何制作光盘封面   小美的朋友送了一张她喜欢的火影忍者的刻录原声DVD,小美想给光盘DIY一个漂亮的光盘盘面和封面,贴上火影忍者的贴纸吧,好看但会增加光盘重量,影响读盘效果。其实用流行的光雕刻录机就能完成光盘盘面的DIY工作。www.sq120.com推荐文章

  DIY简要流程:用Nero7设计火影忍者光盘封面和盘面→用光雕刻录机刻录盘面→打印机打印封面。

步骤一:前期准备工作
  制作光雕光盘盘面,首先要拥有一台具备光雕技术的刻录机以及安装相应的光雕软件,很多光盘刻录软件都可以安装光雕(LightScribe)插件。制作光雕光盘盘面的工具很多,常见的是Nero Cover Designer、Sonic Express Labeler、SureThing CD Labeler和Roxio Easy Media Creator。下面就以常用的Nero Cover Designer7为例进行介绍。
步骤二:设计光盘盒效果
  Nero Cover Designer7主要用来制作光雕光盘盘面及光盘盒封面。利用它可以为DVD Case、Multi Box、Maxi等规格的光盘盒制作封面和光盘盘面。小美想做个DVD盒子,那首先我们单击“New document→DVD Case”,然后单击右边“Audio+Data”标签页面下的“Empty Document”图标,最后单击“OK”按钮进入设计界面设计“Booklet(封页)”、“Inlay(内页)”和光盘盘面。
  单击工具栏中的Image tool(图片工具)为封页添加一张背景图片,图片的具体位置可以根据自己的需求进行移动。再单击工具栏中的Text Box tool(文本框工具)在封页上输入一些光盘标题及光盘内容的文字。
  完成后,可以用工具栏中的形状工具进行一下点缀。这里用Line tool(直线工具)将两个文本框连接在一起。封页设计完成后,单击Inlay标签,进入内页设计界面,同样利用工具栏中的各项工具可以完成设计。
步骤三:设计光盘盘面效果
  下面进行光盘盘面的设计。单击Disk1标签,进入光盘盘面设计界面。光盘盘面是可以用光雕刻录机直接对光盘盘面进行光雕处理的,故要求光盘盘面不要过于复杂,同样单击工具栏中的图像工具为光盘盘面添加一张图片。
  然后单击工具栏中的Artistic Text tool(艺术字文本工具)在界面输入文字,并在文字上单击鼠标右键,在弹出的快捷菜单中选择Bend(弯曲),文本会以光盘圆心为原点,变成环绕状。我们可以任意移动其位置,不过一般情况下应该放在光盘内环附近。最后再加上一条文本框的提示信息,这样整张光盘盘面就设计完成了。
  阿萌小提示:现在的光雕刻录速度比较慢,一般需要30~50分钟。
  如果你的电脑中正确安装了光雕刻录机及彩色打印机,那么单击Nero Cover Designer主界面的File→Print即可用光雕刻录机完成光盘盘面的光雕处理,而光盘盒则可以通过打印的方式输出。
  后记:利用光雕刻录机完成光雕光盘的朋友已经越来越多了,相信掌握一种光雕盘面的设计对你来说肯定是有用的。
  阿萌:很多朋友最近说自己的系统运行得越来越慢,用杀毒软件检测也没有发现病毒和木马的身影,真是大白天活见鬼了。我可真是无可奈何,连微软都发布了反流氓工具——Windows Defender,还有这么多人居然不知道流氓软件的危害!中了流氓招的朋友们用这款新出的反流氓工具赶紧来还系统一个清静吧。  
From:http://www.itcomputer.com.cn/Article/Software/201309/339.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 电脑知识网 Computer Knowledge   All rights reserved.