Улучшенный файловый менеджер (с возможностью запуска файлов)

Давайте добавим к нашему файловому менеджеру возможность путешествия по папкам и запуска файлов. Для этого нужно создать обработчик события ondblclick для компонента Listview и написать в нем содержимое листинга: 

В этом коде в самом начале осуществляется проверка произведенного выбора (по какому объекту был произведен щелчок мышью). Если это папка, то надо пе­рейти в нее, а если файл, то надо его запустить. Для этого проверяется пятый до­полнительный параметр выделенного элемента:

ListViewl.Selected.Subltems[5]='dir'

Когда мы добавляли элементы и дополнительные параметры в Listview, то в ка­честве пятого для папок указывали значение 'dir', а для файлов — 'file'. Теперь надо только проверить этот параметр.

 

Если выделенная строка— это папка, то мы изменяем текст текущей папки в Editl.Text и перечитываем ее с помощью вызова AddFile, указав новое значе­ние папки.

Если выделенная строка— это файл, то его надо запустить. Это можно сделать С ПОМОЩЬЮ вызова функции ShellExecute. У функции следующие параметры:

  • программа, отвечающая за запуск приложения. Здесь можно указать значение nil, НО МЫ укажем главное ОКНО программы (Application.MainForm.Handle);
  • строка, указывающая на операцию, которую надо выполнить. Укажем nil для запуска файла;
  • строка, содержащая полный путь к файлу;
  • строка параметров, передаваемых программе в командной строке;
  • папка по умолчанию;
  • команда показа. Здесь мы укажем sw_show для нормального отображения окна. Можно указать и другие параметры (все команды вы найдете в файле помощи), но чаще всего используются sw_show (нормальный режим), sw_showmaximized (пока­зать максимизировано) или sw_showminimized (показать в свернутом состоянии).

ВНИМАНИЕ. Функция ShellExecute объявлена в модуле shellapi, поэтому его не­обходимо добавить в раздел uses, иначе Delphi не сможет откомпилировать проект. 


dle

Помоги проекту! Расскажи друзьям об этом сайте: