powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Open Folder (*.doc)
23 сообщений из 23, страница 1 из 1
Open Folder (*.doc)
    #39591363
Cahandar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добрый день
как можно найти в папке только конкретные тип файлы
например найти в папке где написан в Edit1.Text файлы где написан в Edit2.text

Код: pascal
1.
2.
Edit1.text:='c:\Folder1\';
Edit2.text:='*.doc';



и в результате открывалась в проводнике
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591365
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591370
Cahandar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо что ответили
Но мне надо чтобы когда user хочет посметреть DOC файлы тогда пуск открывается FOLDER с DOC файлами (В этом папке есть и другие тип файлы).

Например.
Код: pascal
1.
   ShellExecute(Handle,'open',PWideChar('D:\Folder\'),nil,nil,1);



но этот команда открывает папку все содержимые. а мне нужно чтобы в этот папке была только *.doc (или *.jpg, *.xls) файлы
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591379
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cahandar,
см. TOpenDialog.InitialDir и TOpenDialog.Filter:

Код: pascal
1.
2.
    OpenDialog1.InitialDir := 'D:\Folder';
    OpenDialog1.Filter     := 'Файлы MS Word(*.DOCx)|*.DOC;*.DOCX';
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591416
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД, ТСу надо в Проводнике в отображаемой папке наложить фильтр.

ТС: Разве *.doc в самом окне папки не прокатывает?
Задачу поконкретнее опишите, а то какой-то сферический конь в вакууме...
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591417
Фотография DetSimen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо перед вызовом диалога просто удалить из папки все не *.doc файлы и всё. :)
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591460
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я что-то не помню, чтобы проводник позволял выводить только файла определённого типа. Можно поиск запускать, но это не просто "окно папки" уже будет.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591469
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpЯ что-то не помню, чтобы проводник позволял выводить только файла определённого типа. Можно поиск запускать, но это не просто "окно папки" уже будет.Вам уже ответили про TOpenDialog. Указываете фильтр, открываете, выбираете несколько (нужно указать соотв. опцию), и потом программно делаете с выделенным списком файлов все что угодно.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591488
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSValekcvpЯ что-то не помню, чтобы проводник позволял выводить только файла определённого типа. Можно поиск запускать, но это не просто "окно папки" уже будет.Вам уже ответили про TOpenDialog. Указываете фильтр, открываете, выбираете несколько (нужно указать соотв. опцию), и потом программно делаете с выделенным списком файлов все что угодно.Да это не он спрашивал :)
А вообще задача странная - открыть проводник с фильтром просто так и всё. Что-то тут не так. Наверняка таки OpenDialog нужен.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591529
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если ТС хочет - то RFTM IExplorerBrowser, IFolderFilterSite, IFolderFilter ...
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591593
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
// uses ... , ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
var
  K: array of TInput;
  c: Char;
begin
  BlockInput(True);
  Tag := GetForegroundWindow();
  if ( ShellExecute(Handle, 'explore', PChar(Edit1.Text), nil, nil, SW_SHOWNORMAL) > 32 ) then begin
    while Tag = GetForegroundWindow() do Sleep(100);
    keybd_event(VK_F3, 0, KEYEVENTF_EXTENDEDKEY , 0);
    keybd_event(VK_F3, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
    for c in Edit2.Text do begin
      SetLength(K, Length(K)+1);
      with K[Length(K)-1] do begin
        Itype := INPUT_KEYBOARD;
        ki.wScan := Word(c);
        ki.dwFlags:= KEYEVENTF_UNICODE;
      end;
    end;
    SendInput(Length(K), K[0], SizeOf(K[0]));
    keybd_event(VK_RETURN, 0, 0, 0);
  end;
  BlockInput(False);
end;
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591682
Cahandar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АйФолдерПрима,

спасибо но это поск в папке. но очень помогли а я имел виду возможно ли следующее: в Edit1.Text я ввожу адрес, к примеру, D:\Folder1 , а в Edit2.Text ввожу расширение, к примеру, jpg, а результат – открывается указанная папка с файлами только указанного типа?
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591703
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cahandar,

А самому такую форму специфическую почему не сваять?
Ложишь на форму 2 Edit и ListBox и полетели (псевдокод):

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    if SetCurrentDir(EditForFolderName.Text) then
       begin
          
           Er:=FindFirst(EditForFileMask.Text,faAnyFile-faDirectory-faVolumeID,Sr)
 
           while Er=0 do
             begin
                  ListBox.Items.Add(Sr.Name);
                  SBuf:=Sr.Name;
                  Er:=FindNext(Sr);
             end;
           SysUtils.FindClose(Sr);
       
       end;
   
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591709
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CahandarАйФолдерПрима,

спасибо но это поск в папке. но очень помогли а я имел виду возможно ли следующее: в Edit1.Text я ввожу адрес, к примеру, D:\Folder1 , а в Edit2.Text ввожу расширение, к примеру, jpg, а результат – открывается указанная папка с файлами только указанного типа?
Ты это пишешь уже 3-й раз
Уже несколько вариантов предложили.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591710
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CahandarАйФолдерПрима,

спасибо но это поск в папке. но очень помогли а я имел виду возможно ли следующее: в Edit1.Text я ввожу адрес, к примеру, D:\Folder1 , а в Edit2.Text ввожу расширение, к примеру, jpg, а результат – открывается указанная папка с файлами только указанного типа?

Напишите своё. У вас уже есть два эдита. Добавьте к ним ListView, по двойному клику в котором будет запускаться Ворд. :-)
Зачем использовать ущербный Проводник, не позволяющий реализовать вашу задумку.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591781
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmi45Зачем использовать ущербный Проводник, не позволяющий реализовать вашу задумку.

еще как позволяет
не можешь - твои проблемы
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39591811
Cahandar,

eView.cmd:
Код: powershell
1.
2.
3.
4.
@echo off
mkdir %~dp1%~x1
for %%i in (%~dp1*%~x1) do mklink /H %~dp1%~x1\%%~nxi %%~dpnxi
explorer %~dp1%~x1

usage:
Код: powershell
1.
eView.cmd c:\tmp\.doc


или
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
procedure Exe(aVerb,aFile,aParm,aDir:PChar;aShow:Integer;aWait:Boolean);
var
 sx : TShellExecuteInfo;
begin
  ZeroMemory(@sx,SizeOf(sx));
  with sx do begin
    cbSize := SizeOf(sx);
    Wnd := Form1.Handle;
    lpVerb := aVerb;
    lpFile := aFile;
    lpParameters :=aParm;
    lpDirectory := aDir;
    nShow:=aShow;
  end;
  if ShellExecuteEx(@sx) then begin
    if aWait then WaitForSingleObject(sx.hProcess, 12345);
    CloseHandle(sx.hProcess);
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
const
  cm1 = '/c mkdir ';
  cm2 = '/c for %i in (';
  cm3 = ') do mklink /H ';
  cm4 = '\%~nxi %~dpnxi';
var
  mk : String;
  cmd : String;
  e1,e2 : String;
  sx : TShellExecuteInfo;
begin
  e1 := 'c:\tmp\';
  e2 := '.doc';
  mk :=  cm1 + e1+e2;
  cmd := cm2 + e1+'*'+e2 + cm3 +e1+e2+ cm4;
  Exe('', 'cmd.exe', PChar(mk), nil, SW_HIDE, True);
  Exe('', 'cmd.exe', PChar(cmd), nil, SW_HIDE, True);
  Exe('explore', PChar(e1+e2), nil, nil, SW_SHOWNORMAL, False);
end;

...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39592279
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmi45чччД, ТСу надо в Проводнике в отображаемой папке наложить фильтр.

ТС просто не знает, что ему надо. :)

ТС, тебе нужен не проводник, а компонент "OpenDialog".
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39592576
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguingoldmi45Зачем использовать ущербный Проводник, не позволяющий реализовать вашу задумку.

еще как позволяет
Покажи, не будь голословным.
Tactical Nuclear Penguinне можешь - твои проблемы
Не мои, а ТСа.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39592588
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmi45Tactical Nuclear Penguinпропущено...


еще как позволяет
Покажи, не будь голословным.

на, смотри
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39592727
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguin,
Ну это как-бы снова встраивание проводника в своё приложение, а в ТЗ стоит: открыть окно стандартного проводника в нужную папку с фильтром.
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39592865
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpTactical Nuclear Penguin,
Ну это как-бы снова встраивание проводника в своё приложение, а в ТЗ стоит: открыть окно стандартного проводника в нужную папку с фильтром.

гм. а чем проводник встроенный отличается от проводника не встроенного??
функциональность у них абсолютно одна и та же
лучшего решения ТС не получит, если он хочет именно проводник
...
Рейтинг: 0 / 0
Open Folder (*.doc)
    #39592929
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguin,

Так ТС сам не знает, чего хочет :)
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Open Folder (*.doc)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]