• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Как правильно кодить... УдалитьКаталог();

  • Автор темы physik_gumanitar
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

physik_gumanitar

Доброго времени суток госпада Программеры!!!

На досуге ради развития знаний... Ну и т.п. и т.д.. Есть вопрос.

По поводу команды УдалитьКаталог();..
Вставляю код док-а

Перем Путь, Свершилось;

Процедура ВыборПапки()
ФС.ВыбратьКаталог(Путь,"Удаляемая папка"); //выбираем папку
Свершилось = 1;
КонецПроцедуры

Процедура Удаление()
ФС.УдалитьКаталог(Путь); //непосредственное удаление
КонецПроцедуры

Процедура Делете()
Если Свершилось = 1 Тогда //проверка выполнения Выбора папки
Вопрос("Вы действительно хотите удалить данную папку?",4);
Удаление();
Иначе
Предупреждение("Укажите директорию... Иначе никак");
СтатусВозврата(1);
КонецЕсли;
КонецПроцедуры

Пишем вместо Пути конктретную папку (вернее путь к ней) все работает безупречно. Если же вместо точного пути пишем переменную (путь директории), ни чего не работает, выдает ошибку "Ошибка при выполнении команды;" Может кто че скажет по этому поводу...
 
P

physik_gumanitar

Неужели все такие умные, что пояснить какую то простейшую функцию, как она должна работать, ниже вашего достоинства??? Либо в ламы??? :blink:
 
D

Dr.Uid

Попробуй СОКРЛП(Имя_Каталога)... почти на 100% уверен что поможет...

P.S. Этот совет можно отнести к любым функциям и процедурам работающим с путями и именами файлов...
 
P

physik_gumanitar

Попробуй СОКРЛП(Имя_Каталога)... почти на 100% уверен что поможет...

P.S. Этот совет можно отнести к любым функциям и процедурам работающим с путями и именами файлов...

Это же сколько геморою... Перепроверки названия директории на длуну... Емае... неужели нет какого либо более вразумительго ответа...
 
D

Dr.Uid

Это ж сколько геморою... написать
ФС.УдалитьКаталог(СокрЛП(Путь));

вместо... ФС.УдалитьКаталог(Путь);

:blink:
Не смеши...
 
V

vbs

для physik_gumanitar
Я вот попробовал все варианты, и все кончаются (начинаются то бишь) на 8-ю букву алфавита.
Увы, видимо глюк программы 1С (и такое встречается)
 
K

kaa

Попробуйте вместо УдалитьКаталог УдалитьФайл
 
J

jj_mail

Пишем вместо Пути конктретную папку (вернее путь к ней) все работает безупречно

Каким образом явно указать путь к папке ? У меня ни явно, ни через переменную не сработало
 
K

kaa

<!--QuoteBegin-physik_gumanitar+13:12:2007, 13:02 -->
<span class="vbquote">(physik_gumanitar @ 13:12:2007, 13:02 )</span><!--QuoteEBegin-->УдалитьФайл работает в любом случае...
Опять таки вы не вчитываетесь в суть ТЕМЫ.. Вопрос был про УдалитКаталог()...
[snapback]89707" rel="nofollow" target="_blank[/snapback]​
[/quote]

Вообщем то отывет прос каталог заблокирован попробуйте так:

Процедура Удаление()
ФС.УстТекКаталог(ФС.WindowsКаталог());
ФС.НайтиПервыйФайл("*.*");
ФС.УдалитьКаталог(Путь); //непосредственное удаление
КонецПроцедуры
 
P

physik_gumanitar

Каким образом явно указать путь к папке ? У меня ни явно, ни через переменную не сработало

Просто. указав конкретную папку... т.е. путь к папке... Типо "C:\Downloads\Программы"... жеская привязка работает... Переменая же нет...
 
P

physik_gumanitar

Вообщем то отывет прос каталог заблокирован попробуйте так:

Процедура Удаление()
ФС.УстТекКаталог(ФС.WindowsКаталог());
ФС.НайтиПервыйФайл("*.*");
ФС.УдалитьКаталог(Путь); //непосредственное удаление
КонецПроцедуры

Спасибо, все работает. Вот только удаление происходит только в том случае, если директория пустая, это уже не так важно...
Дальнейшая судьба всего того с чего начиналось, близится к успешному завершению...
Всем мои благодарности!!! В частности kaa...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!