Что нового

Сообщение о завершение скрипта без MsgBox

lapin9126

Новичок
Сообщения
36
Репутация
1
Здравствуйте!
Как можно организовать сообщение об окончании выполнения скрипта без MsgBox и блокнота? Технология отправки в телеграмм есть, а как сформировать текст от окончании работы скрипта. Скрипт не цикличный, линейное выполнение от первого до последнего пункта, по окончании сформировать текст на подобие такого: "Выполнено, время, дата"
Код:
Func _Now_Times()
   Return StringFormat('%02s:%02s:%02s %02s.%02s.%04s', @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR)
EndFunc
$sText = 'Выполнено в ' & _Now_Times()

Код:
Func Start()
ControlSend('Alpha Pro', '', '', "{F5}")
Sleep(1000)
ControlSend('Alpha Pro', '', '', "{F9}")
EndFunc
$iState = WinGetState('Alpha Pro', '')
if Not BitAND($iState, 16) Then
Start()
Else
WinSetState('Alpha Pro', '', @SW_RESTORE)
Start()
EndIf
$Den = @MDAY
$Mes = @MON
$Title = "360_STROKA_" & $Den & "_" & $Mes & ".SC"
$child = ControlGetHandle('Alpha Pro', '', "[TEXT:" & $Title & "]")
WinSetState($child, '', @SW_MAXIMIZE)
WinWait('Alpha Pro', '', "[TEXT:" & $Title & "]")
Sleep(1000)
WinClose(ControlGetHandle('Alpha Pro', '', "[TEXT:" & $Title & "]"))
Sleep(2000)
WinMenuSelectItem('Alpha Pro', '', 'Vide&o', '&Render')
Sleep(2000)
WinMenuSelectItem('Alpha Pro', '', '&File', '&Save')
 
Решение
Правильно я понимаю, данный вариант выполняется линейно и функцию типа_NowTime туда уже не вписывается?
Функцию нет, а строку да
Код:
Func _Now_Times()
   Return StringFormat('%02s:%02s:%02s %02s.%02s.%04s', @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR)
EndFunc
$sText = 'Выполнено в ' & _Now_Times()

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0,''Сообщение'', '''& $sText &''')"')
Exit



... , но не автономный. Не факт что скрипт будет использоваться на этом же ПК где писался.
Что бы получить автономность, можно попробовать скомпилировать.

Oki

Продвинутый
Сообщения
452
Репутация
62
Не сформулировано, что требуется. Сообщение кому? Почему требуемое нечто противопоставляется функции MsgBox(), что с ней не так?
 

Andrey_A

Продвинутый
Сообщения
325
Репутация
68
на подобие такого: "Выполнено, время, дата"
Нужно всплывающее окно? - в том же MsgBox есть 4-й параметр timeout, есть SplashTextOn, можно и самому создать любое окно с текстом для появления на пару секунд об оповещении. Если без окон, то звуком Beep, SoundPlay
 
Автор
L

lapin9126

Новичок
Сообщения
36
Репутация
1
Нужно всплывающее окно? - в том же MsgBox есть 4-й параметр timeout, есть SplashTextOn, можно и самому создать любое окно с текстом для появления на пару секунд об оповещении. Если без окон, то звуком Beep, SoundPlay
О том что в функции MsgBox() есть timeout я знаю, но этот вариант не подходит, также как и SplashTextOn, потому что при данном методе оповещения, выполнение скрипта не останавливается до момента закрытия окна. Звуковое оповещение не подходит.
Сообщение автоматически объединено:

Не сформулировано, что требуется. Сообщение кому? Почему требуемое нечто противопоставляется функции MsgBox(), что с ней не так?
Сообщение в телеграмм, боту. Функции MsgBox() не подходит, потому что выполнение скрипта не останавливается до момента закрытия окна.
 
Последнее редактирование:

lettterssino

Знающий
Сообщения
109
Репутация
10
Сообщение в телеграмм, боту. Функции MsgBox() не подходит, потому что выполнение скрипта не останавливается до момента закрытия окна.
Вроде бы при использовании MsgBox() скрипт как раз и приостанавливается!
 
Автор
L

lapin9126

Новичок
Сообщения
36
Репутация
1
Вроде бы при использовании MsgBox() скрипт как раз и приостанавливается!
В том-то и дело что приостанавливается, а не завершает работу. Ну я думал что, это как-то можно сделать стандартными средствами. Придётся на "костылях" выезжать.
 

lettterssino

Знающий
Сообщения
109
Репутация
10
В том-то и дело что приостанавливается, а не завершает работу. Ну я думал что, это как-то можно сделать стандартными средствами. Придётся на "костылях" выезжать.
А подобная конструкция не подходит ?
Код:
If MsgBox(4+32, '',  '', 5) = -1 Then
   Exit
EndIf
 
Последнее редактирование:

All2khoff

Продвинутый
Сообщения
352
Репутация
65
Добрый день, простите пишу с телефона, скорее всего не работает. но как идея слать сообщение в систему возможно подойдет ТСу.
Код:
Func _Now_Times()
   Return StringFormat('%02s:%02s:%02s %02s.%02s.%04s', @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR)
EndFunc
$sText = 'Выполнено в ' & _Now_Times()

Run(@ComSpec & '/c msg * "Выполнено в "'& $sText)

Суть проста... отправить сообщение в cmd, а так как дальше работает уже стороннее приложение скрипт может быть закрыт а не приостановлен.
 
Автор
L

lapin9126

Новичок
Сообщения
36
Репутация
1
А подобная конструкция не подходит ?
Код:
If MsgBox(4+32, '',  '', 5) = -1 Then
   Exit
EndIf
Это сообщение с таймером на 5 секунд, после чего сообщение исчезает. А надо что бы скрипт завершил работу, а уведомление осталось или как вариант сформировать текст для отправки сообщения в телеграмм.
 

Norm

Продвинутый
Сообщения
279
Репутация
74
А что на счет этого варианта, если выполнить одну строчку кода.
Пример:
Код:
; Скрипт .................
; ...............................
Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0,''Сообщение'', ''Выполнено'')"')
Exit

Иконка AutoIt не отображается в трее при использовании /AutoIt3ExecuteLine
 
Последнее редактирование:

All2khoff

Продвинутый
Сообщения
352
Репутация
65
А что на счет этого варианта, если выполнить одну строчку кода.
Вариант интересный(возьму на вооружение спасибо), но не автономный. Не факт что скрипт будет использоваться на этом же ПК где писался.
 
Автор
L

lapin9126

Новичок
Сообщения
36
Репутация
1
А что на счет этого варианта, если выполнить одну строчку кода.
Пример:
Код:
; Скрипт .................
; ...............................
Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0,''Сообщение'', ''Выполнено'')"')
Exit

Иконка AutoIt не отображается в трее при использовании /AutoIt3ExecuteLine
Правильно я понимаю, данный вариант выполняется линейно и функцию типа_NowTime туда уже не вписывается?
 

Norm

Продвинутый
Сообщения
279
Репутация
74
Правильно я понимаю, данный вариант выполняется линейно и функцию типа_NowTime туда уже не вписывается?
Функцию нет, а строку да
Код:
Func _Now_Times()
   Return StringFormat('%02s:%02s:%02s %02s.%02s.%04s', @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR)
EndFunc
$sText = 'Выполнено в ' & _Now_Times()

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0,''Сообщение'', '''& $sText &''')"')
Exit



... , но не автономный. Не факт что скрипт будет использоваться на этом же ПК где писался.
Что бы получить автономность, можно попробовать скомпилировать.
 
Последнее редактирование:
Решение
Верх