Расширение функционала BAS с помощью модулей.


1 474 просмотра.

Краткое описание видео: .приветствую этом виде мы поговорим о.обновление системы модуля доступная.версия вас 22.2.сначала я покажу как выглядит готовый.результат.посмотреть видео дальше вы сможете.узнать подробности заходим — модули.устанавливая модуль который мы недавно.создали нажимаем на запись у нас.появляется новый модуль.он загружает картинку наименьшему 10.весь интерфейс.описание это все книги он автоматически.давайте посмотрим как это работает.заходим инспектор переменных и получаем.ural загруженные картинки.если конечно знаю больше и смотрите.видео дальше.оно будет состоять из нескольких частей.части отсортированном порядке от самого.простого к самому сложному так что все.видео смотреть не не обязательно вы.можете остановить его когда посчитаете.нужным мы начнем с описание возможно.данной системы посмотрим какими.характеристиками она обладает.и как вы можете использовать ее в своих.проектах это будет первая часть.далее перейдем к практической части.создания своего модуля.мы будем делать модуль который заливают.файл на изображение и получать урал.то есть на озеро изображение на выходе.реферал и тут следует отметить что все.это будет происходить с этим будем.делать для знания программирования без.редактирования конфигурационных файлов.как это было раньше а используя только.визуальные компоненты.следующая часть она будет касаться того.как новый модуль который мы создали.можно будет использовать комбинированном.приложение также мы рассмотрим как его.можно передать другим разработчикам как.это может сделать privately по публично.чтобы все могли любой желающий мог.использовать ваш модель следующая тема.она немного сложнее и будет наверное был.тридцатом как переопределить уже.существующие действия вас как изменить.функционал мне и собирают заново.приложения с этим тоже отлично.оставляются.модульные системы далее посмотрим на то.как можно вызывать которые присутствуют.модули из ночь.с либо из действий выполнить код.следующая тема очень интересна она.касается того как создать модель с.использованием но уже с новой версией.вас есть такая возможность и она.значительно.ищу это возможности модульной системы.вот например в этом видео мы создадим и.вне начнем создавать.тебе клиент он будет работать с помощью.использования соответствующего пакета.для ночь с но для пользователей баз.которые подключены к модулю он будет.ничем не будет отличаться от остальных.основное предназначение модульной.системы заключается в расширении.функционала bass.давайте посмотрим как это происходит но.первое и самое важное это наверное.возможно с помощью модуля добавлять.действия на панель инструменты вот сюда.на самом деле практически все что вы.здесь видите являются добавлено с.помощью модулей пример есть модули и.вредные выражения если мы зайдем сюда.увидим насколько действие и очевидно что.у каждой из них работает с регулярным.также есть модули для работы со списком.управление процессами.отправки писем и так далее также модули.позволяют добавлять действия в меню.элемента.то есть когда мы например открываем.какую-то страницу в браузере выбираем.элемент назван на него открывается меню.и туда можно добавить действие с помощью.модулей.также модули позволяют внедрять код.движок пас наверное сейчас это не очень.понятно но мы разберем это в.соответствующем разделе видео сейчас.могу сказать что это связано с повторным.использованием кода также модуль.позволяет мне грязь код в движок.браузера.например именно так реализовано.внедрения в cod 2 раката 2 3 капчи что.делает ее решение.дешевле еще последнее в модулях можно.использовать не только блоки бас но и.[музыка].вот на языке 0 джесс и си плюс плюс.модульной системы есть множество.полезных.есть еще множество полезных особенностей.и давайте разберемся и с ними.первое это возможность добавлять модули.без пересборки.делать итак мы заходим они заработали.нажимаем на кнопку становись на до и.после перезагрузки.новый модуль появится вот здесь сейчас я.просто кратко об этом упомянул но мы.рассмотрим процесс более подробно.чуть позже в этом видео с помощью.модульной системы можно переносить.модули из одного своего проекта в другой.а также передавать их другим.пользователям.рассмотрим такой пример допустим у вас.есть несколько проектов которые.используют похоже функционал похоже или.одинаковый и как можно поступить либо.создавать функции для этого и переносить.или приносить функционал красота копируя.действие с одного проекта в другой.а можно объединить вот эти одинаковые.куски кода в модуле и просто подключить.этот модуль барс тогда в каждом проекте.он будет доступен и вы сможете его.использовать соответственно размеры.ваших проектов значительно сократятся до.и объединения это.общего кода в одном месте должно.уменьшить количество багов также.модулями можно делиться с другими.пользователями.фактические модуль представляют из себя.файл с расширением zip.и его очень легко передать эти.но вы не обязаны этого делать если.хотите вас могут быть так сказать.приватной модуля еще одной хорошей.особенностью модульной системы является.то что вас будет использовать только те.модули.которая использована в проекте это.означает что мы не сели модулей вы.можете сейчас здесь пусто нет.дополнительных модели вы можете.установить их большое количество десятки.и это не будет заставлять ваши проекты.если вы не используете функционал он.просто не будет подключаться также новая.версия содержит очень удобный.конструктор модули дело в том что модули.можно было создавать и раньше но чтобы.это сделать нужно было разбираться с их.форматом нужно было написать.описывать интерфейс новых действий.вручную сейчас же это можно сделать.очень просто для этого нужно создать.несколько одну или несколько функций.они будут превращены потом действия как.ты описать и нажать на кнопку создать.новый модуль.это превратит все ваши функции в текущем.проекте в действия в новом модуля.ну а дальше этот процесс будет очень.детально рассмотрен его позже еще одна.важная особенность и модульной системы.является возможность переопределение уже.существующего функционала бас например.если мы хотим изменить действие считают.правил то мы можем это делать.сдав копию модуля при этом мы можем ими.абсолютно все как любую надпись здесь.название действий или даже самого.функционал каким образом происходит.чтение осаго и при этом проект который.будет использовать это при определении.при компиляции сохранит свои свойства а.также при передаче другому разработчику.и наверное стоит завершить тем что.основной особенностью модульной системы.является простота.все что вам нужно сделать для расширения.функционала это установить новый модуль.и при этом все остальное сделает вас так.что работа будет максимально интуитивно.например если вы установили модуль.сохранили проект с использованием этого.модуля и придали этот проект другому.разработчику.то модуль будет доступна не только для.запуска и не только после компиляции но.даже и в режиме редактирования.то есть действие которое на самом деле.не установлен на компьютере но есть.проекте они будут запускаться.будет возможно их редактирование а также.соответствующий модуль появится на.панели инструментов.а теперь давайте попробуем создать наш.первый модуль он будет очень простое.будет выводить сообщение в лоб 10 раз.сообщение тест и так создали новый.проект называется тест моду его будем.использовать для хранения функционала.модуля этот проект важно сохранить нём.также будут сохраняться настройки модуля.если мы захотим потом модули изменить.как-то дописать туда что-нибудь что мы.сможем открыть этот проект или менять.его.а потом снова запускать создания модуля.для того чтобы создать модуль можно.добавить несколько функций проект одну.или несколько последствия теплицы будут.преобразованы в действия модуля давайте.так и сделаем.создадим функцию которая будет.называться log and types.при создании модуля рекомендуется.вводить.все описания функций описание всех.параметров потому что они будут.перемещены в интерфейс действий это.позволит создавать.позволит вам возможно другим.пользователям понимать что делает эти.действия.поэтому давайте введём описании я думаю.что так будет более менее информативно.поскольку возвращаемое значение.параметра у нас нет на это можем.закончить теперь нам нужно сдать.собственно функционал давайте сделаем.цикл а влог вы выводить просто сообщения.тест.на этом с функционалом всем можем.останавливать запись проектом сохранить.его и теперь создадим вместе в морге.для работы с модулем с модулем детский.канал он находится именно в этом окне.недоступен по нажатию этой кнопки.нам сейчас нужно кнопка создать новый.модуль нажимаем и и здесь мы можем.выбрать список функций которые будут.использованы можно какие-то не.использовать если не будь это.вспомогательное далее нужно ввести.название модуля.мы будем использовать название морем.тест версия она очевидно будет.увеличиваться по стеклу будете.зарабатывать в моду также дополнительные.настройки вроде описания на английском.на русском информация разработчики.сейчас мы их упустим они не обязательно.ну здесь иконка модули она будет.появляться в панель инструментов.оставим пока что ее по умолчанию далее.для настройки первое такое упустим и.будем использовать рекомендуемое.значение вернемся к ней чуть позже а.вторая вещь просто объясните если.галочка выбрана то модуль.устанавливается на текущую версию вас.сразу после создания выберем ее.поскольку мы будем тестировать модов.прямо в этом проекте сейчас открылась.папка которая находится а сам модуля.он нужен нет если мы хотим его передать.либо установить на другую версию bass но.поскольку мы выбрали галочку последние.последние страницы диалога то этот.модуль сразу остановился и этот файл на.плетень сейчас теперь у нас есть модуль.тест нашей сборки и мы можем.протестировать.нажимаем на запись.выбираем модуль тест видим что наше.описание она появляется здесь и нажимаем.окей как видите работает правильно.теперь попробуем немного получить наш.модуль давайте удалим вызов и.место статического сообщения тест будем.выводить то сообщение которое задаст.пользователь нам нужно будет изменить.функцию и добавить один параметр.давайте назовем его дата и сделаем так.чтобы тебе вам быть либо строкой либо.выражение также нужно не забывайте.описывать промять и лечение по умолчанию.оставляем пустым.изменена теперь нам нужно изменить.соответствующий функционал вот сюда.вместо тест помещаем значения.сначала получаем параметров игры мы его.назвали docs.используем его здесь.сохраняем проект нельзя забывать.пересоздать для того чтобы не идти снова.по всем страницам.нам достаточно нажать просто на кнопку.пропустить.снова создастся моды.при этом старый он сохранена в соседней.папки чтобы не было так что мы потеряли.хороший вариант на каком-то этапе и.новый модуль установлен поверх старого.деваться теперь попробуем.вот так вот среагировала на добавление.параметров строился новый параметр здесь.мы видим описание сохранилось описание.функции и давайте выведем сообщение.отличная от с чтобы проверить работу вот.как видите все работает ну а теперь.давайте попробуем создать что-то более.серьезно более серьезным не начала мы.отключим старые мы можем его даже.отключить его можно таким образом можем.его даже ударить и сколько он нам уже не.понадобится.и создали новый проект под новый модуль.кима челнок и давайте сделаем функцию и.функцию.модуль быть сегодня действия поэтому.функция тоже она будет называться отводу.мать возвращаемое значение доливать.сначала где во писания.возвращаемое значение будет это будет.поменяем также название переменной у нас.будет один параметр путь картинки.описание функция готова а функция.создана давайте вернемся в main и.вызовем ее.будем загружать для тестирования вот эту.картинку переходим к функции теперь у.нас в переменное соответствующее.значение мы можем работать дальше.переходим в режим записи сейчас.быстренько сделаем персонал открываем.соответствующий сайт.добавляем действие дело бы открыть файл.сюда помещаем уже не конкретный путь а.переменный путь картинки.далее нажимаем на меню пост.нажимаем на чужие мальчик он увидел.картинка с котом загружаются.и нам следует дождаться полной загрузки.не будем знать поскольку она уже.состоялась и получить текущей урал и.вернуть его текущей урал можно делать с.помощью.одноименного действия а возвращаем у неё.строку в этом бровью a key он делал то.что находится переменной давайте.протестируем грузом нашей функции для.этого перезапустим скрипт и просто.запустим функции.теперь посмотрим что находится в моей.урал этот раз то.возвращаемое значение которое нас.интересует функционал готов теперь.давайте превратим его в модуль это.сделать очень просто так же просто как и.прошлый раз остановим запись выбираем.менеджер модулей создаем новую.написано на русском.этот раз выберем иконку что было красиво.здесь все оставляем по умолчанию модуль.был создан и успешно загружен в текущую.версию.давайте еще раз его протестируем.. ждите снова такой же.теперь уже никаких действий не.запускаются а все происходит внутри.единственного действия и в результате.получаем нужно нам нужно нам viral.здесь вот растирается старая переменную.которые мы использовали функции но и то.только потому что мы используем для.тестирования модуль тот же проект в.котором мы котором модуль создавался.когда мы будем тестировать на другом.проекте то это переменная уже не будет в.списке переменных.ну а теперь давайте посмотрим как наш.модуль будет переноситься на другие.устройства для начала создадим новый.проект в этой сборке баланс и посмотрим.попробуем запустить наш модуль.назовем его и нынче вот тест.выбираем запись.на всякий случай смотрим на менеджер.модулей.он по-прежнему присутствует я немного.изменил картинку то была обрезана.попробуем его вызвать напоминаю что он.слился уже нету концы который мы.использовали раньше.попробуем загрузить другую картинку.какие прошлый раз все получилось теперь.попробуем скомпилировать проект сделаем.такое небольшое приложение которые.загружают за данный файл и вводит лоб.ural.так выберем файл.что появился диалог открытия файла.считать моего не будем виде строк это.тоже не нужно.дизайн проект.выбираем качество файла нашу картинку.через модуль и ресурсы получаем.расположение нашего файла.вот она пользуюсь здесь используем это.расположение места жестко приписано.строки или наконец.влог вводим имя chiral давайте попробуем.протестировать как это все будет.работать.создал собрался что-то происходит.и воде мы получаем теперь давайте.попробуем скомпилировать это все.данный момент будем использовать скрипт.без защиты засчитаю.будет аналогичное поведение.и теперь пробуем его запустить.снова про если посмотреть что происходит.браузер этого как раз происходит процесс.загрузки используется модуль естественно.который не входят со столба и снова.водится сообщения.а теперь мы попробуем открыть проект и.мичуру тест версии вас в которой метр.утром 1 для этого зайдем менеджер.модулей и убедимся как видите здесь но.для такого модуля нету но допустим то.такой человек передал нам этот проект.посмотрим что будет.еще раз выбираем нужную нам картинку мы.запускаем как видите моды появился здесь.и он будет корректно работать.снова удачном загрузка и получаем.корректно и сообщению.следует также заметить что если мы.откроем другой проект.то в нем мы уже не увидим данного модуля.естественно мы можем установить модуль и.на эту сборку вас давайте сделаем этот.тогда он будет продаваться на всех.проектах и.также модуль установлены через кнопку.установить модуль будет иметь.преимущество над тем который принесем с.открытым проектом установим последнюю.версию.теперь он появился на панели давайте.теперь создадим модуль который работает.с ftp.поскольку в степи клиента построенного в.вас нету мы будем использовать такой для.но джесс называется basic ftp для нового.модуля был создан новый проект и в нем.будет всего лишь одно действие это.загрузка файла с локального компьютера.на сервер это не полноценная степи.клиента на принцип работы он должен.показать теперь нам нужно создать новую.функцию.названием оплот файл добавим описание.возвращаемое значение не будут а вот про.метро будет несколько во первых это.адрес сервера.друзья токио стороны будем делать.длинных описаний.все-таки это обучающее видео они.создания полноценного модуля далее.необходимо сдать логин и пароль и.последний параметр который нам нужен это.путь к файлу.мне кажется все сохраняем функцию здесь.получается все параметры склоняется в.переменную.теперь нам нужно добавить сначала.включить но через а потом добавить.модуль для работы с ftp.сохраняем нужна перезагрузка и давайте.сразу будем вызывать нашу улицу чтобы.получить правильные параметры.я создал ftp сервер вот входные.параметрам давайте перенесенный вопрос.и в качестве пути к файлу будем снова.загружать кота.и вот все действие будет происходить.здесь давайте скопируем код который есть.в описании модуля к модулю и немного его.отредактируем.машка по-другому отформатируем список.файлов показывать не будем загружать.ничего не будем не скачивать а вот.загружать будем путь к файлу.здесь можно получить правильное имя но.давайте будем заморачиваться просто.напишем file.txt.это только файл будет называться на.сервер вы здесь вот нужно передать.краями параметрам.и мне кажется чтобы все должно работать.то какая то ошибка.ада сервер у нас не защищен мы опять же.для цели демонстрации давайте попробуем.еще так сейчас ничего в лоб не выжить.делай все это значит что ошибки не было.давайте попробуем загрузился ну наш файл.на сервер на вот он ну это немножко не.правильно называется вот эксперты peta.была картинка давайте на землю по.другому еще раз выполним это действие.теперь все нормально удалим эти файлы и.в принципе наш модуль готов.мы можем создать его точно так же так и.остальные модули басом видим такие.встроены языки использовались данном.случае канада какие модули ноты.подключались и сделаю так что модуль вас.будет зависеть от этих языков и этой тип.модами и даже если настройках проекта.где используется модуль язык молнии.задан то да се равно его подхватит и.установит давайте создадим модуль.выберем подходящее изображение и сразу.же установим.ну и традиционно проверим на.работоспособность.это нам уже не нужно мы можем делать вот.так.давайте загрузим строго кота и проверим.как видите все работает еще одна вещь.которая получить раз тебе модуля.это то что мы фактически все параметры.url цели логин и пароль добавили в одно.действие но если наш модуль будет расти.не будут добавляться действия например.на скачивание файлов или получения.списка файлов каталоге или удаления.файла изменение атрибутов и тогда ряд то.придется в каждой из этих действий.добавляется.вот эти три параметра играла сервера.логин и пароль это не очень удобно и.поэтому намного лучше было бы сделать.как например действий для работы с почты.с почты как модуль для работы с почты.сделать одно действие для конфигурации.эти пенсионера диван и задавали эти три.параметра а остальные уже использовали.последнее значение система модули также.позволяют это делается для этого нужно.всего лишь в действие настройки.настройки задать локальную переменную и.эту переменную использоваться в.остальных действиях которые требуют.данной конфигурации и на самом деле я.это уже сделал чтобы не затягивать видео.я не добавлял это все.данное видео я просто покажу как.выглядит конечный вариант.во первых было добавлено новое действие.картины расцепить здесь находятся эти.три параметра вот например катану.вызывается здесь опять же.а в действие оплот файл было убрано все.кроме потекла вся конфигурации и мы.можем сейчас проверить как это работает.вот видите все точно так же ошибки нету.файл загружен и таким образом лучше наш.мода.ну а теперь давайте посмотрим как мы.можем запустить код из модуля с помощью.на wadgers для того чтобы понять как это.работает нужно понимать что все действия.которые добавляют новые модули это всего.лишь функции баз и они подчиняются точно.таким же правилам как и остальные.функции.а поэтому чтобы вызвать их не знал.достаточно воспользоваться ключевым.словом раз фарш и именно это мы сейчас и.сделаем мы будем снова загружать.картинку наш урок на этот раз весной.джерс для этого заходим соответствующие.действия и нам нужно выбрать.затем опять копируем код который здесь.есть название улицы очень важно.запомнить что она состоит из названия.модуля.нижнее подчеркивание.название действия далее параметр который.мы задавали здесь собственно то же самое.что и музыка обычная барф у нас и ничего.не изменяются параметры который мы.задавали он был путь картинки и.собственно сама картинка которую мы.хотим загрузить в криминале сказал будет.то что.возвращают действие в данном случае это.генерал картинки.мы просто будем вводить его в мог.давайте посмотрим как это все работает.загружается сайт загружается картинка.ждем полной загрузки и влоги мы получаем.к ним играл.стоит также отметить что при создании.модуля.самом последнем окне.проявлялась специально специальные.параметры на его пускали вначале это.видео сейчас мы поговорим более детально.принял давайте откроем модуль потому что.когда проект на практике.нет ни одной функции из него создать.невозможно.вот параметры которыми говорил обычном.его включали когда он включен то.название функции которые добавляются в.вас состоит из названием о три нижние.подчеркивания функции но если его.выключить то название функции.просто останется названием функциям.занят 10 будет добавляться имя модуля и.с одной стороны это хорошо он вроде бы.ну так понятнее.но с другой стороны не очень потому что.если допустим у вас будет два разных.моделях на помазания функции то.последний модуль перезапишет первую.функцию и оно не будет работать так же.если вы тестируете модуль и.устанавливаете его вместе с.в проект из которого создал создано до.того там также получится конфликт.название функции поэтому эту посылку.все-таки рекомендуется включать но если.вы понимаете что делает и хотите.вызывать действия из модулей вот таким.способом и допустим не добавлять к ним.проект x случае и началу работы то вы.можете убрать настройку снова создать.модуль и использовать оригинальную.название а теперь мы будем менять.основной функционал бас начнем с моего.смотря файловая система и мы изменим ним.действия копировать файлы по дело в том.что это действие она использует + + код.и он может быть либо синхронным либо.синхронным что это значит если он.вызывается синхронной значит он будет.вызвана основном потоке будет тормозить.приложение если он вызван асинхронно the.base автоматический создал глина новый.поток и.ну сделай так чтобы все работало чтобы.старый кот без.не спи работала синхронно и за прелесть.этого состоит в том что для того чтобы.поменять режима нам нужно всего лишь.задать не слушать мискам записанный файл.если рассмотреть на то как работает с.оригинальным модуль файловые системы то.асинхронно работает только поиск файлов.ну это очевидно потому что мозги мать.много грибник но допустим мы работаем с.очень большими папками и файл мы.копируем их с помощью баз и нам бы.хотелось сделать это именно в отдельном.потоке сейчас мы этим займемся для.начала нам нужно открыть маникюр модули.ищем здесь методы работы с файловой.системой.нужно открыть папку содержащий данный.модуль да ну и стоит сказать что здесь.сложность видео уже довольно таки.высокая и чтобы делать это нам нужно.немного понимать хотя бы так устроена.модульные системы и чтобы посмотреть как.это работает вы можете открыть сайт.который создал наш пользователь нем есть.достаточно неплохо описана структура.модулей здесь не структуры манифест.сейчас мы его будем менять структура.папки тоже хорошо написано или же вы.хотите в этом как разобраться то советую.почитать 20.итак что нам нужно сделать нам нужно эту.папку скопировать из папке models где.находятся нативные модули стопу кастом.моё копируем его копируем и теперь если.мы остановим проект и запустим они сыр.модули.the system нас появится уже как.пользовательский модуль.естественно нативный модулю не будет.удалён там ничего не испортится он.останется в своей практике и вы можете.удалить либо физическую копию российском.либо через меню у 30 минут естественно.когда скрип не запущен но сейчас он.ничем не отличаются от основного нам.нужно изменить для этого сходим начала.сначала манифест здесь мы видим довольно.много всего.пока не чтобы разобраться смотрите вот.эту страницу я оставлю ссылку в описании.заходим они крест и находим делал это.секция.отвечает зал нативный код.западно-сибирский который использует.данные нету и вот здесь есть несколько.функций которые используются но придумал.название очевидно что они делают по.названию если есть такой параметр из.расинг если посмотреть там везде of.rooms кроме саши нам нужно установить.его для кофе.но и этого не всего нужно еще вон в коде.в ходе действий а также поменять на этим.наметилась young если посмотреть это.может сделать по аналогии с поиском вот.так просто скопировать давайте это.сделаем это все фактически теперь наш.копирование файлов.она происходит в.нам подарки единственное что мы конечно.этого не заметим если мы только не будем.копировать огромную еще одно на.количество файлов.поэтому давайте отобразим от этого в.интерфейсе откроем файл big прямо вот.здесь добавим культ уведомление роман.жирным это написать вот так попробуем.посмотреть как это будет работать все.таки мы изменили.модуль видите отвали наш текст давайте.попробуем что-нибудь скопировать.сделаем вот так я прошу прощения.поскольку действия синхронно это нужно.еще добавить вот такой вот мол !.теперь должно быть нормально давать наши.действия не обладала никаких ошибок и.давайте проверим произошло ли.копирование до произошло все файлы.скопированы.но теперь попробуем переопределить.модуль для работы с telegram.сейчас он имеет всего лишь одно действие.и вот версия 1 0 дело в том что модули.нужно не приносить папа.использовать тоже действий установить.модуль она работает и для модулей.созданных раньше до проявления этой.кнопки ядро функционал.единственное что должно быть это то что.сами модули должны быть формате zip.они рад установить не получится.получится только копированием в папку.давайте скачаем кодекс скоро нам кажется.это было сообщение от fox я взял вот тут.вот эту ссылку и изменил.типа филострат на.давайте теперь попробуем установить.устанавливается поверх старого мозга.но версиями изменили но модель должен.подняться теперь появилась действий.telegram прокси и повез действие.получить сообщение.естественно все это можно не только.использовать в бальной системе.многие комбинировать скрипки с.использованием этого.обновленного модуль также давайте.протестируем как можно устанавливать.другие мудрые форма для этого найдем.детку здесь человек сделал наработаешь.разный и устанавливаем.[музыка].модуль успешно остановился и видим.информацию о разработчике.если зайдем режим режим записи кто у нас.появились новые действия

Расширение функционала BAS с помощью модулей.

Как? Вы еще не смотрели? Ну это зря...