Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.04.2011, 15:23
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
Вопрос Свойства файла

Добрый день. Подскажите как узнать свойства файла. Конкретно интересует как узнать версию файла. Нашел код, но не пойму где указать путь к файлу.
Код HTML:
const TypeInfo: array[0..9] of string = ( 'CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'LegalTrademarks', 'OriginalFilename', 'ProductName', 'ProductVersion', 'Comments' ); function FileVersion( AFileName, Info: string ): string; var szName: array[0..255] of Char; P: Pointer; Value: Pointer; Len: UINT; GetTranslationString: string; FFileName: PChar; FValid: boolean; FSize: DWORD; FHandle: DWORD; FBuffer: PChar; begin try FFileName := StrPCopy( StrAlloc( Length( AFileName ) + 1 ), AFileName ); FValid := False; FSize := GetFileVersionInfoSize( FFileName, FHandle ); if FSize > 0 then try GetMem( FBuffer, FSize ); FValid := GetFileVersionInfo( FFileName, FHandle, FSize, FBuffer ); except FValid := False; raise; end; Result := ''; if FValid then VerQueryValue( FBuffer, '\VarFileInfo\Translation', P, Len ) else P := nil; if P <> nil then GetTranslationString := IntToHex( MakeLong( HiWord( Longint( P^ ) ), LoWord( Longint( P^ ) ) ), 8 ); if FValid then begin StrPCopy( szName, '\StringFileInfo\' + GetTranslationString + '\' + Info ); if VerQueryValue( FBuffer, szName, Value, Len ) then Result := StrPas( PChar( Value ) ); end; finally if FBuffer <> nil then FreeMem( FBuffer, FSize ); StrDispose( FFileName ); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage( FileVersion( ParamStr( 0 ), TypeInfo[2] ) ); end;
Хочу сделать чтоб программа сама следила, что есть более новая версия. Хочу обновление таким образом наладить. Или подскажите как лучше реализовать. Думаю уже сталкивались с таким вопросом.
Заранее благодарю.
Ответить с цитированием
  #2  
Старый 27.04.2011, 15:29
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

Код:
ShowMessage(FileVersion('путь к файлу и имя.exe', TypeInfo[2]));
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #3  
Старый 27.04.2011, 15:41
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Благодарю. Попробуем реализовать.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter