Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Версия билда программы, есть ли такие константы 
V
    Опции темы
dvamaster
  Дата 22.6.2009, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: 3
Всего: 10



Доброго времени суток!

Есть программа, у нее есть версия, где билд автоматически инкрементируется. Нужно сделать автообновление!
Ссылка на скачивание, номера версий... храняться в БД, в общем-с все релизовано.

Вопрос:
Есть ли предопределенные константы, переменные и т.д., которые автоматически заполняются при изменении билда?
Так как программа в стадии тестирования и доработки (юзверя много чего хотят от нее  smile ), надоело руками править константы! smile 


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
Keeper89
Дата 22.6.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(dvamaster @  22.6.2009,  12:49 Найти цитируемый пост)

Вопрос:
Есть ли предопределенные константы, переменные и т.д., которые автоматически заполняются при изменении билда?
Так как программа в стадии тестирования и доработки (юзверя много чего хотят от нее  smile ), надоело руками править константы! smile  

О каких константах идет речь?


--------------------
PM MAIL WWW   Вверх
dvamaster
Дата 22.6.2009, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: 3
Всего: 10



Цитата(Keeper89 @  22.6.2009,  15:22 Найти цитируемый пост)
О каких константах идет речь?


Например:

Код

Caption := Caption +  CurrentBuild;


CurrentBuild подставляется компилятором, или в каком-то модуле высчитывается.

Добавлено через 4 минуты и 42 секунды
В общем плюнул так-то отыскивать эти константы...

Код

function GetBuildVersion: String;
var
  b: array [0..1023] of Char;
  l: Integer;
  dw: DWORD;
  d: Pointer;
  dt: Pointer;
  dtl: DWORD;
begin
  Result := '';
  GetModuleFileName(HInstance, @b, 1023);
  l := GetFileVersionInfoSize(@b, dw);
  if l <> 0 then
    begin
      d := GetMemory(l);
      GetFileVersionInfo(@b, 0, l, d);
      VerQueryValue(d, '\', dt, dtl);
      Result := IntToStr(PVSFixedFileInfo(dt)^.dwFileVersionMS shr 16 and $FFFF);
      Result := Result + '.' + IntToStr(PVSFixedFileInfo(dt)^.dwFileVersionMS and $FFFF);
      Result := Result + '.' + IntToStr(PVSFixedFileInfo(dt)^.dwFileVersionLS shr 16 and $FFFF);
      Result := Result + '.' + IntToStr(PVSFixedFileInfo(dt)^.dwFileVersionLS and $FFFF);
      FreeMemory(d)
    end;
end;


вот рабочая функция выдает версию файла (не продукта) в формате [Major version].[MinorVersion].[Release].[Build]

так функция выведет версию продукта
Код

function GetBuildVersion: String;
var
  b: array [0..1023] of Char;
  l: Integer;
  dw: DWORD;
  d: Pointer;
  dt: Pointer;
  dtl: DWORD;
begin
  Result := '';
  GetModuleFileName(HInstance, @b, 1023);
  l := GetFileVersionInfoSize(@b, dw);
  if l <> 0 then
    begin
      d := GetMemory(l);
      GetFileVersionInfo(@b, 0, l, d);
      VerQueryValue(d, '\', dt, dtl);
      Result := IntToStr(PVSFixedFileInfo(dt)^.dwProductVersionMS shr 16 and $FFFF);
      Result := Result + '.' + IntToStr(PVSFixedFileInfo(dt)^.dwProductVersionMS and $FFFF);
      Result := Result + '.' + IntToStr(PVSFixedFileInfo(dt)^.dwProductVersionLS shr 16 and $FFFF);
      Result := Result + '.' + IntToStr(PVSFixedFileInfo(dt)^.dwProductVersionLS and $FFFF);
      FreeMemory(d)
    end;
end;



--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0741 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.