Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

Version info (Build)   Найти похожие ветки 

 
Nucer   (2007-08-30 12:11) [0]

Существует ли простой спобос получить данную информацию о своей же программе? Может есть какая-нибудь переменная? Или придется использовать стандартные функции (GetFileVersionInfo)?


 
Desdechado ©   (2007-08-30 12:12) [1]

Придется.


 
DVM ©   (2007-08-30 12:22) [2]


function GetFullFileVersion : string;
Var j,w   : Cardinal;
   s     : shortstring;
   buf   : pointer;
   buf2  : pointer;
   q     : DWord;
   vsinfo: ^VS_FIXEDFILEINFO;
   mVer,
   lVer,
   rVer,
   bVer,
   flag  : DWord;
begin
 s := ParamStr(0) + #0;
 j := GetFileVersionInfoSize(@s[1],w);
 if j = 0 then Exit;
 buf := Ptr(GlobalAlloc(GMEM_FIXED,j));
 GetFileVersionInfo(@s[1], 0, j, buf);
 VerQueryValue(buf, "\", buf2, q);
 vsinfo := buf2;
 mVer := vsInfo^.dwProductVersionMS div $FFFF;
 lVer := vsInfo^.dwProductVersionMS mod $10000;
 rVer := vsInfo^.dwProductVersionLS div $FFFF;
 bVer := vsInfo^.dwProductVersionLS mod $10000;
 flag := vsInfo^.dwFileFlags;
 s := IntToStr(mVer) + "." +
      IntToStr(lVer) + "." +
      IntToStr(rVer) + "." +
      IntToStr(bVer);
 if (flag and VS_FF_DEBUG) > 0        then s := s + " debug ";
 if (flag and VS_FF_PRERELEASE) > 0   then s := s + " prerelease ";
 if (flag and VS_FF_PRIVATEBUILD) > 0 then s := s + " private ";
 if (flag and VS_FF_SPECIALBUILD) > 0 then s := s + " special ";
 Result := s;
 GlobalFree(Cardinal(buf));
end;


 
Nucer   (2007-08-30 12:31) [3]

2DVM Спасибо за помощь


 
Fay ©   (2007-08-30 12:31) [4]

> vsInfo^.dwProductVersionMS div $FFFF;
а что это за прикол с делением на нечётное число ?


 
DevilDevil ©   (2007-08-30 13:18) [5]

mVer := vsInfo^.dwProductVersionMS shr 16;
lVer := vsInfo^.dwProductVersionMS and $FFFF;
rVer := vsInfo^.dwProductVersionLS shr 16;
bVer := vsInfo^.dwProductVersionLS and $FFFF;


 
DevilDevil ©   (2007-08-30 13:22) [6]

mVer := HiWord(vsInfo^.dwProductVersionMS);
lVer := LoWord(vsInfo^.dwProductVersionMS);
rVer := HiWord(vsInfo^.dwProductVersionLS);
bVer := LoWord(vsInfo^.dwProductVersionLS);



Страницы: 1 вся ветка

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
6-1185333580
R.O.O.T
2007-07-25 07:19
2008.04.27
Port Mapping своими силами


15-1205829949
usr
2008-03-18 11:45
2008.04.27
Fast Report 2.5


2-1206891532
cyber-pilot
2008-03-30 19:38
2008.04.27
Создание и уничтожение дочерней формы


11-1188127195
Пётр
2007-08-26 15:19
2008.04.27
Создание TControl в произвольном окне с известным дескриптором


2-1206972240
jack128_
2008-03-31 18:04
2008.04.27
SQL запрос