Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Получить тип файла Windows

Delphi , Файловая система , Файлы

Получить тип файла Windows

И был свет...
И была тьма...
И загрузилась Windows!


uses ShellAPI; 

function MrsGetFileType(const strFilename: string): string; 
var 
  FileInfo: TSHFileInfo; 
begin 
  FillChar(FileInfo, SizeOf(FileInfo), #0); 
  SHGetFileInfo(PChar(strFilename), 0, FileInfo, SizeOf(FileInfo), SHGFI_TYPENAME); 
  Result := FileInfo.szTypeName; 
end; 

// Example: 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  ShowMessage('File type is: ' + MrsGetFileType('c:\autoexec.bat')); 
end;

Here is the translation of the text into Russian:

Делфи-программный код, который использует интерфейс оболочки Windows для получения типа файла.

Обзор кода:

  1. Директива uses на верху импортирует модуль ShellAPI, который обеспечивает доступ к оболочке Windows.
  2. Функция MrsGetFileType принимает аргумент const strFilename: string и возвращает тип файла как строку.
  3. Внутри функции:
    • var FileInfo: TSHFileInfo; объявляет переменную типа TSHFileInfo, которая является записью, содержащей информацию о файле.
    • FillChar(FileInfo, SizeOf(FileInfo), #0); инициализирует запись FileInfo с помощью установки всех байтов в 0.
    • SHGetFileInfo(PChar(strFilename), 0, FileInfo, SizeOf(FileInfo), SHGFI_TYPENAME) вызывает функцию Windows SHGetFileInfo, чтобы получить информацию о файле. Параметры:
      • PChar(strFilename): указатель на входную строку (имя файла).
      • 0: необязательный параметр, который specifies дополнительные флаги, но в этом случае он установлен в 0.
      • FileInfo: указатель на запись FileInfo, где функция будет хранить результат.
      • SizeOf(FileInfo): размер записи FileInfo в байтах.
      • SHGFI_TYPENAME: флаг, который specifies, какой информации получить. В этом случае он установлен для получения типа файла (typename).
    • Result := FileInfo.szTypeName; присваивает значение FileInfo.szTypeName переменной Result, которая возвращает функция.
  4. Пример кода в процедуре TForm1.Button1Click демонстрирует, как использовать функцию MrsGetFileType:

    • Он вызывает функцию MrsGetFileType с именем файла 'c:\autoexec.bat'.
    • Результат (тип файла) отображается в сообщении об ошибке.

Вывод этого кода будет: "Тип файла: Batch File", потому что файл 'c:\autoexec.bat' имеет расширение batch-файла.

Для улучшения содержимого я бы предложил добавить комментарии, чтобы объяснить, что каждый часть кода делает. Кроме того, всегда полезно обрабатывать ошибки и исключения при работе с внешними API, такими как интерфейс оболочки Windows.

В статье описывается функция на языке Delphi, которая позволяет получать тип файла в системе Windows с помощью API-интерфейса Shell.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Файлы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 17:56:25/0.0059189796447754/2