Уже как-то отвечал, только пример был с прокси (https://community.bablosoft.com/topic/19140/вызов-асинхронной-функции/3).
Если коротко и грубо: то считываем info.txt в список [[COOKIES]], потом в цикле создаем переменную [[ONE_COOKIE]] = VAR_COOKIES[VAR_CYCLE_INDEX] и отправляем ее в ассинхронную функцию как параметр. (То есть по порядку берется строка и отправляется в 1 поток).
Наверное можно делать попроще, но я делаю так. Максимальный контроль нужных переменных в каждом потоке.
Как сохранять файлы в папку с проектом?
-
@Hector said in Как сохранять файлы в папку с проектом?:
@Uncle-Chief вы считаете это примелимое поведение программы писать файлы проектов прямо в корень установленного софта?
Я описал выше, что относительные пути используются при работе скомпилированных скриптов.
Т.е. например я запускаю php saver.php и в нем есть код:
file_put_contents("file.txt", $content);
И мне этот скрипт пишет файлы в папку c/program files/php/.... Зачем??BAS используется как среда разработки, вы можете организовать любую логику, хотите сохранять файлы рядом с проектом при использовании BAS - используйте действие "Путь к проекту", если хотите сохранять файлы рядом с проектом в скомпилированном скрипте - используйте относительный путь
Я считаю это не логичным. Это для меня вообще отбивает желания юзать этот софт так как просто невозможно работать с файлами.
Лол, вы используете бесплатную версию программы и пишете это на форуме, на котором нет официальной поддержки (поддержку осуществляют простые пользователи BAS). Не нравится - не используйте, ни кто не заметит ваше отсутствие.
В общем я не понимаю почему это так сделано,с какой целью? Спасибо.
Я думаю здесь не преследовалась какая то определённая цель. Есть среда BAS и к относительным путям добавляется путь до среды, всё.
-
@Fox путь к проекту дает путь включая сам файл проекта, его еще требуется как-то парсить.
Вы тут говорите по поводу бесплатного софта и не должно быть претензий. Так вот этот софт использует платные методы монетизации, премиум версия и серфис футпринтов. Так что ваши аргументы они мимо.
Во время разработки файлы которые генерит скрипт должны быть сохранены в папку проекта не софта. Или по крайней мре должен быть макрос аля в php DIR
-
@Hector Ничего никому тут не должно. Имейте совесть. Софт до относительно недавнего времени разрабатывал один человек, да и сейчас основной внутренний функционал всё равно он пишет в одиночку. Если вы не можете спарсить папку проекта, что делается в 2-3 действия или одним кубиком кода, то это исключительно ваши проблемы. "Платные методы монетизации" продуманы, как по мне, настолько грамотно, насколько это возможно. Премиум нужен для коммерческой разработки под заказ, и по началу вы можете использовать бесплатные отпечатки. Всё сделано максимально комфортно для бесплатного старта. Поэтому этот ваш аргумент также бессилен.
-
@DoctorKrolic он не бессилен, так как в платной версии все те же косяки с работой с файлами что и в бесплатной. Тащить одинаковые кубики/функции в каждый проект чтобы просто иметь возможность сохранять файлы в папку проекта когда можно это реализовать внутри софта предоставив юзеру такую возможность.
Я кстати не понимаю тогда зачем было вводить екшн "Путь к проекту", какой от этого смысл? Сделайте тогда "Папка проекта" (как это сделано в платном продукте конкурента). Это обращение к автору софта.
Ладно я имею опыт в программировании а вот обычный юзер наверняка будет удивлен что его файлы были сохранены в где-то там на диске С.... в дебрях, но не в папке его проекта. Указывать полный путь я считаю очень плохим решением так как при переносе папки проекта в другое место автоматически поломает скрипт.
Вот смотрите кто-то даже сделал видео на этот счет - https://www.youtube.com/watch?v=02EnKSdXeRY
Вот скажите зачем юзеру это все делать?
Вот например как это реализовано в ноде https://nodejs.org/docs/latest/api/modules.html#modules_filename
Однако выполнив в проекте я получаю пути такого вида:
[13:22:57] Поток №1 : C:\Program Files\BrowserAutomationStudio\apps\23.2.2\e\6a35.fERs\distr\lib\custom\ju87dohv0rc.js
[249952637] [13:22:57] Поток №1 : C:\Program Files\BrowserAutomationStudio\apps\23.2.2\e\6a35.fERs\distr\lib\custom -
Ребята имейте совесть. Человек вроде бы никого не оскорблял, да у него есть какие то пожелания и фидбек а вы его ссаными тряпками за это. Я бесконечно уважаю разработчика а также Фокса и всех кто хоть как то причастен к улучшению BAS. У меня как у пользователя софта, который обошелся мне в 0$ и окупился уже тысячи раз, не может быть и никогда не будет претензий ни к разработчику ни к софту. Это надеюсь даже идиоту понятно.
Я не считаю что это нормально говорить человеку "не устраивает что то или не нравится-чеши от сюда"... Это херня какая то, вас не красит сто процентов. Вроде бы вежливо без оскорблений человек что спрашивает. Может я просто дибил и не понимаю чего вы так возбудились.. Всем мир!
-
@Hector в целом согласен, но поберегите нервы ибо писать тут, что-либо не имеет смысла. Разработчик это не читает, а даже если и читает, то исправляет только критические проблемы и то если посчитает это багом, а не фичей😅
-
@UserTrue у меня все ок с нервами, спасибо)
Пусть кидаются, мне нет этого никакого дела как и на минусы под моими постами.Это конечно заслуживает уважения что разработчик делает софт сам, только должен ли он слушать советы людей, если хочет чтобы его софт набирал популярность. А там где популрность там и деньги. Я вот как 100% платежеспособный человек, который платит деньги за Зеннопостер и скрипты на нем, высказал свое мнение.
Если у кого-то есть рабочий "костыль" получения папки проекта то может выложите его тут ради будущих поколений?))
-
@Hector И это говорит человек, у которого "есть опыт в программировании"... Вот, держите, всего 2 кубика:

Project_Folder.xml -
@DoctorKrolic благодарю
-
@Hector said in Как сохранять файлы в папку с проектом?:
@DoctorKrolic благодарю
Только для скомпилированных скриптов это не сработает, причем тат есть отличия для с защитой и без
-
@DoctorKrolic said in Как сохранять файлы в папку с проектом?:
@UserTrue А почему не сработает-то? Там же тоже файл project.xml, правда он лежит не в основном каталоге, но как по мне, это не так уж и важно.
В том то и дело, что там еще далеко до основного каталога
-
@Hector said in Как сохранять файлы в папку с проектом?:
Вы компилируете их или как
Ну конечно ) А в остальном, это кому как удобно
-
Выполнить код:
var dir = JSON.parse(native("filesystem", "fileinfo", project_path()))["directory"]; var reg = /\/appsremote|\/appslocal/; [[DIRECTORY]] = reg.test(dir) ? dir.split(reg)[0] : dir;В переменной
[[DIRECTORY]]будет нужный путь -
@Hector said in Как сохранять файлы в папку с проектом?:
путь к проекту дает путь включая сам файл проекта, его еще требуется как-то парсить.
Ставите кубик "путь к проекту" потом кубик "информация о файле" и указываете там переменную от "путь к проекту". В переменной FILEINFO_BASE_DIRECTORY будет путь до папки где лежит проект. Кстати не обязательно сохранять в папку с BAS как по умолчанию, можете сохранить в любую другую папку, кубик "путь к проекту" будет работать по пути где лежит скрипт.
-
[[PROJECT_PATH]].substring(0, [[PROJECT_PATH]].lastIndexOf("/"))
Работает в режиме записи но если скомпилировать то не будет работать и выдаст такое:
Thread #1 : C:/Temp/path/appslocal/e3b0c442/SID638e2499/engine -
@spacerange
это тоже не будет работать если компилировать, но мне компилировать не нужно.Видите какие проблемы получаются?
-
@Hector Вы же в начале сами сказали что компилировать не нужно. При компиляции путь будет немного другой, там будет сама папка скрипта, потом appslocal в ней папка со случайным названием вроде и потом будет папка проекта. Это все будет работать как с компиляцией так и без, просто пути будут немного разные. Но скрипт будет их правильно воспринимать. Файлы с этим путем без компиляции будут сохраняться туда где лежит скрипт, с компиляцией в папку скрипта /appslocal/...