Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.054 c
14-1082578618
Yanis
2004-04-22 00:16
2004.05.09
Что не так в этой странице?


9-1070977826
race1
2003-12-09 16:50
2004.05.09
game develop


3-1081520702
Наташулечка
2004-04-09 18:25
2004.05.09
Выборка значений


3-1081758841
Alex2004
2004-04-12 12:34
2004.05.09
Как уменьшить размер кэша


3-1081949308
Term
2004-04-14 17:28
2004.05.09
Как программно получить информацию о ROLE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский