Advertisement
teadrinker

Текст построчно

May 11th, 2011
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CoordMode, Mouse
  2. MaxSigns = 20  ; заменить на нужное
  3.  
  4. F11::
  5. i := n := PrevEndPos := 1
  6.  
  7. ClipBoard =
  8. SendInput, ^{vk43}   ; Ctrl + C
  9. ClipWait, 2
  10. if ErrorLevel
  11. {
  12.    MsgBox, Буфер обмена пуст!
  13.    Return
  14. }
  15. StringReplace, Clipboard, Clipboard, `r,, 1
  16. Length := StrLen(Clipboard)
  17. Loop, parse, ClipBoard
  18. {
  19.    if (A_Index = Length)
  20.       EndPos := A_Index + 1
  21.    if (A_LoopField = " " || A_LoopField = "`n")
  22.       EndPos := A_Index
  23.    if (A_Index = Length || A_LoopField = "`n" || i = MaxSigns + 1)
  24.    {
  25.       if !EndPos
  26.          EndPos := A_Index + 1, Modifier := 1
  27.       String%n% := SubStr(ClipBoard, PrevEndPos, EndPos - PrevEndPos)
  28.       if Modifier
  29.          PrevEndPos := EndPos, Modifier := ""
  30.       Else
  31.          PrevEndPos := EndPos + 1
  32.       i := A_Index - EndPos, n++, EndPos := ""
  33.    }
  34.    i++
  35. }
  36. ; для демонстрации, можно удалить 2 строчки
  37. Loop % n - 1
  38.    MsgBox, % "String" A_Index " = |" String%A_Index% "|"
  39.  
  40. WinWait, Adobe Premiere Pro
  41. MouseMove, 100, A_ScreenHeight
  42. ControlClick, class UIF::HotTimecodeControl5
  43. SendInput, ^{vk43} ; Ctrl + C
  44. Sleep, 100
  45. Out := ClipBoard
  46. ControlClick, class HandlerTimeline::TimelineButtonArea1
  47. SendInput, {vk51} ; q
  48. MouseMove, 100, A_ScreenHeight
  49. ControlClick, class UIF::HotTimecodeControl5
  50. SendInput, ^{vk43} ; Ctrl + C
  51. Sleep, 100
  52. In := ClipBoard
  53.  
  54. Loop, parse, Out, :
  55. {
  56.    if A_Index = 1
  57.       Frames := A_LoopField*60*60*25
  58.    else if A_Index = 2
  59.       Frames += A_LoopField*60*25
  60.    else if A_Index = 3
  61.       Frames += A_LoopField*25
  62.    Else
  63.       Frames += A_LoopField
  64. }
  65. Loop, parse, In, :
  66. {
  67.    if A_Index = 1
  68.       Frames -= A_LoopField*60*60*25
  69.    else if A_Index = 2
  70.       Frames -= A_LoopField*60*25
  71.    else if A_Index = 3
  72.       Frames -= A_LoopField*25
  73.    Else
  74.       Frames -= A_LoopField
  75. }
  76.  
  77. SendInput, ^1
  78. WinWait, Preferences ahk_class #32770
  79. ControlSetText, Edit5, % Frames/n - 1
  80. Sleep 100
  81. SendInput, {Enter}
  82. Sleep, 200
  83.  
  84. Loop % n - 1
  85. {
  86.    WinActivate, Adobe Premiere Pro
  87.    SendInput, ^t{Enter} ; Ctrl + t + Enter
  88.    Sleep, 200
  89.    Clipboard := String%A_Index%
  90.    SendInput, ^{vk56}  ; Ctrl + V
  91. }
  92. Return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement