Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Открыть папку ! помогите.


Porecla ©   (2005-02-13 12:36:00) 

У меня такой код не работает !
А вообще мне надо открыть папку и в ListBox добавить всё содержимое.Подскажите пожалуйста !

procedure TForm1.Button1Click(Sender: TObject);
var
Path: string;
begin
Path := GetPath('Выберите папку');
if Path <> ''
then Edit1.Text := Path;

end;


Porecla   (2005-02-13 13:58:00) [1]

Ок ! а как теперь использовать к примеру здесь
куда вставить?

procedure TForm1.Button4Click(Sender: TObject);
var
SRec: TSearchRec;
begin
if FindFirst('C:\Program Files\Opera\*.exe',faAnyFile,SRec) <> 0 then
Exit;
repeat
ListBox2.Items.Add('C:\Program Files\Opera\'+SRec.Name);
until FindNext(SRec) <> 0;
FindClose(SRec);
end;


begin...end   (2005-02-13 13:49:00) [2]

> begin...end ©   (13.02.05 13:48) [13]

uses ShlObj


begin...end   (2005-02-13 13:48:00) [3]

> Porecla   (13.02.05 13:45) [12]

function GetStartupFolder: String;
var
 PIDL: pItemIDList;
 Path: PChar;
begin
 if SHGetSpecialFolderLocation(0, CSIDL_STARTUP, PIDL) = NOERROR then
 begin
   GetMem(Path, MAX_PATH + 1);
   try
     if SHGetPathFromIDList(PIDL, Path) then
       Result := Path
   finally
     FreeMem(Path)
   end
 end
end


Porecla   (2005-02-13 13:45:00) [4]

А можно пожалуйста пример кода//


begin...end   (2005-02-13 13:37:00) [5]

> Porecla   (13.02.05 13:32) [9]

Для определения местонахождения папки "Автозагрузка" используйте API-функции SHGetSpecialFolderLocation и SHGetPathFromIDList.


Porecla   (2005-02-13 13:32:00) [6]

Всё отлично всем спасибо но как же сделать так, что бы
на чужом компьютере нажал кнопочку а ListBox содержание
папок Автозагрузка. Для всех я так понимаю
путь
C:\Documents and Settings\All Users\Start Menu\Programs\Startup

А вот для текущего. Надо, что его определить и вставить как то.


begin...end   (2005-02-13 13:32:00) [7]

> Ivolg ©   (13.02.05 13:16) [7]

1. Нет FindClose.
2. В список попадут "." и "..".


Kerk   (2005-02-13 13:23:00) [8]

Ivolg ©   (13.02.05 13:16) [7]

Я все же как-то пришел к такому варианту -

if (FindFirst(path+'*.*',faanyfile, searhrec) = 0) then
repeat
listbox1.Items.Add(searhrec.Name);
until (FindNext(searchrec) <> 0);


Ivolg   (2005-02-13 13:16:00) [9]

Лови!!!

var
  searhrec:tsearchrec;
  path:string;
begin
   if findfirst(path+'*.*',faanyfile, searhrec)=0 then
   listbox1.Items.Add(searhrec.Name);
   while (findnext( searhrec)=0) do
   listbox1.Items.add( searhrec.name);


Porecla   (2005-02-13 13:15:00) [10]

Вот, что нашел, работает

Теперь следующая проблема.
Мне надо считать файлы из папок Автозагрузка у всех пользователей. Если они известны то можно ввести путь а если нет?.

procedure TForm1.Button4Click(Sender: TObject);
var
SRec: TSearchRec;
begin
if FindFirst('C:\Program Files\Opera\*.exe',faAnyFile,SRec) <> 0 then
Exit;
repeat
ListBox2.Items.Add('C:\Program Files\Opera\'+SRec.Name);
until FindNext(SRec) <> 0;
FindClose(SRec);
end;


Porecla   (2005-02-13 13:15:00) [11]

Вот, что нашел, работает

Теперь следующая проблема.
Мне надо считать файлы из папок Автозагрузка у всех пользователей. Если они известны то можно ввести путь а если нет?.

procedure TForm1.Button4Click(Sender: TObject);
var
SRec: TSearchRec;
begin
if FindFirst('C:\Program Files\Opera\*.exe',faAnyFile,SRec) <> 0 then
Exit;
repeat
ListBox2.Items.Add('C:\Program Files\Opera\'+SRec.Name);
until FindNext(SRec) <> 0;
FindClose(SRec);
end;


_student   (2005-02-13 13:00:00) [12]

Скачай здесь http://www.podgoretsky.com/компонент DirScan он тебе облегчит жизнь


Kerk   (2005-02-13 12:55:00) [13]

Я тебе уже ответил: FindFirst / FindNext
Нужны конкретные примеры - делай поиск во форуму.. их куча.


Porecla   (2005-02-13 12:49:00) [14]

Ну и, что смешного помогите кодом ламеру :)))


Kerk   (2005-02-13 12:38:00) [15]

Слов нет :))))

FindFirst / FindNext


Наверх

Титульная страница Поиск, карта сайта Написать письмо