![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с папками [D6, WinME]
InfMag © (2004-12-07 19:42:00)Люди, подскажите как создавать, удалять и переименовывать не файлы, а именно папки...
Alexander Panov (2004-12-07 21:15:00) [1]InfMag © (07.12.04 21:14) [21]
Все притихли или все трудятся над данной проблемой?
Наверное трудятся. Задача невероятно трудна и на пути к решению ожидает немало терний...
Особенно учитывая begin...end © (07.12.04 20:56) [19]
InfMag (2004-12-07 21:14:00) [2]Все притихли или все трудятся над данной проблемой?
InfMag (2004-12-07 20:58:00) [3]Лучше просто написать код... Все пробую, но не получается...
begin...end (2004-12-07 20:56:00) [4]> [17] InfMag © (07.12.04 20:42)
procedure ScanDir(StartDir: String; List: TStrings);
var
SearchRec: TSearchRec;
begin
StartDir := IncludeTrailingPathDelimiter(StartDir);
if FindFirst(StartDir + '*.*', faAnyFile, SearchRec) = 0 then
begin
repeat
Application.ProcessMessages;
if ((SearchRec.Attr and faDirectory) = faDirectory)
and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
begin
List.Add(StartDir + SearchRec.Name + '\');
ScanDir(StartDir + SearchRec.Name + '\', List)
end
until FindNext(SearchRec) <> 0;
FindClose(SearchRec)
end
end;
begin
ScanDir('c:\Program Files', ListBox.Items)
end.
panov (2004-12-07 20:51:00) [5]http://www.delphimaster.ru/cgi-bin/forum.pl?n=5&search=FindFirst
InfMag (2004-12-07 20:42:00) [6]Вобщето попробовал,.. запутался... Не врубаюсь че-то... Не получается. Помшли, плиз.
begin...end (2004-12-07 20:40:00) [7]> [15] InfMag © (07.12.04 20:37)
А подумать - ?
InfMag (2004-12-07 20:37:00) [8]Поможеш?
begin...end (2004-12-07 20:35:00) [9]> [13] InfMag © (07.12.04 20:29)
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1015254946&n=19
Только нужно немного подправить.
InfMag (2004-12-07 20:29:00) [10]Блин, а в каком именно ФАКе?
InfMag (2004-12-07 20:27:00) [11]Стоп, вру - это FileListBox дает такие фичи, но всеже DirectoryListBox идет от начального пути...
C:\
Folder1
SubFolder1
и т.д и т.п.
begin...end (2004-12-07 20:27:00) [12]> [10] InfMag © (07.12.04 20:25)
Понимаю, а что мешает их игнорировать?
Повторяю: в ФАК'е (и не только этого сайта) есть примеры.
InfMag (2004-12-07 20:25:00) [13]Понимаеш, он мне дает эти [.] и [..], а мне они крайне не нужны...
begin...end (2004-12-07 20:23:00) [14]> [8] InfMag © (07.12.04 20:20)
Проще использовать компонент TDirectoryListBox. Или ещё проще надо?
InfMag (2004-12-07 20:20:00) [15]Может проше прописать? Не могу найти...
begin...end (2004-12-07 20:14:00) [16]> [6] InfMag © (07.12.04 20:12)
А в ФАК'е, извиняюсь за выражение, Вы уже побывали?
См. [5] (вторая часть) + TListBox.Items.Append.
InfMag (2004-12-07 20:12:00) [17]Прошу теперь описать как в ListBox получить список папок?
begin...end (2004-12-07 20:08:00) [18]> [3] InfMag © (07.12.04 19:55)
Юрий Зотов, как всегда, прав: RenameFile подходит.
RenameFile('c:\OldName', 'c:\NewName')
> [4] InfMag © (07.12.04 20:04)
См. FindFirst, FindNext, FindClose, TSearchRec.Attr, faDirectory.
См. также: ФАК.
InfMag (2004-12-07 20:04:00) [19]И еще хочу спросить - как программно в определенной папке получить список папок?
InfMag (2004-12-07 19:55:00) [20]Пропиши пожалйста как именно переименовывать...