изолированный БАС-буфер обмена

Запросы функционала
  • @oleg4ever как проверить ? последовательность действий напиши, и тестовый скрипт

  • @Bigma во первых, логически. используется буфер виндоуса, то есть все, что БАС положит в буфер - мы это может вставить в текстовый файл, например в sublime или notepad, из буфера обмена. практически проверяется. тут надеюсь не доверия нет?

    ну и раз буфер один, БАС даже кнопку имеет "взять из буфера обмена", то все, случайно отправленное пользователем в буфер во время работы за пк, будет получено и басом. кнопка же "взять из буфера обмена" )

  • @oleg4ever said in изолированный БАС-буфер обмена:

    @Bigma во первых, логически. используется буфер виндоуса, то есть все, что БАС положит в буфер - мы это может вставить в текстовый файл, например в sublime или notepad, из буфера обмена. практически проверяется. тут надеюсь не доверия нет?

    логику еще и проверять надо. У меня чето ниче не вставляется в нотепед :) Потому как все переменные и списки в басе изолированы.
    Только если в режиме записи вы копируете какое то действие, оно копируется в буфер обмена, но точнее только код этого действия.
    Так что не знаю что вы там имеете ввиду ...

  • @oleg4ever said in изолированный БАС-буфер обмена:

    ну и раз буфер один, БАС даже кнопку имеет "взять из буфера обмена", то все, случайно отправленное пользователем в буфер во время работы за пк, будет получено и басом. кнопка же "взять из буфера обмена" )

    Ну и что, что он имеет такую кнопку ? не пользуйтесь ей. Это просто доступ к общему буферу обмена, иногда полезно.

  • @Bigma 1. у нас пустая переменная [[test]]
    2. в БАСе в буфер обмена отправляем "123" // теперь и у виндоуса значением буфера "123"
    3. получаем значение буфера обмена и присваиваем его переменной [[test]]
    4. log [[text]]

    все бы ничего. да вот если перед третим шагом руками скопировать "234" в буфер, то какое значение будет в логе?)

  • @oleg4ever А зачем вы вообще общим буфером обмена пользуетесь ? вероятно это не то что вам нужно.

  • @Bigma это то, что дает максимальную скорость ввода текста, и об этом написано в первом сообщении.

  • @oleg4ever можно изолировать бас. например использовать виртуалку, или еще какие варианты

  • This post is deleted!
  • @tet-vivi на впс виртуалка не запускается. в теории вариант, но лучше допилить бас и сделать, чтобы буфер стал не единым, а для каждого потока потока или профиля (назвать, например, "виртуальный буфер"), т.к. сейчас на блокировке буфера на 1 поток через глобальную переменную теряется фактически все преимущество скорости ввода текста через него.
    пример. на ввод текста печатанием с максимальной скоростью мыши и нулевой задержкой уходит 15-20 сек на 1 поток; использование буфера одним потоком занимает 3 секунды, потом другой поток занимает эти 3 секунды, другие опять ждут; в итоге когда скрипт работает в 20 потоков на выходе получаем одинаковую скорость. но есть преимущество - меньше грузится процессор.

  • @oleg4ever это костыль.
    если есть возможность, то можно сделать самому нужный функционал(или заказать кому) на c++

  • @oleg4ever said in изолированный БАС-буфер обмена:

    так как набор больших тестов с нулевой задержкой все равно занимает продолжительное время, то выходом служить использование буфера обмена.

    на таком пк другая работа с буфером не возможна, а если случайно что то скопировать, то можно случайно кому-нибудь отправить свои данные аккаунтов и тп

    хотелось бы иметь функцию изолированного БАС-буфера от основной машины . в идеале для многопоточной работы - на каждый поток(или хотя бы профиль) свой буфер, чтобы не нужно было блокировать потоки через глобалку для 1-го одновременного использования буфера обмена .

    Уже было несколько подобных тем, но они были в ветке "поддержка". Правил форума эта тема не нарушает, а значит запрос имеет место быть.
    На счёт реализации, @support редко заглядывает в эту тему, так как у него есть дела по важнее. План развития BAS у него свой и достаточно чёткий.

    Лично я не знаю, в данный момент, как подобное реализовать (есть несколько теоретических мыслей, но не более) и сейчас у меня нет времени изучать этот вопрос. Если найдутся пользователи, которые реализуют подобный механизм достаточно качественно, то @support добавит его в официальную сборку.