Código
function GetBuildInfo:string;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
V1, V2, V3, V4: Word;
Prog,ultimo : string;
begin
Prog := Application.Exename;
VerInfoSize := GetFileVersionInfoSize(PChar(prog), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(prog), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
V1 := dwFileVersionMS shr 16;
V2 := dwFileVersionMS and $FFFF;
V3 := dwFileVersionLS shr 16;
V4 := dwFileVersionLS and $FFFF;
end;
FreeMem(VerInfo, VerInfoSize);
ultimo := Copy ('100' + IntToStr(v4), 4, 2);
result := Copy ('100'+IntToStr (v1), 4, 2) + '.' +
Copy ('100'+IntToStr (v2), 4, 2) + '.' +
Copy ('100'+IntToStr (v3), 4, 2) + '.' +
Copy ('100'+IntToStr (v4), 4, 2);
{original errado quando
result := Copy (IntToStr (100 + v1), 3, 2) + '.' +
Copy (IntToStr (100 + v2), 3, 2) + '.' +
Copy (IntToStr (100 + v3), 3, 2) + '.' +
Copy (IntToStr (100 + v4), 3, 2);}
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009