Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> If, Вопрос по первой букве
dronepilot
сообщение 28.6.2018, 20:29
Сообщение #1


*

Registred
Сообщений: 7
Регистрация: 28.6.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.982



Всем привет. Есть вопрос по команде if. Мне необходима проверка буфера обмена.
get clipboard $a
В буфере сейчас "текст"
Мне нужна проверка
If первая буква в $a равна т
тогда переходи к следующей строке
иначе set clipboard и переходи к следующей строке

Как реализовать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
AbsorbeR
сообщение 28.6.2018, 20:39
Сообщение #2


***

Novice
Сообщений: 59
Регистрация: 22.11.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.203



Что на входе?


--------------------
Выполняю скрипты на заказ.
e-mail: shk.inglory@gmail.com
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dronepilot
сообщение 28.6.2018, 20:43
Сообщение #3


*

Registred
Сообщений: 7
Регистрация: 28.6.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.982



Цитата(AbsorbeR @ 28.6.2018, 20:39) *

Что на входе?

текст и сиволы

Цитата(dronepilot @ 28.6.2018, 20:42) *

текст и сиволы

Мне нужно проверить первый символ, если он тот который мне нужно тогда ничего не делать и продолжать, если не тот, то чистить буфер и продолжать
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 28.6.2018, 21:08
Сообщение #4


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2383
Пользователь №: 18.746



Вуаля )
Код
:1
get clipboard $a   // получаем в буфер некое слово
set #b ord($a)
if #b = 242     // если в слове первая буква "т" отправляемся дальше по скрипту
goto 2
else               // если первая буква не "т", продолжаем ждать слово, в котором первая буква будет "т"
goto 1
end_if
:2
..........
..........              // тут выполняются нужные Вам действия, если в буфер обмена попало слово с первой буквой "т"
..........
goto 1
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dronepilot
сообщение 28.6.2018, 21:12
Сообщение #5


*

Registred
Сообщений: 7
Регистрация: 28.6.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.982



Цитата(Fors1k @ 28.6.2018, 21:08) *

Код
:1
get clipboard $a   // получаем в буфер некое слово
set #b ord($a)
if #b = 242     // если в слове первая буква "т" отправляемся дальше по скрипту
goto 2
else               // если первая буква не "т", продолжаем ждать слово, в котором первая буква будет "т"
goto 1
end_if
:2
..........
..........              // тут выполняются нужные Вам действия, если в буфер обмена попало слово с первой буквой "т"
..........
end_script

Вуаля )

Огромное спасибо. Вы решили мою проблему. + в карму
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dronepilot
сообщение 28.6.2018, 22:53
Сообщение #6


*

Registred
Сообщений: 7
Регистрация: 28.6.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.982



Цитата(Fors1k @ 28.6.2018, 21:08) *

Вуаля )
Код
:1
get clipboard $a   // получаем в буфер некое слово
set #b ord($a)
if #b = 242     // если в слове первая буква "т" отправляемся дальше по скрипту
goto 2
else               // если первая буква не "т", продолжаем ждать слово, в котором первая буква будет "т"
goto 1
end_if
:2
..........
..........              // тут выполняются нужные Вам действия, если в буфер обмена попало слово с первой буквой "т"
..........
end_script


Как теперь посчитать сколько раз была найдена буква т?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 28.6.2018, 23:47
Сообщение #7


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2383
Пользователь №: 18.746



Код
set #count 0
:1
get clipboard $a   // получаем в буфер некое слово
set #b ord($a)
if #b = 242     // если в слове первая буква "т" отправляемся дальше по скрипту
set #count #count + 1  
log #count   // покажет в логе сколько раз скрипт нашел слово с первой буквой "т"
goto 2
else               // если первая буква не "т", продолжаем ждать слово, в котором первая буква будет "т"
goto 1
end_if
:2
..........
..........              // тут выполняются нужные Вам действия, если в буфер обмена попало слово с первой буквой "т"
..........
goto 1
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 29.6.2018, 1:24
Сообщение #8


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2383
Пользователь №: 18.746



Кому понадобится, код для любой другой первой буквы
Код
:1
set #c ord(т) // тут в скобках вместо "т" можно вписать любую нужную букву / символ
get clipboard $a   // получаем в буфер некое слово
set #b ord($a)
if #b = #c     // если в слове первая буква "т" отправляемся дальше по скрипту
goto 2
else               // если первая буква не "т", продолжаем ждать слово, в котором первая буква будет "т"
goto 1
end_if
:2
..........
..........              // тут выполняются нужные Вам действия, если в буфер обмена попало слово с первой буквой "т"
..........
goto 1
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.6.2018, 1:34
Сообщение #9


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27722
Пользователь №: 11.279



А через copy не проще?
Код
get clipboard $a
set $b copy ($a 1 1)
log $b


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 29.6.2018, 1:38
Сообщение #10


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Зачем эта каша из goto.
Код
get clipboard $a
if ord($a) = 242   // если первая буква 'т'
    // нужные действия
end_if
end_script

Код
get clipboard $a
if_not ord($a) = 242   // если первая буква не 'т'
    // нужные действия
end_if
end_script

Если надо дождаться нужного текста.
Код
get clipboard $a
while ord($a) != 242    // пока первая буква не 'т'
    get clipboard $a
    wait 10
end_while
// дальнейшие действия
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 29.6.2018, 1:40
Сообщение #11


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2383
Пользователь №: 18.746



Цитата(DarkMaster @ 29.6.2018, 1:34) *

А через copy не проще?
Код
get clipboard $a
set $b copy ($a 1 1)
log $b



Про copy не знал, спасибо. Я совсем новичок)
Ну а так, количество строк такое же.
(IMG:style_emoticons/default/smile.gif)


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 29.6.2018, 1:54
Сообщение #12


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2383
Пользователь №: 18.746



Цитата(cirus @ 29.6.2018, 1:38) *

Зачем эта каша из goto.

Ну, автор не дал же полное тело скрипта. Вдруг поиск слова с первой буквой "т" находится строке на 100-й
, а не в начале, и на 150-й еще и условие какое-нибудь, типа если найдет цвет, то сразу надо запустить цикл поиска слова на т, и тогда на 150-й строке можно вполне удобно указать goto 1.
А так сразу универсально вроде получилось, если я не ошибаюсь.
Но если ничего такого нет, то с while, конечно, проще.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 24.4.2024, 21:44
Designed by Nickostyle