Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Версия файла в TLabel 
V
    Опции темы
DCamer
Дата 22.7.2010, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Как вывести версию файла в лейбле? В C++ Buider 2010.
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
NightElf
Дата 23.7.2010, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

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



DCamer
Цитата

DCamer Как вывести версию файла в лейбле? В C++ Buider 2010.

Какого файла?

Это сообщение отредактировал(а) NightElf - 23.7.2010, 08:02
PM MAIL ICQ   Вверх
DCamer
Дата 23.7.2010, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



NightElf, Исполняемого файла самого приложения в котором будет выводится версия.
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
mrbrooks
Дата 23.7.2010, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

Репутация: 167
Всего: 306



GetFileVersionInfo или GetFileVersionInfoEx
PM MAIL   Вверх
DCamer
Дата 23.7.2010, 12:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(mrbrooks @  23.7.2010,  13:38 Найти цитируемый пост)
GetFileVersionInfo или GetFileVersionInfoEx 

Это я знаю, но при открытие окна с TLabel, вылетает ошибка и вместо версии написано название TLabel'а.
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
Dem_max
Дата 23.7.2010, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 14
Всего: 39



Значит чето не правильно делаешь


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
DCamer
Дата 23.7.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Dem_max, Только что пробовал код отсюда, тоже ошибка вылетает.
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
Dem_max
Дата 23.7.2010, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 14
Всего: 39



по ссылке какой то код мутный, смесь чего то с чем то. 


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
_Dimon_
Дата 23.7.2010, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

UnicodeString __fastcall VersionInfo(UnicodeString Value)
{
 DWORD h;
 DWORD Size;
 HGLOBAL buf;
 wchar_t* ValueBuf;
 UnicodeString CharSet;
 UnicodeString strValue;

 try
 {
  Size = GetFileVersionInfoSizeW(Application->ExeName.w_str(), &h);
  if(Size>0)
   {
    buf=GlobalAlloc(GMEM_FIXED, Size);
    GetFileVersionInfoW(Application->ExeName.w_str(),h,Size,buf);
    VerQueryValueW(buf, UnicodeString(L"\\VarFileInfo\\Translation").w_str(), &(void*)ValueBuf, NULL);
    CharSet=IntToHex((int)MAKELONG(HIWORD(*(int*)(ValueBuf)),LOWORD(*(int*)ValueBuf)), 8);
    VerQueryValueW(buf,UnicodeString(L"\\StringFileInfo\\"+CharSet+L"\\"+Value).w_str(),&(void*)ValueBuf,NULL);
    strValue = UnicodeString(ValueBuf);
   }
 }
 __finally
 {
   if (Size>0) GlobalFree(buf);
 }

 return strValue;
}




Код

 Label1->Caption = VersionInfo(L"FileVersion");        // Версия файла
 Label2->Caption = VersionInfo(L"LegalCopyright"); // Авторское право
 Label3->Caption = VersionInfo(L"Comments");        // Коментарий


Короче суть понятна надеюсь  



P.S. Чуточку поправил

Это сообщение отредактировал(а) _Dimon_ - 23.7.2010, 18:14
PM MAIL   Вверх
DCamer
Дата 1.8.2010, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



_Dimon_, спасибо. 
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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