Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выяснить версию программы? / 6 сообщений из 6, страница 1 из 1
30.10.2003, 11:44
    #32310053
Makar4ik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выяснить версию программы?
В настройках Project -> Options -> version info
можно указать версию проекта.

А кто может подсказать, как ее прочитать непосредственно из самого exe-шника?
...
Рейтинг: 0 / 0
30.10.2003, 11:54
    #32310073
nomorenames
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выяснить версию программы?
Добрые люди в библиотеке RxLib написали такой файл: RxVerInf.
Вот в нем все и есть. Подключай и наслаждайся.
Пользоваться можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
  ProdVer:=TVersionInfo.Create(Application.ExeName);
  Ver:='Version: '+ ProdVer.FileVersion + # 10  +
    ProdVer.LegalCopyright + # 10  +
    ProdVer.LegalTrademarks + # 10  +
    ProdVer.CompanyName;
  LabelVersion.Caption := Ver;
...
Рейтинг: 0 / 0
30.10.2003, 13:44
    #32310319
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выяснить версию программы?
Посмотри тут.
...
Рейтинг: 0 / 0
30.10.2003, 15:35
    #32310575
JSW
JSW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выяснить версию программы?
Посмотри здесь

http://tdelphi.spb.ru/ish/AboutF.rar
...
Рейтинг: 0 / 0
03.11.2003, 08:12
    #32312988
Denis Uskov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выяснить версию программы?
На закладке с Project->Options VersionInfo, нажать HELP, там есть описалово, и даже пример для Delphi(у меня D7)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
const
  InfoNum =  10 ;
  InfoStr: array[ 1 ..InfoNum] of string =
    ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName',
     'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName',
     'ProductName', 'ProductVersion_', 'Comments');
var
  S: string;
  n, Len, i: DWORD;
  Buf: PChar;
  Value: PChar;
begin
  S := Application.ExeName;
  n := GetFileVersionInfoSize(PChar(S), n);
  if n >  0  then
  begin
    Buf := AllocMem(n);
    GetFileVersionInfo(PChar(S),  0 , n, Buf);
    for i :=  1  to InfoNum do
      if VerQueryValue(Buf, PChar('StringFileInfo\040904E4\' + InfoStr[i]),
                       Pointer(Value), Len) then begin
        { 040904E4 фигня какая-то 
                0409  - английский язык, при установке русского надо менять
               04E4 - не  знаю}
        // InfoStr[i] -> наименование ключа
        // Value -> значение
      end;
    FreeMem(Buf, n);
  end;
end;


С уважением, Denis Uskov
...
Рейтинг: 0 / 0
03.11.2003, 09:18
    #32313041
Denis Uskov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выяснить версию программы?
В дополнение, для русского надо ставить 041904E3

С уважением, Denis Uskov
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выяснить версию программы? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]