![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Открыть папку ! помогите.
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