Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

HeroBrine1st

Пользователи
  • Публикации

    88
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    8

Последний раз HeroBrine1st выиграл 13 января

Публикации HeroBrine1st были самыми популярными!

Репутация

41 Обычный

Контакты

  • Сайт
    нету

Посетители профиля

175 просмотров профиля
  1. string.find возвращает 2 величины - начало искомой подстроки и конец. Т.е. ты можешь получить начало слова и его конец, а затем обрезать с помощью unicode.sub(строка_для_обрезки,начало,конец). string.sub лучше для строк с юникодом не использовать. Пример кода - https://ideone.com/tEZHqh Что делает код выше со строкой str: 1.Ищет в строке подстроку "badWord" и получает положение ее начала и конца с помощью string.find(строка_в_которой_ищем,строка_которую_ищем) 2. Обрезает строку до первой буквы слова с помощью string.sub(строка_для_обрезки,начало,конец) 3. Обрезает строку от последней буквы слова с помощью string.sub(строка_для_обрезки,начало) (конец можно опустить - тогда он станет равен -1, т.е. до самого конца строки) 4. Конкатекует две строки, получая строку без слова badWord В данном случае надо будет делать это в цикле, пока string.find не вернет nil, и переходить к следующему "запрещенному" слову. P.s. возможно много информации. Отвечаю кратко - тебе нужен string.sub (s, i [, j]), где s - строка для обрезки, i - начало, j - конец. UPD: Не подумав написал. Можно использовать string.gsub(строка_из_которой_удалить,слово_которое_удалить,на_что_заменить), хотя при некоторой доработке можно с помощью алгоритма выше сделать складывание "запрещенных" слов в отдельную строку/таблицу, чего gsub не позволяет.
  2. HeroBrine1st

    TabletOS

    Точняк, ступил) спасибо
  3. HeroBrine1st

    TabletOS

    Поддерживаться-то поддерживается, но уместить в одну строку я его не смогу. Увеличить кол-во строк не могу - в андроиде такого нету (да, статусбар я срисовал именно оттуда ), да и некрасиво будет. Было бы 4х8 субпикселей в шрифте брайля - было бы проще.
  4. Перенесите эту тему в чулан пожалуйста)
  5. HeroBrine1st

    TabletOS

    85% - заряд батареи. Хочу найти иконку батареи, да не весь юникод поддерживается(
  6. HeroBrine1st

    TabletOS

    Выкатил обновление. Свайпов нету (слишком сложно, а я обновление хотел выпустить сегодня). Добавлено: Показатель оперативной памяти в строке состояния Обработчик малого количества оперативной памяти "Расположение файла" у ярлыков Ярлыки теперь работают и для контекстного меню Блокировка системы паролем Изменено: Вложенные контекстные меню подсвечиваются (вы это можете видеть на скриншотах выше - зеленым подсвечивается) Большинство программ (в том числе контекстное меню) реагируют не на нажатие, а на отпускание кнопки мыши Незначительные изменения системы обновлений Исправлено: OS.lua могла неверно думать о количестве элементов на рабочем столе Дублирование ошибки системы обновлений P.s. нужна помощь с алгоритмом свайпа. Я не до конца понимаю, как мне рассчитать координаты одновременно двух страниц.
  7. HeroBrine1st

    TabletOS

    Не тестировал от слова совсем, однако быстрого выключения не наблюдал. Там DoubleBuffering должна оптимизировать работу с gpu, а соотвественно и основное потребление энергии. Операций CPU в конфиге не видел, вроде и не должен потреблять энергию. UPD: Проверил, примерно 1% в минуту без апгрейдов на батарею кушает в простое
  8. HeroBrine1st

    TabletOS

    Всмысле прокрутка с помощью зажатия и движения мышки? Этого пока нет. Но идея отличная. спасибо
  9. HeroBrine1st

    TabletOS

    Ой, забыл xD Спойлеры делать не умею. так что как-то так пока. Возможно на скриншоты слишком новые и из разрабатываемой версии.
  10. HeroBrine1st

    TabletOS

    Репозиторий с кодом - https://github.com/HeroBrine1st/TabletOS Прошу не углубляться в мой код. Есть неполная документация - https://github.com/HeroBrine1st/TabletOS/wiki P.s. система юзает DoubleBuffering от ECS, можно юзать его библиотеку GUi.lua (ее скачать надо) UPD2: Скриншоты -
  11. Система предоставляет графическую оболочку для планшетов, имеющую минималистичный интерфейс и понятное только мне использование, а так же минимальное (надеюсь) потребление ОЗУ. Из фич оболочка дает: Возможность использования OpenOS частично без использования команд. Для особых случаев - используем контекстное меню -> "Выполнить команду" Возможность посылки уведомлений пользователю. Многозадачность не реализована, так что пассивную часть программы нужно активировать библиотекой thread из OpenOS Запуск программ-папок (*.pkg). Чисто для разграничения кода и возможности создания модулей Адаптивная отрисовка интерфейса. На экранах с разрешением по ширине, не кратной 20, могут возникать проблемы, однако без искусственного изменения разрешения такого не произойдет. Помощь в настройке при первом запуске. На случай проблем - на первом экране используется колёсико мыши. Блокировка экрана В планах: Свайпы по рабочему столу для смены страницы. Горячие клавиши на главном экране (клик+delete - удалить, ctrl+e+клик - редактировать и подобное) Специальный фреймворк аля Zygote из андроида. Естественно абсолютно весь функционал переписывать не буду, однако основной останется. Этот фреймворк повлечет за собой полный рефакторинг кода (перевод системы на него), но полностью устранит все недостатки Установка - pastebin run 1xudmTa7 Выберите в установщике TabletOS и канал обновлений "Stable". В дальнейшем система будет уведомлять о обновлениях, при получении оного нужно будет зайти в настройки (контекстное меню в левом нижнем углу экрана) и там обновиться. В случае, когда при обновлении бросает ошибку - посмотрите изменения, там будут инструкции по ручному обновлению или переустановке системы. Если и это невозможно. переустановите систему. Данные должны сохраниться, а вот система - обновиться. Зачем я ее сделал - не знаю сам. Но ей полтора года и я ее отрефакторил полгода назад. Не люблю бросать начатое, хотя вроде оболочка уже бесполезна. Сама идея появилась от проблемы медленного запуска программ на моем планшете. Я хотел сделать быстрый запуск включил-нажал, но я не нашел достойной системы, которая могла тогда установиться на планшет. Решил сделать сам.
  12. Еще раз обновил утилиту) 1. Как говорил ECS, теперь временный файлик находится на диске. По умолчанию - /usr/cryptednote/temp.crtnt, + использую computer.pullSignal 2. Заменил gpu.set на функцию write (стащил из другой своей программы ), которая стирает и пишет на последней записанной строке И предыдущие изменения: 3. Поддерживает большие файлы 4. Появился флаг --execute (-x), который расшифровывает и вызывает файл без его записи на диск. 5. Файлы программы перенесены в /usr/cryptednote и это можно изменить в коде. Из-за записи на загрузочный диск упала безопасность - в случае принудительного выключения устройства или (хуже) вытаскивания диска расшифованный файл так и останется лежать. Так что используем планшеты и желательно в безопасных местах)
  13. Чутка обновил утилиту. Из изменений - заметки перенесены в/usr/cryptednote (легко меняется в коде, если надо все вернуть) и поддерживает огромные (реально огромные файлы вплоть до свободной ОЗУ) файлы. Но с последним проблемы, оно как-то не так записывает расшифрованный файл в /tmp/, обрезает его почему-то. Установка тем же методом. Про поддержку огромный файлов - они вызывали ошибку TLWY, пришлось делать цикл (спасибо за блочность алгоритма) и вставлять os.sleep(0). P.s. там в коде можно найти gpu.set вместо term.write - это мне было лень делать функцию переноса курсора на начало строки) UPD: еще флаг --execute сделал (или -x), расшифровывает файл и запускает его. Расшифрованный код никуда не записывается, он остается только в ОЗУ
  14. Я рассчитывал на то, что если админам понадобится ключ - они пойдут в кеш сервера и пойдут его искать там. Ну раз у луа такая логика, значит придется удалить этот участок кода.. P.s. и переменные можно вообще не обнулять получается? нет смысла? При выключенной буферизации все изменения переменных будут моментально записаны на диск сервера. Если это HHD, то 35 (уточняется) итераций как раз будет достаточно для полной перезаписи информации (как оказалось, не информация перезаписывается, а ссылка на нее). А если SSD, то Trim удалит остаточные данные.
  15. Из какого-то канала Telegram. Подтвердить инфу не могу, увы( Лишним не будет - выполняется моментально. os.sleep чисто для наблюдения процесса поставил, иначе ввел пароль и сразу к файлу
×