首页 > 其他分享 >Delphi7 对比两个文件版本

Delphi7 对比两个文件版本

时间:2024-11-01 16:33:46浏览次数:4  
标签:begin strVerOld slVerNew strVerNew Strings Delphi7 版本 slVerOld 对比

 

function CompareFileVersion(strVerNew : String; strVerOld: String) :boolean;
var
  i: integer;
  newCount: Integer;
  oldCount: Integer;
  slVerNew: TStringList;
  slVerOld: TStringList;
begin
  Result := True;

  slVerNew := TStringList.Create;
  slVerOld := TStringList.Create;

  newCount := ExtractStrings(['.'], [], PChar(trim(strVerNew)), slVerNew);
  oldCount := ExtractStrings(['.'], [], PChar(trim(strVerOld)), slVerOld);
  if newCount <> oldCount then exit;

  for i := 0 to newCount - 1 do
  begin
    if (StrToInt(slVerNew.Strings[i]) < StrToInt(slVerOld.Strings[i])) then   // 本段中,旧版本大于新版本,直接退出比较,不用升级了
    begin
      Result := False;
      break;
    end;

    if (StrToInt(slVerNew.Strings[i]) > StrToInt(slVerOld.Strings[i])) then   // 本段中,新版本大于旧版本,直接退出比较,需要升级
    begin
      Result := True;
      break;
    end;
    //ShowMessage('segment' + IntToStr(i) + ' : New(' + slVerNew.Strings[i] + ') --  Old(' + slVerOld.Strings[i] + ')');
  end;

测试:

procedure TForm1.Button1Click(Sender: TObject);
var
  strVerNew: string;
  strVerOld: String;
begin
  strVerNew := '1.0.10.1';
  //strVerNew := '2.0.10.1';
  strVerOld := '1.2.1.3';

  memo1.Clear;
  memo1.Lines.Add(strVerNew);
  memo1.Lines.Add(strVerOld);

  if CompareFileVersion(strVerNew, strVerOld) then
  begin
    ShowMessage('exist new version.');
  end;
end;

 

标签:begin,strVerOld,slVerNew,strVerNew,Strings,Delphi7,版本,slVerOld,对比
From: https://www.cnblogs.com/smkuang/p/18520610

相关文章

  • Office、Visio、project 各版本资源下载
    1、Office安装包资源下载(部分需要联网以及安装包内包含激活工具)   Office365:链接:https://pan.quark.cn/s/e680210d9869提取码:e8vjOffice2003:链接:https://pan.quark.cn/s/e2fb7135c8fc提取码:FgueOffice2010:链接:https://pan.quark.cn/s/4de780bbf20c提取码:Kb8gOf......
  • .NET Framework 3.5/4.0/4.5/4.6版本离线版安装包下载
    1、安装包资源下载.NETFramework各版本:链接:https://pan.quark.cn/s/c68076e7865a提取码:tiN7  2、安装教程(.NETFramework4.7为例)1)       安装包双击打开 2)       勾选我同意,点击安装 3)       安装成功,点击关闭,查看系统设置,应用......
  • Ubuntu20.04版本安装pytorch(宝宝级攻略)
     前言在学习深度学习时,安装pytorch是必要的,现在想出一个宝宝级的攻略,希望能够帮助大家节约时间。如果大家通过我的攻略安装成功,请在评论区打出“好用“希望能够帮助到更多人。1.安装前的准备1.检查你的Ubuntu是否安装了显卡驱动程序Ubuntu20.04版本的NVIDIA显卡驱动程序......
  • 经纬恒润INTEWORK-VBA新版本正式发布
        在汽车电子研发领域,随着开发测试的深入,工程师们常常面临着一个共同的问题:如何高效地在多样化的开发测试场景中切换,并确保不同工具间的紧密协作。不同场景、不同工具的切换与使用给工程师带来高昂的学习成本和前后端信息传递的压力。面对这一问题,经纬恒润积极响应市......
  • Stable Diffusion 3.5 免费试用:新一代AI绘画神器,超越 FLUX!——现已上线 Medium 版本
    StabilityAI于10月22日正式推出了StableDiffusion3.5(SD3.5),为创作者带来了焕然一新的图像生成体验。此次更新中,Large、LargeTurbo和Medium版本全线发布,为不同创作需求提供了更丰富的选择。SD3.5在图像美感、提示词响应度和生成效率上实现了显著提升,特别是在人物......
  • 2025AI插件脚本大合集V6.0最新中文版本!209+效率功能支持Illustrator 2025-CS6 Win/Mac
    AI插件脚本大合集V6.0是专为AdobeIllustrator设计的一套强大工具集,旨在提高设计师的工作效率。它支持从Illustrator2025至CS6的多个版本,并兼容Windows和Mac操作系统。以下是该插件脚本大合集中的一些常用功能,它们可以帮助设计师在各种设计任务中节省时间并提高质量。标注......
  • https脚本python和bash版本
    以下是一个使用 `curl` 的 Bash 脚本,可以发送 HTTPS 的 GET 和 POST 请求,同时支持 cookies 和gzip 压缩: ```bash#!/bin/bash # 默认配置COOKIE_FILE="cookies.txt" # 存储cookies的文件USER_AGENT="Mozilla/5.0(X11;Ubuntu;Linuxx86_64)AppleWe......
  • 2024年大湾区杯粤港澳金融数学建模 A题:证券市场投资风险控制模型设计 思路+代码+chatg
    目录任务一:风险计量指标的定义与计算1.1平均收益率1.2市场流动性1.3市场情绪指标任务二:系统性风险预测模型构建2.1多因子模型2.2时间序列模型-ARIMA2.3时间序列模型-GARCH2.4机器学习模型-随机森林任务三:事前风控体系构建3.1回测分析3.2动态调整机......
  • 2024年大湾区杯粤港澳金融数学建模 B题:粤港澳大湾区经济预测数学模型 思路+代码+chatg
    目录任务一:影响粤港澳大湾区经济发展的因素分析1.1主成分分析(PCA)1.2回归分析任务二:粤港澳大湾区经济预测模型建立2.1灰色预测模型(GM(1,1))2.2向量自回归(VAR)模型任务三:粤港澳大湾区与其他湾区对比分析3.1经济因素对比分析3.2SWOT分析任务一:影响粤港澳大......
  • USB PD快充技术发展历史及版本特性
    USBPowerDelivery(USBPD)是基于USB规范的快速充电技术,是USB重要的规范之一。USB技术自发布已来,得到了很大的发展,并且由于USB自速电源供电(VBUS),使得有很多的小型设备开始使用USB接口进行供电,所以市面上也出现了五花八门的USB充电技术。随着USB3.0规范和TYPE-C接口的发布,在原来US......