Страница 1 из 1

Создание папки MB

Добавлено: 23 авг 2022, 07:50
Dartix
Добрый день!
Как через MapBasic можно создать/удалить папку в указанном месте?

Re: Создание папки MB

Добавлено: 24 авг 2022, 06:08
MI user
Лично мне метод не нравится, но он работает:

1) В начале программы импортируем функцию Windows API:

Код: Выделить всё

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Integer)
2) Папку создаём с помощью вызова команды:

Код: Выделить всё

Run Program "cmd /q /c md """ + WorkDir + """"
3) Так как папка создаётся асинхронно - нужно подождать некоторое время, пока она станет доступна в программе MapBasic:

Код: Выделить всё

Call Sleep(1000)

Re: Создание папки MB

Добавлено: 24 авг 2022, 12:43
Dartix
Спасибо!

Re: Создание папки MB

Добавлено: 24 авг 2022, 18:02
gamm
а вызов точно асинхронный? обычно есть управление ждать/не ждать, но в Мапвасике не нашел ...

Re: Создание папки MB

Добавлено: 24 авг 2022, 19:34
MI user
gamm писал(а):
24 авг 2022, 18:02
а вызов точно асинхронный
Из MapBasic вызывается стандартная команда Windows на создание папки - "md". Следовательно, в программе на MapBasic мы не сможем узнать результат выполнения команды создано/не создано. Поэтому просто тупо ждём 1 секунду.