首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较InstallScript中的版本?

如何比较InstallScript中的版本?
EN

Stack Overflow用户
提问于 2012-11-20 08:43:34
回答 1查看 1.4K关注 0票数 2

看起来像是有一个内置函数VerCompare,但它要求字符串包含所有四个组成部分,例如1.2.3.4。我还没有尝试过在InstallScript中进行字符串操作,希望有人已经有了获取版本字符串并在必要时添加.0的代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-20 23:34:56

需要一些错误检查,但这里是一般的想法:

代码语言:javascript
复制
prototype NUMBER CompareVersions(STRING, STRING);
prototype STRING FormatVersion(STRING);

function NUMBER CompareVersions(leftVersion, rightVersion)
    STRING formattedLeftVersion, formattedRightVersion;
begin
    formattedLeftVersion = FormatVersion(leftVersion);
    formattedRightVersion = FormatVersion(rightVersion);

    return VerCompare(formattedLeftVersion, formattedRightVersion, VERSION);
end;

function STRING FormatVersion(version)
    STRING formattedVersion;
    LIST tokens;
    NUMBER count;
begin
    tokens = ListCreate(STRINGLIST);
    StrGetTokens(tokens, version, ".");
    count = ListCount(tokens);
    ListSetIndex(tokens, LISTLAST);
    while (count < 4)
        ListAddString(tokens, "0", AFTER);
        count = count + 1;
    endwhile;
    StrPutTokens(tokens, formattedVersion, ".", FALSE);
    ListDestroy(tokens);
    return formattedVersion;
 end;
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13464963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档