项目中最近做了个SVN代码变更的插件,需要做一个安装盘,发现插件只能用在TortoiseSVN 1.6.x或者以上的版本,这就需要安装盘中在安装时提醒用户安装1.6.x或者以上的SVN客户端版本写了几个公共方法实现如下的版本对比。
//从注册表中获取SVN客户端TortoiseSVN的版本号
function getSVNClientVersion (): String;
begin
RegQueryStringValue(HKCU , 'Software\TortoiseSVN','CurrentVersion', result);
end;
//此函数用于截取版本号数字
procedure DecodeVersion (verstr: String; var verint: array of Integer);
var
i,p: Integer; s: string;
begin
verint := [0,0,0,0];
i := 0;
while ((Length(verstr) > 0) and (i < 4)) do
begin
p := pos (',', verstr);
if p > 0 then
begin
if p = 1 then s:= '0' else s:= Copy (verstr, 1, p - 1);
verint[i] := StrToInt(s);
i := i + 1;
verstr := Copy (verstr, p+1, Length(verstr));
end
else
begin
verint[i] := StrToInt (verstr);
verstr := '';
end;
end;
end;
// 此函数用于比较版本字符串
// 若 ver1 > ver2 返回值 1
// 若 ver1 = ver2 返回值 0
// 若 ver1 < ver2 返回值 -1
function CompareVersion (ver1, ver2: String) : Integer;
var
verint1, verint2: array of Integer;
i: integer;
begin
SetArrayLength (verint1, 4);
DecodeVersion (ver1, verint1);
SetArrayLength (verint2, 4);
DecodeVersion (ver2, verint2);
Result := 0; i := 0;
while ((Result = 0) and (i < 4)) do
begin
if verint1[i] > verint2[i] then
Result := 1
else
if verint1[i] < verint2[i] then
Result := -1
else
Result := 0;
i := i + 1;
end;
end;
来源:Heck's Blog
地址:http://www.hecks.tk/Inno-SetUp-Compare-Software-version/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
分享到:
相关推荐
InnoSetup 获取本机IP地址的方法
Inno Setup是一个为Microsoft Windows应用程序创建安装程序的工具。innoextract允许在非Windows系统下提取此类安装程序,而无需使用wine运行实际的安装程序。innoextract 目前支持由 Inno Setup 1.2.10 到 6.2.1 ...
innosetup安装界面美化: 解压压缩包中的 Inno Setup 5.5.zip,运行Inno Setup 5.5\Inno Setup 5\Compil32.exe,右上角可以改变语言。 打开build.iss文件,一些自定义字段请按需修改,点击Inno Setup工具栏中的 ...
Inno Setup 打包软件中文教程
主要功能是使用inno setup制作安装包时,在安装完成之后实现将指定路径添加到用户和系统环境变量的Path中。下载文件后,请参考文件头部的说明进行操作。如有问题,请联系我:wb__sz@163.com。感谢原版作者Jared ...
免费易用的安装包制作工具Inno Setup,除了Windows2000风格的安装界面,还支持类似QQ安装界面。
Inno Setup 是一款免费的安装包制作软件,操作简单、功能稳定,能够快速制作出标准Windows风格的安装界面,足以完成一般安装任务。使用Inno Setup打包可执行的exe软件,可在任何电脑中运行。
Inno Setup 是一款非常优秀的脚本编辑软件
附件中包含个人博客中介绍的应用Innosetup制作软件exe安装包的相关工具软件和脚本以及实例用到的美工图片。
Inno Setup 是一个小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。该软件用Delphi写成,其官方网站同时也提供源程序免费下载。它虽不能与...
Inno Setup是一款免费的安装程序制作工具,用于创建Windows平台下的安装程序。它具有易于使用、功能强大、灵活性高等特点,是Windows安装程序制作的首选工具之一。 Inno Setup使用Pascal脚本语言编写,因此对于...
利用inno setup软件制作安装包,利用该文件能够 修改环境变量
自己替换app目录下的...注意:必须要用inno setup增强版封装,该资源包包含对.net FormWork 4 的封装。{code} 文件夹下的 Code.iss 是界面代码,version.h 是配置文件 可以在里面修改应用名称,公司 、版本号等信息。
inno setup中文帮助文档,PDF 版本,中文版 Inno Setup用Delphi写成,其官方网站同时也提供源程序免费下载。它虽不能与Installshield这类恐龙级的安装制作软件相比,但也当之无愧算是后起之秀。Inno Setup是一个免费的...
InnoSetup 多安装目录
可解加密的inno setup安装程序,可解加密的inno setup安装程序
Inno setup是一款简便安装包工具,支持pascal脚本,几分钟就能生成标准Windows安装包。资源包括加密dll以及中文语言包
Inno Setup + 各国的语言包
Inno Setup是一款Windows免费的安装制作软件,Inno Setup功能强大,制作快速,对于一般的Windows安装制作都能够快速地完成,并且Inno Setup软件小巧、操作简便、界面精美,功能齐全,受到了很多用户的喜爱,是一款很...
inno setup 中文语言包,放在安装文件夹的languages文件夹下。 [Languages] Name: "chinese"; MessagesFile: "compiler:Languages\Chinese.isl