Автор Тема: Задержка в KEYSTRING  (Прочитано 633 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Dmitry412

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

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3800
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Задержка в KEYSTRING
« Ответ #1 : Декабрь 03, 2021, 09:44:29 am »
Код: Clickermann
  1. KEYSTRING("Всё очень просто", 75)

https://youtu.be/V3rjtOR27CU


Dlmx

  • Зашел в гости
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Задержка в KEYSTRING
« Ответ #2 : Декабрь 03, 2021, 11:48:44 am »
Код: Clickermann
  1. KEYSTRING("Всё очень просто", 75)

https://youtu.be/V3rjtOR27CU

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

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

dramster

  • Герой форума
  • *****
  • Сообщений: 1130
    • Просмотр профиля
Re: Задержка в KEYSTRING
« Ответ #3 : Декабрь 03, 2021, 06:48:35 pm »
Так и должно быть. Функция rnd в keystring вызывается один раз, и с этой задержкой уже идет набор символов. Что бы задержка между буквами была рандомной, придется набирать по одному символу.
Код: Clickermann
  1. //раскладка клавиатуры должна соответствовать языку строки. В данном примере - RU
  2.  
  3. //подпрограмма набора с рандомной задержкой между каждым символом.
  4. SUB(rnd_keystring, $str, $from, $to)
  5.   FOR($a=1,$a<strlen($str)+1)
  6.      waitms(rnd($from, $to))
  7.      KEYSTRING(strcut($str, $a, 1 ))
  8.   END_CYC  
  9. END_SUB
  10.  
  11.  
  12.  
  13.  
  14. //вызов подпрограммы с параметрами - строка, задержка от, задержка до.
  15. rnd_keystring("Всё очень просто", 50, 1150)
  16. HALT
  17.