Обход папок и подпапок в обычном и отсортированном порядке - по имени, размеру, дате(без времени).
Включены функции для VFP 8.X и VFP 3.X (подойдет для FP 2.0).
cDirStart = "Ваша папка" && Стартовая папка, должна располагатся "выше" (смотрите сортировка)
cDirEnd = "Ваша папка" && Конечная папка, должна располагатся "ниже" (папка cDirEnd c подпапками возвращается функцией обхода)
cDirCur = fDirScan(cDirStart, cDirEnd, "N") && Подпапка в cDirStart или след.папка после cDirStart, Сортировка по имени
* получение списка в массив
nDirs = fDirSL(@adr, "Папка")
* удаление c nDirs по 1 (иначе ошибки)
FOR nDir = nDirs TO 1 STEP -1
* удаление файлов
nFiles = ADIR(aff, adr(nDir) + "*.*", "HS")
FOR nFile = 1 TO nFiles
DELETE FILE (adr(nDir) + aff(nFile, 1))
ENDFOR
* удаление папки
RD (adr(nDir))
ENDFOR
Обновление: 18.04.2007.
1.Добавлен ReadMe.txt.
2.Исправлен z_DirTest.prg:
1) добавлены проверки и комментарии;
2) исключена ошибка в fDirSFP3();
3) протестировано в VFP и FP 2.0.
Обновление: 19.04.2007.
1.ReadMe.txt.
2.z_DirTest.prg:
1) исключена возможная ошибочная ситуация в fDirSFP3();
2) добавлена функция обхода только подпапок в указанной папке - fDirSub() для VFP 8.0, и fDirSubD() для VFP 3.0 и FoxPro 2.0;
3) протестировано в VFP и FP 2.0.
Обновление: 05.08.2007.
1.Обновлен ReadMe.txt.
2.Изменен z_DirTest.prg:
1) добавна функции fDirL(), fDirSL();
2) протестировано в VFP 8.X.
3.Добавлен z_DirTest3.prg:
1) добавна функции fDirL(), fDirSL();
2) протестировано в VFP 3.0 и FP 2.0.
Можно попроще сделать:
http://forum.foxclub.ru/read.php?29,256218,267719#msg-267719
INB
15.04.07 04:32:29
Проще некуда: вызов функции и цикл. Короче, обработка папок и подпапок в одном цикле !!!
urfin
16.04.07 08:07:36
Ниасилил, патамучта не рекурсия ;)
INB
16.04.07 12:54:43
Если разбираться в самой функции - естественно. С использованием нет проблем.
INB
17.04.07 00:09:37
Хорошие примеры рекурсии в FoxPro, можно найти по приведенной выше ссылке, на форуме в теме "API" -
http://forum.foxclub.ru/read.php?29,256218,page=1
urfin
17.04.07 07:33:39
Поставил пять
INB
17.04.07 11:44:01
Спасибо за ваше мнение.
INB
18.04.07 03:44:58
Обновил архив: 18.04.2007.
1) Добавил ReadMe.txt.
2) Исправил z_DirTest.prg: добавил проверки и комментарии, протестировал в FoxPro 2.0.
INB
19.04.07 01:54:13
Обновление: 19.04.2007.
1.ReadMe.txt.
2.z_DirTest.prg:
1) исключена возможная ошибочная ситуация в fDirSFP3();
2) добавлена функция обхода только подпапок в указанной папке - fDirSub() для VFP 8.0, и
fDirSubD() для VFP 3.0 и FoxPro 2.0;
3) протестировано в VFP и FP 2.0