Guest User

Untitled

a guest
Jan 23rd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. Dim info As String = "скрипт запоминает состояние набора титров и может их востанавливать
  2. Разработчик: Дудин Дмитрий. Vizart co. Версия 0.1 (22 августа 2011)"
  3.  
  4. sub OnInitParameters()
  5. RegisterInfoText(info)
  6. RegisterParameterString("bufferName", "Имя буфера", "", 30, 100, "")
  7. RegisterParameterString("bufferList", "Список титров для буфера", "", 50, 100, "")
  8. end sub
  9.  
  10. Dim s, name As String
  11. Dim arr_titrs As Array[String]
  12. Dim arr_states As Array[Integer]
  13. sub OnInit()
  14. s = GetParameterString("bufferList")
  15. s.trim()
  16. s.split(",",arr_titrs)
  17. for i = 0 to arr_titrs.UBound
  18. arr_titrs[i].trim()
  19. next
  20.  
  21. name = GetParameterString("bufferName")
  22. System.Map.RegisterChangedCallback(name & "_store")
  23. System.Map.RegisterChangedCallback(name & "_restore")
  24. end sub
  25. sub OnParameterChanged(parameterName As String)
  26. OnInit()
  27. end sub
  28.  
  29. sub OnSharedMemoryVariableDeleted(map As SharedMemory, mapKey As String)
  30. If mapKey == name & "_store" Then
  31. arr_states.clear()
  32. for i = 0 to arr_titrs.UBound
  33. arr_states.Push(CInt(System.Map[arr_titrs[i] & "_control"]))
  34. next
  35. ElseIf mapKey == name & "_restore" Then
  36. for i = 0 to arr_titrs.UBound
  37. System.Map[arr_titrs[i] & "_control"] = arr_states[i]
  38. next
  39. End If
  40. end sub
Add Comment
Please, Sign In to add comment