Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2014, 14:59   #1
Letnab
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 52
Восклицание Получить свойства файла

Доброго дня! Столкнулся с такой задачей. Необходимо получить свойства файла.
Скажите пожалуйста, в какую сторону смотреть. пишу на XE2
Изображения
Тип файла: jpg 0000.JPG (41.3 Кб, 140 просмотров)
Letnab вне форума Ответить с цитированием
Старый 14.04.2014, 18:21   #2
Khayzenberg
Пользователь
 
Регистрация: 21.07.2011
Сообщений: 54
По умолчанию

WinApi смотри
Khayzenberg вне форума Ответить с цитированием
Старый 14.04.2014, 19:42   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

http://programmersforum.ru/showthread.php?t=63511
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.04.2014, 16:55   #4
Letnab
Пользователь
 
Регистрация: 16.12.2009
Сообщений: 52
По умолчанию

Нашел. может пригодиться кому.
Код HTML:
  function FileVersion(AFileName: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 + '\FileVersion');
        if VerQueryValue(FBuffer, szName, Value, Len) then
          Result := StrPas(PChar(Value));
      end;
  finally
    try
      if FBuffer <> nil
        then FreeMem(FBuffer, FSize);
    except
    end;

    try
      StrDispose(FFileName);
    except
    end;
  end;
end;
Letnab вне форума Ответить с цитированием
Старый 15.04.2014, 17:28   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А зачем тогда про диалог свойств файла спрашивал?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Списки. Свойства. Обьекты. оДин раз получить информацию для объекта. Человек_Борща Общие вопросы Delphi 0 01.07.2012 03:01
Как получить свойства таблицы SQL запросом? Grandistok Microsoft Office Access 1 10.04.2010 16:52
Как получить доступ к Свойства файла -> Сводка? Ruzzz Win Api 1 18.10.2008 18:39
Получить имя и свойства компонента... prizrak1390 Общие вопросы Delphi 3 08.04.2008 12:13
Как получить адрес свойства объекта? Lim Общие вопросы Delphi 3 30.11.2007 19:46