delphi 应用系统- 版本控制

来源:互联网 发布:淘宝网女式羽绒服 编辑:程序博客网 时间:2024/06/06 01:56

1. 设置应用程序包含版本信息

 

处理 delphi ----> project -------> options ----------> version info 中设置: marjor/minior/release/builder 信息;

 

并且:   builder 自动增量:   选中 ;   module arri 全部选中;  设置其它属性......................

 

------------------   对于大版本信息的修改需要手动更新

 

 

2. 每次应用修改完成后,    builder all 将会生成新的版本信息;

 

3. 读取版本信息 :

 

在unit 如下位置加入 getfileversion 函数::::::::::::::::::::::::

implementation

{$R *.dfm}

----------------------------------

 

function GetFileVersion(fn: string; var ma, mi, r ,b: integer):boolean;//得到fn本程序的版本号
var
buf, p: pChar;
sver: ^VS_FIXEDFILEINFO ;
i: LongWord;
begin
i:= GetFileVersionInfoSize(pchar(fn), i);
new(sver);
p:= pchar(sver);
GetMem(buf, i);
ZeroMemory(buf, i);
result:= false;
if GetFileVersionInfo(pchar(fn), 0, 4096, pointer(buf)) then
if VerQueryValue(buf, '/', pointer(sver), i) then begin
ma:= sVer^.dwFileVersionMS shr 16;
mi:= sver^.dwFileVersionMS and $0000ffff;
r:= sver^.dwFileVersionLS shr 16;
b:= sver^.dwFileVersionLS and $0000ffff;
result:= true;
end;
Dispose(p);
FreeMem(buf);
end;

 

--------------------------------

 

在程序中如下调用:

 

procedure TForm1.Button2Click(Sender: TObject);
var
  m1,m2,m3,m4:integer;
  filename:string;
begin
    filename:='project1.exe';
    GetFileVersion(filename,m1,m2,m3,m4);
    ShowMessage('版本: ' +
    IntToStr(m1) + '.' +
    IntToStr(m2) + '.' +
    IntToStr(m3) + '.' +
    IntToStr(m4));
end;

 

 

 

 

 

原创粉丝点击