|
0 / 0 / 0
Регистрация: 26.10.2024
Сообщений: 70
|
||||||
Не работает копирование папок18.03.2025, 08:52. Показов 1533. Ответов 17
Метки нет (Все метки)
Пытаюсь создать функцию, копирующую папки (в том числе вложенные) Не работает. В чем может быть проблема?
0
|
||||||
| 18.03.2025, 08:52 | |
|
Ответы с готовыми решениями:
17
Создание папок и копирование файлов Работа с листами, а также копирование примечаний Работа со списками, сравнение, копирование |
|
|
||||||
| 18.03.2025, 15:55 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.10.2024
Сообщений: 70
|
||||||
| 18.03.2025, 16:23 [ТС] | ||||||
|
locm,
Спасибо! Код работает, но при вложенности папок более двух - не получается Добавлено через 2 минуты AZJIO, Почему то не срабатывает
0
|
||||||
| 18.03.2025, 17:30 | ||
|
%TEMP% это фигурально, я указал прямой путь, а не переменную. Переменная автоматом не раскрывается.
0
|
||
|
0 / 0 / 0
Регистрация: 26.10.2024
Сообщений: 70
|
|||||||||||||||||||||
| 18.03.2025, 17:44 [ТС] | |||||||||||||||||||||
|
locm,
AZJIO, Удивляет философия PureBasic. Даже такие элементарные, повседневные функции надо писать самому. Вместо того, что бы решать поставленную задачу надо, бросать ее и заниматься фактически доработкой языка. В том же AutoIt для этого достаточно одной команды DirCopy. Не понятно почему так сделано...
0
|
|||||||||||||||||||||
| 18.03.2025, 18:11 | |
|
winkot, видимо потому что AutoIt3 интерпретируемый язык, функции которого выполняются скоростными функциями написанными на языке С++. Если на AutoIt3 убрать параметры и делать функции на скриптовом языке, то они будут медленные. В PureBasic наоборот нет смысла делать комбайн-фунцию потому что она будет медленней чем оптимизированная функция. Поэтому тут комбайн не нужен.
По факту если бы команда PureBasic создавала бы функции, то им бы пришлось их таскать от версии к версии. К примеру сейчас 3000 функций. Что было бы если бы их было 9000? При создании C-Backend им бы пришлось тащить за собой этот багаж. И ещё в 3 раза повышенное обслуживание багов. А ещё надо справку делать, а ещё надо компилятор и отладчик улучшать, а ещё надо IDE улучшать И всё это для 3-х ОС, если не больше. Это язык программирования и пусть люди пишут на нём свои функции, как UDF в AutoIt. Функция Split в AutoIt3 работает медленнее. В качестве примера я бы привёл FileRead() в AutoIt3, она просто отдаёт текст файла в переменную. В то время как в PureBasic запаришся писать её. Я уже создавал список функций и предлагал Фреду как то создать некую отдельную справку для готовых функций, но как обычно это был временный ажиотаж. Я выложил пару десятков функций и всё опять заглохло. Тут люди пишут для бизнеса, и особо нет смысла для вас выкладывать что-то. У всех всё есть и всё работает. Если вы не можете этого найти-создать это ваши проблемы. А я уже выложил в доп. справке все нужные функции, а в свой плаг-инструмент автозавершения я добавил популярные примеры и просто пишу "чтен" вызываю хоткей и вставляется функция чтения файла, так что проблема повторюсь только у вас. А не проще ли скачать мои проги и просто потырить все функционалы? Там где есть открытия файла, посмотреть как открываются, а прогах где идёт перебор файлов по маске просто взять готовое и использовать. Где чтение ini, также брать готовое. Всё уже есть и повторяется в каждой проге. Тот же ForceDirectories(). К примеру прога синхронизатор или поиск дубликатов, ну явно там есть функции перебора файлов.
0
|
|
|
|
||
| 18.03.2025, 18:33 | ||
|
Функция CopyDirectory() копирует папку, а не создает не существующие в пути к ней. По моему это логично.
Что мешает перед копированием вызвать FileSize() и убедится что папка назначения есть на диске. А если нет, ее несложно создать. https://www.purebasic.fr/engli... hp?t=68073 https://www.purebasic.fr/engli... php?t=5265 Она просто читает данные из файла. Аналог ReadData()
0
|
||
| 18.03.2025, 18:40 | ||
|
0
|
||
|
|
|
| 18.03.2025, 18:52 | |
|
В каждом ЯП свои особенности реализации. Например в AutoIt нет аналогов IncludeBinary, Import, Prototype и др. Типов переменных тоже нет.
Если нужно прочитать только текст, то можно воспользоваться функцией ReadString() с флагом #PB_File_IgnoreEOL.
0
|
|
| 18.03.2025, 19:23 | |||
|
Пусть создаст в справке аналог UDF в AutoIt3, то есть раздел для пользовательских функций. Что мешает создать там штук 50 строковых функций, штук 50 файловых функций, те же поиск файлов по маске. Тем более можно оценить запросы пользователей по их частоте. Фред вроде бы делает справку кроссплатформенной, но по факту проще CHM открыть в Linux, чем пользоваться тем что есть. Тогда уж лучше качественный CHM сделать со стилями. Я так понимаю отсутствие стиля связано с тем что справка в Linux не будет работать, а писать индивидуально под Windows и по Linux автор не хочет, вот и выходит что мы только своими силами можем что-то сделать.
0
|
|||
|
|
|||||||||||||
| 18.03.2025, 20:00 | |||||||||||||
|
Смотря на переменную не знаешь что в ней. Отладчика нет и остается изучать остальной код. Бывают ошибки из-за того что в переменной строковые данные, а не числовые и результат будет совсем не таким как предполагаешь. А о том что данные строковые можно только догадываться.
Особенно забавно когда скрипт вылетает сообщая что массив вовсе не массив и приходится пройтись по всем вызовам функции и искать где косяк. Это отнимает много времени которое можно было бы потратить на что-то другое. А еще можно случайно забыть что массив объявлен двумерным и получить такую ошибку.
И таких граблей очень много.
1
|
|||||||||||||
| 18.03.2025, 20:35 | |||
|
Я про то, что начальный порог написания прог у AutoIt3 ниже. Я начал писать проги, когда увидел функцию создания ярлыка. Я считал что ярлык какой-то бинарный файл и создать его может только система, а тут автор LiveCD NIKZZZZ создаёт ярлык вполне понятной функцией, где просто перечисляются путь, название, аргументы. Меня сразу заинтересовало и я стал кликать все примеры и все они делали что-то интересное и я сразу стал искать где это применить. В PureBasic нет сразу готовых функций заточенных под популярные задачи, вернее есть но меньше. Той же функции создания ярлыка нет. Вот поэтому я и хочу чтобы Фред сделал раздел для популярных функций для привлечения народа.
0
|
|||
|
|
||||
| 18.03.2025, 22:19 | ||||
|
От нее больше проблем чем пользы. GUI очень простой, а WinAPI использовать сложнее.
1
|
||||
| 19.03.2025, 01:59 | ||
|
0
|
||
|
|
||
| 19.03.2025, 02:47 | ||
|
Неужели никто не писал об этом разработчикам AutoIt?
0
|
||
|
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
|
|
| 29.03.2025, 10:25 | |
|
есть функция PathRemoveFileSpec_() она позволяет порезать путь на запчасти
потом проверяешь наличие очередной папки и если папки нет, создаёшь ещё есть PathIsDirectory() - проверяет папка это или нет PathIsDirectoryEmpty_() - проверяет папка это или нет, пустая папка или нет пустая папка, это папка в которой вообще ни чего нет
0
|
|
| 29.03.2025, 10:25 | |
|
Помогаю со студенческими работами здесь
18
Не работает копирование листа (sheets(1).copy before:=sheets(1)) Друзья! не работает код с версией файла в 2003 офисе, на 2010 все работает, суть: копирование из закрытой книги Друзья! не работает код с версией файла в 2003 офисе, на 2010 все работает, суть: копирование из закрытой книги Не работает копирование и перемещение столбцов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|