论坛风格切换切换到宽版
  • 10153阅读
  • 22回复

INNO去掉版本显示 [复制链接]

上一主题 下一主题
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 20 发表于: 2013-12-05
回 14楼(969511048) 的帖子
969511048:在帮助文件里也没找到“CompareVersion” (2013-12-05 13:26) 

忘了几个自定义的函数。


function GetNumber(var temp: String): Integer;
var
  part: String;
  pos1: Integer;
begin
  if Length(temp) = 0 then
    begin
      Result := -1;
      Exit;
    end;
  pos1 := Pos('.', temp);
  if (pos1 = 0) then
    begin
      Result := StrToInt(temp);
      temp := '';
    end
  else
    begin
      part := Copy(temp, 1, pos1 - 1);
      temp := Copy(temp, pos1 + 1, Length(temp));
      Result := StrToInt(part);
    end;
end;

function CompareInner(var temp1, temp2: String): Integer;
var
  num1, num2: Integer;
begin
  num1 := GetNumber(temp1);
  num2 := GetNumber(temp2);
  if (num1 = -1) or (num2 = -1) then
  begin
    Result := 0;
    Exit;
  end;
    if (num1 > num2) then
      begin
        Result := 1;
      end
    else
      if (num1 < num2) then
        begin
          Result := -1;
        end
      else
        begin
          Result := CompareInner(temp1, temp2);
        end;
end;

function CompareVersion(str1, str2: String): Integer;
var
  temp1, temp2: String;
begin
  temp1 := str1;
  temp2 := str2;
  Result := CompareInner(temp1, temp2);
end;
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 21 发表于: 2013-12-05
回 19楼(969511048) 的帖子
969511048:请问老虎版主,你们用的是哪个版本的Inno Setup (2013-12-05 20:42) 

上面的代码应该随便用哪个版本都行。我目前用的是 5.5.1 (U)
离线969511048

发帖
151
金钱
1440
威望
144
只看该作者 22 发表于: 2013-12-05
多谢版主帮忙