amel27
Цитата:
Можно через вызов внешнего (скомпилированного) скрипта:
|
Дело в том, что мне нужно именно в том же скрипте...
Пример который ты привёл, а точнее фраза которую я процетировал, навела меня на идею, которая решает эту проблему.
Вместо того, чтобы запускать ещё один скрипт, можно запустить этот-же скрипт, но с параметром ком. строки, а запуск мелодии в цикле, поставить под условие - т.е если скрипт запущен с ключём, то запустить цыкл с проигрыванием мелодии:
Код:

#NoTrayIcon
Dim $SoundText, $Flag = 64
Select
Case $CmdLine[0] = 0
$Ask = MsgBox(36, "question", "Play the sound?")
If $Ask = 6 Then
Run(@AutoItExe & " """ & @ScriptFullPath & """ /ps")
$SoundText = ", exit the script and stop the sound?"
$Flag = 36
EndIf
$Else = MsgBox($Flag, "else", "I am somthing else" & $SoundText)
If $Else = 6 Then
Send("^!s")
Exit
ElseIf $SoundText <> "" Then
MsgBox(64, "close msg", "for stop the sound, hold down thees hotkeys:" & @CR & "CTRL+ALT+S")
EndIf
Case $CmdLine[1] = "/ps"
HotKeySet("^!s", "ExitScript")
While 1
SoundPlay (@WindowsDir & "\media\tada.wav", 1)
Wend
EndSelect
Func ExitScript()
Exit 0
EndFunc
Там где выделенный текст, это позволяет запустить не закомпелированный скрипт с ком. строкой, для того чтобы вызвать этот-же закомпелированный скрипт с ком. срокой, нужно поменять выделенный код на это -
Run(@ScriptFullPath & " /ps")
Большое спасибо! -Правда в некоторых случаях, у минут и у часов будет нехватать нуля (0)

. Например, если время будет такое: - 01:10:43, то отняв от него 8, результат мы получмим такой - 1:2:43. Поэтому я немного модифицыровал скрипт, и добавил определение для часов и минут на отсутствие нулей (см. выделенный текс в коде):
Код:

$Time = 01:10:43
$Mins = 8
Dim $TMS0 = StringSplit ($Time,":")
Dim $TMS1 = $TMS0
$Mins = Mod (24*60 + $TMS0[1]*60 + $TMS0[2] - $Mins, 24*60)
$TMS1[2] = Mod ($Mins, 60)
$TMS1[1] = ($Mins - $TMS1[2])/60
Switch $TMS1[1]
Case 0 to 9
$TMS1[1] = "0" & $TMS1[1]
EndSwitch
Switch $TMS1[2]
Case 0 to 9
$TMS1[2] = "0" & $TMS1[2]
EndSwitch
$TimeResult = $TMS1[1] & ":" & $TMS1[2] & ":" & $TMS1[3]
EndIf
-----------------------------------
Есть один глупый вопрос, но я его всё же задам (любопытство преодаливает

) - Чем отличаются между собой:
@CR,
@LF, и
@CRLF ?