07.06.2010, 14:24 | #1 |
Участник
|
Delete Directory
Подскажите, создаём папки так WinAPI::createDirectory(fileName);
А как удалить? |
|
07.06.2010, 14:42 | #2 |
Ищущий знания...
|
WinApi::removeDirectory('C:\\DirTest');
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 07.06.2010 в 14:43. Причина: добавил пример параметра |
|
07.06.2010, 16:27 | #3 |
Участник
|
думала, что для перемещения этот метод, а оказывается что удаляет ... спасибо..
|
|
08.06.2010, 09:06 | #4 |
Участник
|
эх, а ведь removeDirectory удаляет только пустой каталог, а как можно удалить каталог содержащий файлы?
|
|
08.06.2010, 09:29 | #5 |
Moderator
|
Предварительно удалив файлы с помощью WinAPI::findFirstFile(), WinAPI::findNextFile(), WinAPI::deleteFile().
|
|
08.06.2010, 10:45 | #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. |
|
08.06.2010, 10:47 | #7 |
Moderator
|
А что возвращает deleteFile()? Если что-то отличное от нуля - то это код ошибки.
|
|
08.06.2010, 10:52 | #8 |
Участник
|
X++: deleteFileError = WinApi::deleteFile(FileName);
info(strfmt("%1, %2",FileName,deleteFileError)); .., 0 Word1.doc, 2 Excel1.xls, 2 получается вот что... то есть те файлы которых нет "." выдаёт 0, а в тех которые существуют ошибка 2. |
|
08.06.2010, 10:55 | #9 |
Участник
|
всё. решила проблему.
нужно было писать WinApi::deleteFile(baseFolder +FileName); |
|
08.06.2010, 10:57 | #10 |
Moderator
|
На будущее - http://semper.fi.tripod.com/welt/index.htm
Чтобы получить по номеру текст ошибки. |
|
|
За это сообщение автора поблагодарили: fialka (1). |
08.06.2010, 11:01 | #11 |
Участник
|
спасибо.
|
|
08.06.2010, 11:09 | #12 |
Участник
|
Для файловых операций можно еще использовать объект Scripting.FileSystemObject. Это COM-обертка над API-интерфейсом. Поищите по форуму. Примеры приводились. Например здесь
WinApi::shellExecute("DEL" |
|
|
За это сообщение автора поблагодарили: fialka (1). |
08.06.2010, 11:55 | #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. |
|
Теги |
удаление файла, файл |
|
|