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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2009, 05:33   #1
Sewell
 
Регистрация: 19.05.2009
Сообщений: 6
По умолчанию Как можно организовать открытие папки с содержащимся в нем произвольным файлом

Доброго всем времени суток!

Как можно организовать открытие папки с содержащимся в нем произвольным файлом, что то на подобие как в Download Master - "Перейти к файлу", что открывается папка и выбранный файл становится активным, как буд-то на него нажали мышкой???

Вообще для перехода к папке или интернет ссылке юзаю ShellExecute:
ShellExecute(Handle,'explore','путь к папке',nil,nil,SW_RESTORE);

А вот как сделать аналогично, но чтобы открывалась папка с файлом, по известному пути и файлу типа:
ShellExecute(Handle,'explore','D:\V IDEO\Файл.avi',nil,nil,SW_RESTORE), но тут эта функция не катит...может есть у кого соображения по этому поводу?

Заранее спасибо...
Sewell вне форума Ответить с цитированием
Старый 27.05.2009, 06:35   #2
TilerDerton
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 34
По умолчанию

Если я правильно понял вопрос...
Кидаем на форму элемент Dialogs-->OpenDialog.
Далее, нп римере Edit`а:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute; // вызвать окно для обзора папок
edit1.Text:=OpenDialog1.FileName; // получить выбранный путь
end;
TilerDerton вне форума Ответить с цитированием
Старый 27.05.2009, 07:25   #3
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Функция ExtractFilePath('D:\VIDEO\Файл.avi' ) выдаст 'D:\VIDEO\', а функция ExtractFileDir('D:\VIDEO\Файл.avi') выдаст 'D:\VIDEO'.

Юзайте подходящую для определения пути к папке и вставляйте в свой ShellExecute.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 27.05.2009, 08:52   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
По умолчанию

я вот такое видел, у меня работало, да и работает.
Код:
ShellExecute(Handle, nil, 'explorer.exe', '/e, Путь к папке, /select, Имя файла', Путь к папке, SW_RESTORE)
vovk вне форума Ответить с цитированием
Старый 27.05.2009, 10:58   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

поправлю немного
открытие папки по пути файла(в Едите путь)
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 ShellExecute(Handle,'explore',PChar(ExtractFilePath(Edit1.Text)),nil,nil,SW_RESTORE);
end;
Открытие с выбором файла(в Едите путь)
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
 ShellExecute(Handle, nil, 'explorer.exe', PChar('/e, '+ExtractFileDir(Edit1.Text)+', /select, '+ExtractFileName(Edit1.Text)), PChar(ExtractFileDir(Edit1.Text)), SW_RESTORE)
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.05.2009, 22:11   #6
Sewell
 
Регистрация: 19.05.2009
Сообщений: 6
По умолчанию

Ребят, всем спасибо огромное!!! Все отлично работает!!!
Sewell вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в Borland C++ Builder 6 при открытие файла Word посчитать количество символов в нем? Антон Ал. Март. C++ Builder 1 21.02.2009 21:37
Открытие файлов из заданной папки anutiks Microsoft Office Excel 7 14.04.2008 04:19
Работа с текст. файлом, проверка значений в нем. Vishez Помощь студентам 11 07.05.2007 21:59