1

Тема: AHK: Задание для скрипта в .txt

Здравствуйте! Писал скрипт и столкнулся с проблемой. Есть файл "Play.txt" он выглядит где-то так:


w
9766
b
327
d
219
h
171
e
250
y
234

Перед буквой "W" строка. Буквы и цифры будут разными. Нужно что б при нажатии скрипт читал строки по очереди и исполнял то что написано, тоесть если это буква - нажать её потом будет задержка (sleep) и сново буква.
В данном случае скрипт должен сделать такое действие:

sendinput, {w}
sleep 9766
sendinput, {b}
sleep 327
sendinput, {d}
sleep 219
sendinput, {h}
sleep 171
sendinput, {e}
sleep250
sendinput, {y}
sleep 234

2

Re: AHK: Задание для скрипта в .txt

Первое, что пришло в голову:

Loop 12
FileReadLine, test%A_Index%, Play.txt, %A_Index%
return

!1::
sendinput, {%test1%}
sleep %test2%
sendinput, {%test3%}
sleep %test4%
sendinput, {%test5%}
sleep %test6%
sendinput, {%test7%}
sleep %test8%
sendinput, {%test9%}
sleep %test10%
sendinput, {%test11%}
sleep %test12%

Можно конечно код более оптимальнее придумать, но мне пока думать лень.

3

Re: AHK: Задание для скрипта в .txt

_Квас пишет:

Первое, что пришло в голову:

Loop 12
FileReadLine, test%A_Index%, Play.txt, %A_Index%
return

!1::
sendinput, {%test1%}
sleep %test2%
sendinput, {%test3%}
sleep %test4%
sendinput, {%test5%}
sleep %test6%
sendinput, {%test7%}
sleep %test8%
sendinput, {%test9%}
sleep %test10%
sendinput, {%test11%}
sleep %test12%

Можно конечно код более оптимальнее придумать, но мне пока думать лень.

такой же код и у меня, но а вдруг там будет 1000 строк.

4 (изменено: _Квас, 2014-04-20 21:39:13)

Re: AHK: Задание для скрипта в .txt

Ну тогда можно сделать так:

Gui, Add, Edit, vEdit, Введите кол-во строк
Gui, add, button, gbutton, ok
Gui, Show
return

button:
Gui, Submit
Loop %Edit%
FileReadLine, text%A_Index%, play.txt, %A_Index%
return

!1::
loop % Edit/=2
{
num++
sendinput, % text%num%
num++
sleep % text%num%
}
return

GuiClose:
ExitApp

5 (изменено: serzh82saratov, 2014-04-20 23:37:24)

Re: AHK: Задание для скрипта в .txt


FileRead, str, C:\Users\sergey\Desktop\new  2.txt 
arr := StrSplit(str, "`n", "`r"), i := 0
Loop % arr.MaxIndex()/2  {     
    MsgBox % "sendinput " arr[++i] 
    MsgBox % "sleep " arr[++i] 
} 

На случай пустых строк и пробелов по краям.


arr := [], i := 0
Loop, read, C:\Users\sergey\Desktop\new  2.txt 
    If A_LoopReadLine is not space
        arr.Insert(Trim(A_LoopReadLine))
Loop % arr.MaxIndex()/2  {     
    MsgBox % "sendinput " arr[++i] 
    MsgBox % "sleep " arr[++i] 
}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Задание для скрипта в .txt

serzh82saratov пишет:

FileRead, str, C:\Users\sergey\Desktop\new  2.txt 
arr := StrSplit(str, "`n", "`r"), i := 0
Loop % arr.MaxIndex()/2  {     
    MsgBox % "sendinput " arr[++i] 
    MsgBox % "sleep " arr[++i] 
} 

Спасибо работает! чуть переделал под себя.

FileRead, str, play.txt 
arr := StrSplit(str, "`n", "`r"), i := 0
Loop % arr.MaxIndex()/2  { 
fileappend, % "sleep " arr[++i], rec.txt
fileappend, `n, rec.txt 
fileappend, % "sendinput " arr[++i], rec.txt
fileappend, `n, rec.txt 
}

7 (изменено: serzh82saratov, 2014-04-20 23:38:19)

Re: AHK: Задание для скрипта в .txt

Тогда уж так:


FileRead, str, play.txt 
arr := StrSplit(str, "`n", "`r"), i := 0
Loop % arr.MaxIndex()/2  
     fileappend, % "sleep " arr[++i] "`nsendinput " arr[++i] "`n", rec.txt
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Задание для скрипта в .txt

Но я не пойму, вам же так надо было:


FileRead, str, C:\Users\sergey\Desktop\new  2.txt 
arr := StrSplit(str, "`n", "`r"), i := 0
Loop % arr.MaxIndex()/2  {     
    sendinput % arr[++i] 
    sleep % arr[++i] 
}   
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui