Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: schaft on May 23, 2014, 10:38:40 PM

Title: напечатать символы из строковой переменной
Post by: schaft on May 23, 2014, 10:38:40 PM
например
Code: [Select]
%str1="22.1."
%str2=tostr(1)
KEYSTRING(strconcat(%str1,%str2),  100)
кейстринг , понятное дело, работать не будет. А мне надо. Какие же есть рабочие варианты?
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 23, 2014, 10:53:07 PM
аа, нашел 1 вариант.
Code: [Select]
$b=49
keypress($b)
таким образом печатает любой символ по коду.
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 24, 2014, 12:08:23 PM
А есть еще варианты? Например, как сделать, чтобы работало?
Code: [Select]
$a=15
%str=apple
keystring($a)
keystring(%str)
Title: Re: напечатать символы из строковой переменной
Post by: i0 on May 24, 2014, 12:27:24 PM
имхо, пора бы тебе обновить версию CMANа. в последних прекрасно работает
Code: (clickermann) [Select]
$str="apple"
keystring($str)
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 24, 2014, 01:12:49 PM
имхо, пора бы тебе обновить версию CMANа. в последних прекрасно работает
Code: (clickermann) [Select]
$str="apple"
keystring($str)
ок, попробую 10.
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 24, 2014, 02:32:13 PM
10 версия как то глючно вот тут работает
Code: [Select]
$a=0
for($a, $a<10)
keystring($a)
wait(1)
inc($a)
end_cyc
Выводит - 2468
Почему шаг равен 2?
Title: Re: напечатать символы из строковой переменной
Post by: Oraven on May 24, 2014, 02:39:48 PM
10 версия как то глючно вот тут работает
Code: [Select]
$a=0
for($a, $a<10)
keystring($a)
wait(1)
inc($a)
end_cyc
Выводит - 2468
Почему шаг равен 2?

Потому что сам FOR уже наращивает заданную переменную $a. Для того он и создан. Удали inc($a)
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 24, 2014, 02:47:37 PM
да, спасибо. Еще вопрос, а "keystring" может работать с русскими буквами?
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 24, 2014, 02:52:01 PM
Code: [Select]
KEYSTRING(" харви", 1000)очень странно ведет себя окно. Сначала как будто мышкой кликаю в левый верхний угол окна, потом окно разворачивается на полное, а печатает только "ви"
Title: Re: напечатать символы из строковой переменной
Post by: i0 on May 24, 2014, 03:06:36 PM
а keystring не работает ни с русскими, ни латинскими, ни с большими, ни с маленькими буквами.
Quote
KEYSTRING ("keystring", [delay]) - нажимает виртуальные клавиши соответственно символам строки

Примечания
Инструкция не печатает строку, а нажимает клавиши соответственно символам строки

На результат так же влияет текущая раскладка клавиатуры

может быть, для начала почитаешь справку?
Title: Re: напечатать символы из строковой переменной
Post by: aden on May 24, 2014, 03:20:48 PM
более того не печатает и символы требующие нажатие shift то есть мой емаил aden_2003 печатает как aden-2003
Title: Re: напечатать символы из строковой переменной
Post by: Oraven on May 24, 2014, 03:58:59 PM
Code: [Select]
KEYSTRING(" харви", 1000)очень странно ведет себя окно. Сначала как будто мышкой кликаю в левый верхний угол окна, потом окно разворачивается на полное, а печатает только "ви"

Раскладки кликера и целевого окна должны совпадать.
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 24, 2014, 04:01:38 PM
имхо, пора бы тебе обновить версию CMANа. в последних прекрасно работает
Code: (clickermann) [Select]
$str="apple"
keystring($str, 100)
вот работает с латиницей, но криво. А как же русские? :(
С задержкой работает прямо.
Title: Re: напечатать символы из строковой переменной
Post by: i0 on May 24, 2014, 04:15:04 PM
Латиница будет печататься, если в момент работы скрипта в целевом приложении включён английский язык ввода (или другой, содержащий латиницу). А если включён русский, японский, суахили, etc – не будет. И наоборот, кириллица не будет печататься при включённом английском языке ввода. Язык ввода ты можешь переключить из скрипта с помощью SETKBLAYOUT.

Ну читай же справку, там всё есть.
Title: Re: напечатать символы из строковой переменной
Post by: Atas on May 24, 2014, 04:33:01 PM
Code: (clickermann) [Select]
#name "Напечатать символы из строковой переменной"

// Раскладка клавиатуры в Кликермане и в окне программы, в которой надо ввести текст,
// должны совпадать с раскладкой клавиатуры вводимой строки.

WAITMS(1000) // Чтобы успеть убрать руки от клавиатуры

$str_rus = "Русский"

$str_eng = "English"

//--------------------------------

$hwnd = wndfind("Clickermann")

setkblayout($hwnd, 1049) // Переключаем раскладку в Кликермане на русскую

WAITMS(50)

$hwnd = wndfind("Блокнот")

setkblayout($hwnd, 1049) // Переключаем раскладку в Блокноте на русскую

WAITMS(50)

KEYSTRING($str_rus, 100) // Ввод строки

//--------------------------------

KEYPRESS(#ENTER) // Переход на следующую строку

WAITMS(50)

$hwnd = wndfind("Clickermann")

setkblayout($hwnd, 1033) // Переключаем раскладку в Кликермане на английскую

WAITMS(50)

$hwnd = wndfind("Блокнот")

setkblayout($hwnd, 1033) // Переключаем раскладку в Блокноте на английскую

WAITMS(50)

KEYSTRING($str_eng, 100) // Ввод строки

HALT

Clickermann v4.10 (build 001)
Windows 7 SP1 (x64)

Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 25, 2014, 09:54:09 AM
Code: [Select]
$str="русский"
keystring($str, 100)
по сути то же самое, но в первый раз напечатал "усский", потом всегда печатает "сский". Что за дела?
Черт, мне же нужна перва буква тоже  >:(
И еще вопрос - есть ли "or" для использования?
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 25, 2014, 11:14:56 AM
"or" нашел - это палочка "|".
Title: Re: напечатать символы из строковой переменной
Post by: schaft on May 26, 2014, 11:29:46 PM
Что-то я не нашел в справке 10 кликера куда картинки кидать. Папки "Bmps" нету. Самому ее создать надо?
Title: Re: напечатать символы из строковой переменной
Post by: Atas on May 27, 2014, 01:48:11 PM
Справка по языку сценариев; актуально для версии: 4.10 (build 000); дата сборки: 03.04.2014
Раздел справки "Анализ экрана" > IF_PICTURE_IN
Quote
Входные файлы для анализа должны находиться в директории проекта, быть формта BMP и иметь стандартную разрядность 24 бита.
Можно и самому создать папку внутри папки проекта, например: IF_PICTURE_IN (10,20, 300, 300, "Картинки\somefile.bmp")