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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2007, 22:46   #1
Yar
Пользователь
 
Регистрация: 03.08.2007
Сообщений: 37
По умолчанию Просмотр файлов в папке и подпапках

Как просмотреть файлы в папке и подпапках?
(Приведите пример кода)
Yar вне форума Ответить с цитированием
Старый 06.08.2007, 23:36   #2
Anton
Пользователь
 
Регистрация: 06.08.2007
Сообщений: 43
Подмигивание

Визуально, это можно отобразить следующим образом :
1. На вкладке Samples находишь ShellListView1 и ShellTreeView1.
2. Далее в инспекторе объектов для ShellListView1 находишь
свойство ShellTreeView1(будет выделено красным) и в свободное поле делаешь двойной щелчок и у тебя должно там появится ShellTreeView1.
3. Аналогично делаешь для ShellTreeView1 находишь свойство ShellListView1(будет выделено красным) и в свободное поле делаешь двойной щелчок и у тебя должно там появится ShellListView1.
Теперь визуально можешь просматревать файлы в папках и подпапках и если я не ошибаюсь запускать их!
Anton вне форума Ответить с цитированием
Старый 07.08.2007, 08:31   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На самом деле все гораздо проще. Можно обойтись и без ShellListView1:

unit Unit1;

interface

uses shellapi,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ShellCtrls;

type
TForm1 = class(TForm)
ShellTreeView1: TShellTreeView;
procedure FormCreate(Sender: TObject);
procedure ShellTreeView1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
ShellTreeView1.Align:=alClient;
ShellTreeView1.ObjectTypes:=ShellTr eeView1.ObjectTypes+ [otNonFolders];
end;

procedure TForm1.ShellTreeView1Click(Sender: TObject);
begin
// а это запуск
if ShellExecute(form1.handle,'open',pc har(ShellTreeView1.Path),
pchar(ExtractFileName(ShellTreeView 1.Path)),
pchar(ExtractFilePath(ShellTreeView 1.Path)),1)<=32
then caption:='Не пойдет';
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.08.2007, 12:58   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А можно просто: FindFirst и FindNext.
Carbon вне форума Ответить с цитированием
Старый 07.08.2007, 13:22   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

http://www.programmersclub.ru/labfile

http://www.programmersclub.ru/labmultimedta

Mp3-плеер

Программа для воспроизведения mp3 файлов. Для запуска программы поместите в каталог с Delphi исходником mp3 файлы и только после этого запускайте проект.
Скачать (15 кб)
Alar вне форума Ответить с цитированием
Старый 07.08.2007, 16:03   #6
Yar
Пользователь
 
Регистрация: 03.08.2007
Сообщений: 37
Вопрос Просмотр файлов в папке и подпаках (ещё вопрос)

А как просмотреть файлы в подпапках с помощью FindFirst и FindNext?

Допустим у меня есть папка D:\Temp

procedure TForm1.FindFiles;

var
SearchRec: TSearchRec;
r:integer=0;

begin
r:=FindFirst('D:\Temp\*.*', FaAnyfile, SearchRec);
while r = 0 do
begin

if ((SearchRec.ExcludeAttr and FaDirectory <> FaDirectory) and
(SearchRec.Attr and FaVolumeId <> FaVolumeId)) then
r := FindNext(SearchRec);

end;

Эта процедура просматривает файлы в папке. А как так сделать, чтобы просматривались файлы в подпапках?
Yar вне форума Ответить с цитированием
Старый 07.08.2007, 16:11   #7
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Рекурсивная процедура для всех найденных папок.

ЗЫ Отсеивай файлы с названиями '.' и '..'.
Carbon вне форума Ответить с цитированием
Старый 07.08.2007, 16:35   #8
Yar
Пользователь
 
Регистрация: 03.08.2007
Сообщений: 37
Вопрос Вопрос

Спасибо! Но можно по подробнее (привести пример кода)?
Yar вне форума Ответить с цитированием
Старый 07.08.2007, 16:51   #9
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Yar - подобная тема была на форуме, устали объяснять, хотя всё это просто.

Всё что вам нужно есть здесь

http://www.programmersclub.ru/labfile

http://www.programmersclub.ru/labmultimedta

Т.е. исходники с описанием.
Alar вне форума Ответить с цитированием
Старый 07.08.2007, 16:56   #10
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

http://programmersforum.ru/showthrea...EF%E0%EF%EA%E5 - вот тема

http://programmersforum.ru/search.php - а вот поиск по форуму
Alar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать поиск файлов в папке BETONOMESHALKA Общие вопросы Delphi 3 01.02.2008 22:43
Ошибка создания доступа к папке Oleg-vp Работа с сетью в Delphi 4 14.01.2008 14:35
Доступ к расшареной папке для одного IP Oleg-vp Работа с сетью в Delphi 3 14.01.2008 12:55
Выбор пути к папке Македонский Общие вопросы Delphi 2 28.08.2007 17:01
Поиск файлов в папках и подпапках Format C: Общие вопросы Delphi 17 04.05.2007 23:31