Author Topic: Задержка в KEYSTRING  (Read 2143 times)

0 Members and 1 Guest are viewing this topic.

Dmitry412

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Задержка в KEYSTRING
« on: December 03, 2021, 05:50:10 AM »
Здравствуйте, мне срочно нужна помощь, я плохо разбираюсь в программировании, но мне нужно написать программу, которая будет вводить слово с задержкой для каждого символа. У меня есть программа которая вводит отдельно символ с задержкой, но это очень неудобная программа, особенно когда нужно вписать несколько больших слов. Помогите пожалуйста.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Задержка в KEYSTRING
« Reply #1 on: December 03, 2021, 09:44:29 AM »
Code: (clickermann) [Select]
KEYSTRING("Всё очень просто", 75)
https://youtu.be/V3rjtOR27CU


Dlmx

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Задержка в KEYSTRING
« Reply #2 on: December 03, 2021, 11:48:44 AM »
Code: (clickermann) [Select]
KEYSTRING("Всё очень просто", 75)
https://youtu.be/V3rjtOR27CU

Интересно, а возможно для реалистичности сделать так, чтобы задержка между буквами была рандомной?

Это даёт странный результат:
Code: (clickermann) [Select]
WAITMS(500)
KEYSTRING("9037678567", RND(50,1150))
HALT
Задержка разная при каждом запуске скрипта, но одинаковая при каждом наборе новой буквы. Можно конечно сделать каждую строчку под каждую букву и между строчками ставить рандомное время на задержку, но это очень длинный скрипт получается.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Задержка в KEYSTRING
« Reply #3 on: December 03, 2021, 06:48:35 PM »
Так и должно быть. Функция rnd в keystring вызывается один раз, и с этой задержкой уже идет набор символов. Что бы задержка между буквами была рандомной, придется набирать по одному символу.
Code: (clickermann) [Select]
//раскладка клавиатуры должна соответствовать языку строки. В данном примере - RU

//подпрограмма набора с рандомной задержкой между каждым символом.
SUB(rnd_keystring, $str, $from, $to)
   FOR($a=1,$a<strlen($str)+1)
      waitms(rnd($from, $to))
      KEYSTRING(strcut($str, $a, 1 ))
   END_CYC   
END_SUB




//вызов подпрограммы с параметрами - строка, задержка от, задержка до.
rnd_keystring("Всё очень просто", 50, 1150)
HALT