Информация о версии приложения

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
xcod
постоялец
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Информация о версии приложения

Сообщение xcod »

Здравствуйте!
Решил в приложение добавить инфу о версии, написал на русском, свойства EXE файла открываю а там иероглифы вот такие "Система учёта флюорографических обследований".
что за проблемы могут быть?

WinXP SP3
Lazarus 0.9.27. beta SVN 21081
FPC 2.2.5
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

Re: Информация о версии приложения

Сообщение grigoreo »

xcod писал(а):Здравствуйте!
Решил в приложение добавить инфу о версии, написал на русском, свойства EXE файла открываю а там иероглифы вот такие "Система учёта флюорографических обследований".
что за проблемы могут быть?

WinXP SP3
Lazarus 0.9.27. beta SVN 21081
FPC 2.2.5


ну судя по содержимому это не проблемы и не иероглифы это кодировка UTF8 , лазарус все таки базируется теперь именно на ней
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Re: Информация о версии приложения

Сообщение Mr.Smart »

Создать файл версии отдельно в кодировке Windows-1251 и подключить его в ресурсах.
Допустим файл называется version.rc и имеет следующее содержание:

Код: Выделить всё

1 VERSIONINFO
FILEVERSION 1,1,0,5
PRODUCTVERSION 1,1,0,0
{
 BLOCK "StringFileInfo"
 {
  BLOCK "041904E4"
  {
   VALUE "CompanyName", "ЗАО ...\000"
   VALUE "FileDescription", "Установка времени ТБН КМ/РМ\000"
   VALUE "FileVersion", "1.1.0.5\000"
   VALUE "LegalCopyright", "(c) ЗАО ...\000"
   VALUE "ProductVersion", "1.1.0.0\000"
  }
 }
 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 0x0419, 0x04E4
 }
}

после в коде проекта добавляем директиву ручками:

Код: Выделить всё

...
{$ifdef windows}{$r version.rc}{$endif}
...

И всё будет О.К.
Правдо есть одни неудобства с вязанные с авто увеличением билда, но это не кретично :wink:
xcod
постоялец
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: Информация о версии приложения

Сообщение xcod »

grigoreo писал(а):ну судя по содержимому это не проблемы и не иероглифы это кодировка UTF8 , лазарус все таки базируется теперь именно на ней


Понятно. Если это не проблемы, значит и решаться не будут я правильно понимаю? :)

Mr.Smart
спасибо


И еще заметил заголовок приложения также отображается.

Это все конечно не принципиально, но все же не приятно видеть :|
Аватара пользователя
and
постоялец
Сообщения: 124
Зарегистрирован: 16.09.2009 17:11:01
Откуда: г. Гомель, Беларусь
Контактная информация:

Re: Информация о версии приложения

Сообщение and »

Присоединяюсь. Тоже наткнулся на такие грабли с VersionInfo. Тупо исправил текст в .lpi, теперь Лазарус, естественно, показывает вопросики вместо строк в Win1251.
Это, наверное, правильно - всё делать в UTF8... вот только виндовый "Проводник" этого мнения не разделяет.
Может, стОит строки в ресурсе VersionInfo конвертировать при компиляции? У windres, часом, нет какого-нибудь ключика на эту тему?
Павел Ишенин
постоялец
Сообщения: 475
Зарегистрирован: 24.03.2007 09:16:52

Re: Информация о версии приложения

Сообщение Павел Ишенин »

Это проблемы и будут решаться :)
Аватара пользователя
pi1
новенький
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск
Контактная информация:

Re: Информация о версии приложения

Сообщение pi1 »

При переходе с версии 0.93 на 1.06 перестал работать код:
function ReadVersion(): string;
var
Ver: TFileVersionInfo;
i: integer;
begin
Ver := TFileVersionInfo.Create(nil);
Ver.FileName := ParamStr(0);
with Ver do
begin
for i := 0 to VersionStrings.Count - 1 do
begin
if VersionCategories[I] = 'FileVersion' then
begin
Result := VersionStrings[i];
Ver.Free;
Exit;
end;
end;
end;
end;
Помогла замена 'FileVersion' на 'fileversion' . :P
Ответить