31
Общие вопросы / Re: Обрезка строки
« Last post by TSV on October 02, 2023, 03:30:41 PM »Класс! Спасибо!
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
Беру из ячеек таблицы данные в переменные.
Как обрезать последние символы в строке(непечатаемые символы)? Типа как в Pyton индексы -1:-2.
$var = STRCUT($var, 1, STRLEN($var) - 2)
Может STRFILTER(как указать такие символы)?Можешь и через STRFILTER, как удобно
#define @CRLF: STRCONCAT(CHAR(13),CHAR(10))
$var = STRFILTER($var, @CRLF, 0)
CHAR(34)
EXECUTE("cmd.exe", STRCONCAT("/C clip < ", CHAR(34), "D:\Яндекс Диск\Clickermann v4.13.14x32\projects\Разное\text.txt", CHAR(34)))
#define @quotes: CHAR(34)
EXECUTE("cmd.exe", STRCONCAT("/C clip < ", @quotes, "D:\Яндекс Диск\Clickermann v4.13.14x32\projects\Разное\text.txt", @quotes))
Я постоянно использовал условия, но только если одно равно или больше, меньше другого.Условия это не только сравнение на равенство, но и булева логика, она добавляет основную мощь ветвлений.
Такой вопрос, моно ли как то использовать одновременно 2 кликера (что бы использовать 2 различных скрипта) или 2 скрипта в одном кликере не меняя их через загрузку сценария?
$check = 0
WHILE($check = 0)
IF(ISKEYDOWN(#CTRL)=1)
WHILE(ISKEYDOWN(#CTRL)=1)
END_CYC
$check = 1
ELSE
IF(ISKEYDOWN(#ALT)=1)
WHILE(ISKEYDOWN(#ALT)=1)
END_CYC
$check = 2
ELSE
IF(ISKEYDOWN(04)=1)
WHILE(ISKEYDOWN(04)=1)
END_CYC
$check = 3
ELSE
WAITMS(20)
END_IF
END_IF
END_IF
END_CYC
IF($check = 1) // Если нажата CTRL
// Первый скрипт
LOGWRITE ("1")
END_IF
IF($check = 2) // Если нажата ALT
// Второй скрипт
LOGWRITE ("2")
END_IF
IF($check = 3) // Если нажата средняя клавиша мыши
// Третий скрипт
LOGWRITE ("3")
END_IF
THREAD(th1, 0)
//сюда ставишь первый сценарий
LOGWRITE("Сценарий 1 завершился")
$status1 = 0
SETTHREAD(th1, 2) // сценарий останавливается после прохода
END_THREAD
THREAD(th2, 0)
//сюда ставишь второй сценарий
LOGWRITE("Сценарий 2 завершился")
$status2 = 0
SETTHREAD(th2, 2)
END_THREAD
THREAD(th3, 0)
//сюда ставишь третий сценарий
LOGWRITE("Сценарий 3 завершился")
$status3 = 0
SETTHREAD(th3, 2)
END_THREAD
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF(ISKEYDOWN(#ALT) & ISKEYDOWN(#Z))
$status1 = $status1 ^ 1
IF($status1)
SETTHREAD(th1, 1)
LOGWRITE("Сценарий 1 запущен")
ELSE
SETTHREAD(th1, 0) // или код 2 если нужен перезапуск
LOGWRITE("Сценарий 1 остановлен")
END_IF
WHILE(ISKEYDOWN(#ALT) & ISKEYDOWN(#Z))
WAITMS(10)
END_CYC
END_IF
IF(ISKEYDOWN(#ALT) & ISKEYDOWN(#A))
$status2 = $status2 ^ 1
IF($status2)
SETTHREAD(th2, 1)
LOGWRITE("Сценарий 2 запущен")
ELSE
SETTHREAD(th2, 0) // или код 2 если нужен перезапуск
LOGWRITE("Сценарий 2 остановлен")
END_IF
WHILE(ISKEYDOWN(#ALT) & ISKEYDOWN(#A))
WAITMS(10)
END_CYC
END_IF
IF(ISKEYDOWN(#ALT) & ISKEYDOWN(#2))
$status3 = $status3 ^ 1
IF($status3)
SETTHREAD(th3, 1)
LOGWRITE("Сценарий 3 запущен")
ELSE
SETTHREAD(th3, 0) // или код 2 если нужен перезапуск
LOGWRITE("Сценарий 3 остановлен")
END_IF
WHILE(ISKEYDOWN(#ALT) & ISKEYDOWN(#2))
WAITMS(10)
END_CYC
END_IF