![]() |
#1 |
Участник
|
Delete Directory
Подскажите, создаём папки так WinAPI::createDirectory(fileName);
А как удалить? |
|
![]() |
#2 |
Ищущий знания...
|
WinApi::removeDirectory('C:\\DirTest');
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 07.06.2010 в 14:43. Причина: добавил пример параметра |
|
![]() |
#3 |
Участник
|
думала, что для перемещения этот метод, а оказывается что удаляет ... спасибо..
|
|
![]() |
#4 |
Участник
|
эх, а ведь removeDirectory удаляет только пустой каталог, а как можно удалить каталог содержащий файлы?
|
|
![]() |
#5 |
Moderator
|
Предварительно удалив файлы с помощью WinAPI::findFirstFile(), WinAPI::findNextFile(), WinAPI::deleteFile().
|
|
![]() |
#6 |
Участник
|
X++: static void Job(Args _args) { FileName baseFolder = "C:\\Documents and Settings\\Рабочий стол\\14\\"; str fileName; dialogButton dialogButton; int hand; ; fileName = strfmt('%1*.*',baseFolder); [hand, FileName] = winapi::findFirstFile(fileName); dialogButton = BOX::yesNo(" В указанном каталоге существуют файлы. Удалить?",DialogButton::Yes); if (dialogButton == DialogButton::Yes) { while (FileName) { info(FileName); if(strlen(FileName)>2) WinApi::deleteFile(FileName); FileName = winapi::findNextFile(hand); } } // WinApi::removeDirectory(baseFolder); } Последний раз редактировалось fialka; 08.06.2010 в 10:47. |
|
![]() |
#7 |
Moderator
|
А что возвращает deleteFile()? Если что-то отличное от нуля - то это код ошибки.
|
|
![]() |
#8 |
Участник
|
X++: deleteFileError = WinApi::deleteFile(FileName);
info(strfmt("%1, %2",FileName,deleteFileError)); .., 0 Word1.doc, 2 Excel1.xls, 2 получается вот что... то есть те файлы которых нет "." выдаёт 0, а в тех которые существуют ошибка 2. |
|
![]() |
#9 |
Участник
|
всё. решила проблему.
нужно было писать WinApi::deleteFile(baseFolder +FileName); |
|
![]() |
#10 |
Moderator
|
На будущее - http://semper.fi.tripod.com/welt/index.htm
Чтобы получить по номеру текст ошибки. |
|
|
За это сообщение автора поблагодарили: fialka (1). |
![]() |
#11 |
Участник
|
спасибо.
|
|
![]() |
#12 |
Участник
|
Для файловых операций можно еще использовать объект Scripting.FileSystemObject. Это COM-обертка над API-интерфейсом. Поищите по форуму. Примеры приводились. Например здесь
WinApi::shellExecute("DEL" |
|
|
За это сообщение автора поблагодарили: fialka (1). |
![]() |
#13 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
![]() Для файловых операций можно еще использовать объект Scripting.FileSystemObject. Это COM-обертка над API-интерфейсом. Поищите по форуму. Примеры приводились. Например здесь
WinApi::shellExecute("DEL" X++: COM comFSO = new COM("Scripting.FileSystemObject"); Com comFolder; FileFolder_RU fileFolder_RU = "C:\\Documents and Settings\\Рабочий стол\\2"; ; if (comFSO.FolderExists(fileFolder_RU)) { comFolder = comFSO.GetFolder(fileFolder_RU); comFolder.delete(true); } } а применила в таблице - ошибку выдало Сбой запроса на разрешение типа "InteropPermission". получилось только после того как метод на клиенте запустила. Так что огромное спасибо. всё получилось Последний раз редактировалось fialka; 08.06.2010 в 12:06. |
|
Теги |
удаление файла, файл |
|
|