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

Вниз

Как определить ферсию программы   Найти похожие ветки 

 
Alexei K   (2003-02-18 13:49) [0]

Здравситвуйте
Где то в рассылке пробегала функция определения версии (только одной функцией, т.е. не нужно тащить весь комбайн (от версии и до комментов)), а щас найти не могу.
Помогите


 
ION T ©   (2003-02-18 16:35) [1]


var
TBuildInfo = (biFull, biNoBuild, biMajor, biMinor, biRelease, biBuild, biCute);

{ Returns verson info from FileName in dotted decimal string format:
Release.Major.Minor.Build (biFull)
or Release.Major.Minor (biNoBuild)
or Release.MajorMinor (biCute)
or each one separately (biMajor, biMinor, biRelease, biBuild) }
function GetBuild(const BuildInfo: TBuildInfo): string;
var
dwI, dwJ: dword;
VerInfo: Pointer;
VerValue: PVSFixedFileInfo;
begin
Result := "";
dwI := GetFileVersionInfoSize(PChar(Application.ExeName), dwJ);
if dwI > 0 then
begin
VerInfo := nil;
try
GetMem(VerInfo, dwI);
GetFileVersionInfo(PChar(Application.ExeName), 0, dwI, VerInfo);
VerQueryValue(VerInfo, "\", Pointer(VerValue), dwJ);
case BuildInfo of
biFull:
begin
with VerValue^ do
begin
Result := IntToStr(dwFileVersionMS shr 16) + ".";
Result := Result + IntToStr(dwFileVersionMS and $FFFF) + ".";
Result := Result + IntToStr(dwFileVersionLS shr 16) + ".";
Result := Result + IntToStr(dwFileVersionLS and $FFFF);
end;
end;
biNoBuild:
begin
with VerValue^ do
begin
Result := IntToStr(dwFileVersionMS shr 16) + ".";
Result := Result + IntToStr(dwFileVersionMS and $FFFF) + ".";
Result := Result + IntToStr(dwFileVersionLS shr 16)
end;
end;
biCute:
begin
with VerValue^ do
begin
Result := IntToStr(dwFileVersionMS shr 16) + ".";
Result := Result + IntToStr(dwFileVersionMS and $FFFF);
Result := Result + IntToStr(dwFileVersionLS shr 16)
end;
end;
biRelease: Result := IntToStr(VerValue^.dwFileVersionMS shr 16);
biMajor: Result := IntToStr(VerValue^.dwFileVersionMS and $FFFF);
biMinor: Result := IntToStr(VerValue^.dwFileVersionLS shr 16);
biBuild: Result := IntToStr(VerValue^.dwFileVersionLS and $FFFF);
end;
finally
FreeMem(VerInfo, dwI);
end;
end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
6-17238
Demetrius
2003-01-15 10:32
2003.03.06
Proxy & иже с ним


1-17049
Song
2003-02-22 06:48
2003.03.06
Автоматическая вставка процедур типа TNotifyEvent


1-17074
Slonic75
2003-02-25 14:08
2003.03.06
Обработка сообщений COM объекта


3-16926
smus
2003-02-07 10:56
2003.03.06
Объём записей в базе ок. 10-15 тыс.


1-17125
district
2003-02-22 16:28
2003.03.06
Как автоматически конвертнуть, например, tagMSG в TWMChar