Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Показать свойства файла

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

Показать свойства файла


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, SoCtrls, SoSpecEdit, ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    sohoFilenameEdit1: TsohoFilenameEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure ShowPropertiesDialog(FName: string);
var
  SExInfo: TSHELLEXECUTEINFO;
  Error: LongInt;
begin
  ZeroMemory(Addr(SExInfo),SizeOf(SExInfo));
  SExInfo.cbSize := SizeOf(SExInfo);
  SExInfo.lpFile := PChar(FName);
  SExInfo.lpVerb := 'properties';
  SExInfo.fMask  := SEE_MASK_INVOKEIDLIST;
  ShellExecuteEx(Addr(SExInfo));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowPropertiesDialog(sohoFilenameEdit1.FileName);
end;

end.


Программа на Delphi, демонстрирующая использование функции ShellExecuteEx из модуля ShellAPI для отображения диалогового окна свойств файла.

Содержание программы разбивается на следующие части:

  1. unit Unit1; - объявление начала нового модуля Delphi с именем "Unit1".
  2. Секция interface содержит объявления типов, переменных и процедур, которые будут использоваться в этом модуле.
  3. Класс TForm1 определяется как наследник стандартного класса Delphi для форм (TForm). Он имеет две свойства: Button1 (кнопка управления) и sohoFilenameEdit1 (редактор для имени файла).
  4. Процедура Button1Click вызывается при клике на кнопку на форме. Она вызывает другую процедуру, называемую ShowPropertiesDialog, с параметром - именем файла из редактора.
  5. Секция implementation содержит реализацию процедур и функций, объявленных в секции interface.
  6. Процедура ShowPropertiesDialog принимает имя файла как строку, инициализирует экземпляр записи TSHELLEXECUTEINFO, устанавливает необходимые поля для этой записи (cbSize, lpFile, lpVerb, fMask), а затем вызывает функцию ShellExecuteEx с этим экземпляром для отображения диалогового окна свойств для указанного файла.
  7. Directive {$R *.DFM} tells the compiler to include a resource file named "Unit1.DFM" in the compilation process. This is a standard way of including form files in Delphi projects.

Альтернативное решение с использованием функции Windows API ShellExecute вместо ShellExecuteEx:

procedure ShowPropertiesDialog(FName: string);
begin
  ShellExecute(nil, 'properties', PChar(FName), '', nil, SW_SHOWNORMAL);
end;

Эта программа проще и легче для чтения, но имеет меньше гибкости в контроле выполнения команд оболочки. Например, ShellExecuteEx позволяет указать, должен ли быть отображен или скрыт окно, содержащее диалоговое окно свойств, а ShellExecute всегда отображает это окно.

В статье описывается пример программы на языке Pascal, которая позволяет показать свойства файла с помощью функции ShellExecuteEx из библиотеки Windows.


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

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-10-24 20:03:33/0.0035359859466553/0