Форум: "KOL";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
ВнизГуру подскажите плиз, а как средствами KOL удалить папку? Найти похожие ветки
← →
sunwise (2007-07-27 06:28) [0]Подскажите пожалуйста. В функциях по работе с файлами и каталогами не нашел. Или делать средствами API?
← →
sunwise (2007-07-27 06:50) [1]Как всегда. Нашел. :)
RemoveDirectory("c:\test\");
Удаление каталога, если он пустой.
Функция описана в файле kol_unicode.inc.
Все ли верно? Тогда еще вопросик. А как удалить не пустой каталог?
← →
sunwise (2007-07-27 06:52) [2]Почти не отличается от RemoveDir. ;)
← →
MTsv DN © (2007-07-27 14:55) [3]> Тогда еще вопросик. А как удалить не пустой каталог?
procedure Shell( Parent: HWND;
ShellFun : cardinal;
ShellFlag : word ;
sFrom, sTo : KOLString);
var
FileOp : {$IFDEF UNICODE_CTRLS}TSHFileOpStructW{$ELSE}TSHFileOpStructA{$ENDIF};
s1, s2 : KOLString;
begin
s1 := ExcludeTrailingPathDelimiter(sFrom);
s1 := s1 + #0#0;
s2 := ExcludeTrailingPathDelimiter(sTo);
s2 := s2 + #0#0;
FillChar(FileOp, SizeOf(FileOp), #0);
with FileOp do
begin
Wnd := Parent;
wFunc := ShellFun;
pFrom := PKOLChar(s1);
pTo := PKOLChar(s2);
fFlags := fFlags or FOF_SILENT;
if ShellFlag <> 0 then
fFlags := fFlags or ShellFlag;
end;
{$IFDEF UNICODE_CTRLS}SHFileOperationW{$ELSE}SHFileOperationA{$ENDIF}(FileOp);
end;
procedure ShellDelete(Parent : HWND; Path : KOLString; Undo, Consent : boolean);
var
f : word;
begin
f := FOF_NOERRORUI; // отключаем вывод сообщения об ошибке
if not consent then f := f or FOF_NOCONFIRMATION;
if Undo then f := f and (not FOF_ALLOWUNDO);
Shell(Parent, FO_DELETE, f, Path, "");
end;
← →
sunwise (2007-07-27 19:26) [4]Спасибо. Боюсь осилить мне это будет не просто... хотя по сути - код только вставить. Разобраться еще надо. Спасиб огромное. Я изредка делаю небольшие программки, по мере надобности, особых знаний по программированию не имею. Да и делал все на билдере. Но вот понадобилось небольшое по размеру приложение сделать, которое должно работать только с флешки. Хотя и размер на самом деле не критичен, но небольшой вес будет выглядеть приятней. :)
У меня есть еще вопросик. Но это отдельная тема. Вопрос следующий.
Как можно передать фукции например WinExec нужные параметры, которые определяются в коде динамически, то есть меняются... Например для архиватора передать строку... или например для xcopy передать каталог, куда копировать файлы.
← →
sunwise (2007-07-27 19:40) [5]2MTsv DN ©
С другой стороны... каталог удаляемый нам известен. Если он не содержит множество поддиректорий, то все просто - получаем список файлов, удаляем их, удаляем каталог. Если есть поддиректории то уже нужен обход.
Насколько это будет решение оправдано? Я попробую сделать и так и по приведенному коду.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c