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

Вниз

Как узнать текущий номер билда?   Найти похожие ветки 

 
kaif ©   (2004-04-20 05:23) [0]

Имеется программа. Хочется, чтобы она номер своего билда в AboutBox-е высвечивала. Есть какая-нибудь функция, чтобы узнать номер билда? Или хотя бы кто-нибудь знает, как обратиться к нему, как к ресурсу (знает имя ресурса)? Предполагается, что в свойствах проекта установлено "включать информацию о версии в EXE-файл".


 
kaif ©   (2004-04-20 05:23) [0]

Имеется программа. Хочется, чтобы она номер своего билда в AboutBox-е высвечивала. Есть какая-нибудь функция, чтобы узнать номер билда? Или хотя бы кто-нибудь знает, как обратиться к нему, как к ресурсу (знает имя ресурса)? Предполагается, что в свойствах проекта установлено "включать информацию о версии в EXE-файл".


 
Danilka ©   (2004-04-20 08:50) [1]

Если не ошибаюсь, через ВинАПИ процедуру: GetFileVersionInfo, а дальше - анализировать то, что она вернет.


 
Danilka ©   (2004-04-20 08:50) [1]

Если не ошибаюсь, через ВинАПИ процедуру: GetFileVersionInfo, а дальше - анализировать то, что она вернет.


 
Игорь Шевченко ©   (2004-04-20 10:57) [2]

 procedure GetFileVersion(FileName: string; var Major1, Major2,
                Minor1, Minor2: Integer);
 { Helper function to get the actual file version information }
 var
   Info: Pointer;
   InfoSize: DWORD;
   FileInfo: PVSFixedFileInfo;
   FileInfoSize: DWORD;
   Tmp: DWORD;
 begin
   // Get the size of the FileVersionInformatioin
   InfoSize := GetFileVersionInfoSize(PChar(FileName), Tmp);
   // If InfoSize = 0, then the file may not exist, or
   // it may not have file version information in it.
   if InfoSize = 0 then
     raise Exception.Create("Can""t get file version information for "
                    + FileName);
   // Allocate memory for the file version information
   GetMem(Info, InfoSize);
   try
     // Get the information
     GetFileVersionInfo(PChar(FileName), 0, InfoSize, Info);
     // Query the information for the version
     VerQueryValue(Info, "\", Pointer(FileInfo), FileInfoSize);
     // Now fill in the version information
     Major1 := FileInfo.dwFileVersionMS shr 16;
     Major2 := FileInfo.dwFileVersionMS and $FFFF;
     Minor1 := FileInfo.dwFileVersionLS shr 16;
     Minor2 := FileInfo.dwFileVersionLS and $FFFF;
   finally
     FreeMem(Info, FileInfoSize);
   end;
 end;


var
 VersionMajor: Integer;
 VersionMinor: Integer;
 Release, BuildNumber: Integer;
begin
...
   GetFileVersion(ParamStr(0), VersionMajor, VersionMinor, Release, BuildNumber);
...


 
Игорь Шевченко ©   (2004-04-20 10:57) [2]

 procedure GetFileVersion(FileName: string; var Major1, Major2,
                Minor1, Minor2: Integer);
 { Helper function to get the actual file version information }
 var
   Info: Pointer;
   InfoSize: DWORD;
   FileInfo: PVSFixedFileInfo;
   FileInfoSize: DWORD;
   Tmp: DWORD;
 begin
   // Get the size of the FileVersionInformatioin
   InfoSize := GetFileVersionInfoSize(PChar(FileName), Tmp);
   // If InfoSize = 0, then the file may not exist, or
   // it may not have file version information in it.
   if InfoSize = 0 then
     raise Exception.Create("Can""t get file version information for "
                    + FileName);
   // Allocate memory for the file version information
   GetMem(Info, InfoSize);
   try
     // Get the information
     GetFileVersionInfo(PChar(FileName), 0, InfoSize, Info);
     // Query the information for the version
     VerQueryValue(Info, "\", Pointer(FileInfo), FileInfoSize);
     // Now fill in the version information
     Major1 := FileInfo.dwFileVersionMS shr 16;
     Major2 := FileInfo.dwFileVersionMS and $FFFF;
     Minor1 := FileInfo.dwFileVersionLS shr 16;
     Minor2 := FileInfo.dwFileVersionLS and $FFFF;
   finally
     FreeMem(Info, FileInfoSize);
   end;
 end;


var
 VersionMajor: Integer;
 VersionMinor: Integer;
 Release, BuildNumber: Integer;
begin
...
   GetFileVersion(ParamStr(0), VersionMajor, VersionMinor, Release, BuildNumber);
...


 
kaif ©   (2004-04-22 14:37) [3]

2 Игорь Шевченко ©   (20.04.04 10:57) [2]
Спасибо. Хотя уже сам дошел, копая MS SDK, а потом - модуль Windows. :)
Но все равно спасибо!
Ваш код изящнее. Я определил лишнюю структуру из 2 слов, чтобы не делать сдвиги.


 
kaif ©   (2004-04-22 14:37) [3]

2 Игорь Шевченко ©   (20.04.04 10:57) [2]
Спасибо. Хотя уже сам дошел, копая MS SDK, а потом - модуль Windows. :)
Но все равно спасибо!
Ваш код изящнее. Я определил лишнюю структуру из 2 слов, чтобы не делать сдвиги.



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

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

Наверх




Память: 0.46 MB
Время: 0.035 c
7-1079680526
Артур
2004-03-19 10:15
2004.05.09
Аутентификация в Windows.


1-1082917013
AsbAlex
2004-04-25 22:16
2004.05.09
Помагите перевести код с Делфи на СИ или АСМ


14-1081921022
химик
2004-04-14 09:37
2004.05.09
Люди, срочно! Может кто-то скинуть мне на почту QTINTF.DLL


9-1070123297
AxxxE
2003-11-29 19:28
2004.05.09
Collision в 3D


14-1082187945
DCoder
2004-04-17 11:45
2004.05.09
WebApp с чего начать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский