Возникла подзадача: надо из программы открыть отдельное окно текущего файлового менеджера. Из командной строки это решается просто:
explorer <dirname>
nautilus <dirname>
и т.п.
А есть ли какой-то универсальный способ, что-нибудь вроде ShellCommand.ShowDir(<dirname>) ?
Смысл задачи: дать возможность пользователю выполнить какие-то (любые) действия над файлами средствами операционной среды.
Открыть папку в отдельном окне
Модератор: Модераторы
- Troublemaker
- постоялец
- Сообщения: 292
- Зарегистрирован: 16.04.2008 13:00:44
- Откуда: Биробиджан, Дальний Восток
- Контактная информация:
Troublemaker писал(а):А есть ли какой-то универсальный способ, что-нибудь вроде ShellCommand.ShowDir(<dirname>) ?
Скорее нет чем да, слишком уж много файловых менеджеров. Хотя можно самостоятельно написать определение ФМ и запуск его с параметрами. Например, в fpGUI для похожей задачи (открытие ссылки в браузере по умолчанию) используется следующий код:
Код: Выделить всё
// под Windows
procedure fpgOpenURL(const aURL: TfpgString);
begin
try
ShellExecute(0, 'open', PChar(aURL), nil, nil, 0) ;
except
// do nothing
end;
end;
// под Linux
procedure fpgOpenURL(const aURL: TfpgString);
var
Helper: string;
begin
Helper := '';
if fpsystem('which xdg-open') = 0 then
Helper := 'xdg-open'
else if FileExists('/etc/alternatives/x-www-browser') then
Helper := '/etc/alternatives/x-www-browser'
else if fpsystem('which firefox') = 0 then
Helper := 'firefox'
else if fpsystem('which konqueror') = 0 then
Helper := 'konqueror'
else if fpsystem('which opera') = 0 then
Helper := 'opera'
else if fpsystem('which mozilla') = 0 then
Helper := 'mozilla';
if Helper <> '' then
fpSystem(Helper + ' ' + aURL + '&');
end;
- Troublemaker
- постоялец
- Сообщения: 292
- Зарегистрирован: 16.04.2008 13:00:44
- Откуда: Биробиджан, Дальний Восток
- Контактная информация:
Odyssey писал(а):Скорее нет чем да,
Просто любопытно, а как это реализовано в мозиллах, когда из списка закачек можно открыть либо "адрес файла" (seamonkey) либо "папку, содержащую файл" (firefox)?
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Troublemaker писал(а):Просто любопытно, а как это реализовано в мозиллах, когда из списка закачек можно открыть либо "адрес файла" (seamonkey) либо "папку, содержащую файл" (firefox)?
они опенсурс можешь глянуть =)
