Что нового

[Окна, Диалоги] Независимое окно процесса выполнения.

Kolyan_xerox

Новичок
Сообщения
3
Репутация
0
Помогите или ткните где такое можно найти.
Вообщем мне нужно чтобы при запуске моего скрипта появлялось по середине экрана табличка (т.е без кнопок) С надписью "Подождите завершения операции" в конце этой надписи должно зацикленное поочередное появление точек(или анимация)для отображения того что программа не висит, а делает свои дела. По окончании выполнения появилось окно о успешном завершении операции.

И еще. Допустим под определенную версию программы имеется свой скрипт. Нужно чтобы запускался тот скрипт который соответствовал бы версии программы (это можно определить по путям программы)

PS Сильно не судите если где-то криво изложил свою мысль :-[
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Re: Предупреждающие окно...

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

"Предупреждающие окно..." - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, Модератор раздела.








а вообще, тебе сюда
http://autoit-script.ru/index.php?board=8.0
только сначала ознакомься
http://autoit-script.ru/index.php?topic=124.0
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
369
Re: [Окна, Диалоги] Предупреждающие окно о выполнении скрипта.

1. Окно предупреждения.
Как один из вариантов:
Код:
#include <GUIConstants.au3>
Global $iCounter = 0, $sString = 'Wait ...'
GUICreate('Wait!', 160, 80)
$hLabel = GUICtrlCreateLabel($sString, 20, 20, 120, 21)
GUISetState()
AdlibRegister('_wait', 1000)
Sleep(6000) ; здесь действия по загрузке скрипта
AdlibUnRegister('_wait')
GUICtrlSetData($hLabel, 'Done!')
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
	EndSelect
WEnd

Func _wait()
	GUICtrlSetData($hLabel, StringLeft($sString, 8 - $iCounter))
	$iCounter += 1
	If $iCounter = 4 Then $iCounter = 0
EndFunc

Еще можно текст для выдачи в окно можно заранее забить в массив и выводить оттуда построчно.
2.
Kolyan_xerox сказал(а):
Нужно чтобы запускался тот скрипт который соответствовал бы версии программы (это можно определить по путям программы)
Ну и бери путь до скрипта макросом:
Код:
@ScriptDir

и уже в соответствии с результатом запуская что нужно из той папки.
 

AZJIO

Меценат
Меценат
Сообщения
2 752
Репутация
1 149
Re: [Окна, Диалоги] Предупреждающие окно о выполнении скрипта.

Kolyan_xerox
Можно назвать тему "Независимое окно процесса выполнения"
Вот вариант с внешним скриптом, правда не все запросы учёл, но как вариант идеи.

Код:
Global $pid=0, $pid1=ProcessList(StringRegExpReplace(@AutoItExe, "(^.*)\\(.*)$", "\2"))
; If $pid1[0][0] = 1 Then
	; MsgBox(0, 'Message', $pid1[1][0]&@CRLF&$pid1[1][1])
	; Exit
; EndIf

$Gui = GUICreate("скрипт выполняемый",  286, 140, -1, 0)
$Button1=GUICtrlCreateButton('Стартуем', 10, 10, 120, 22)
$Button2=GUICtrlCreateButton('Заканчиваем', 140, 10, 120, 22)
GUISetState ()

While 1
   $msg = GUIGetMsg()
   Select
       Case $msg = $Button1
			If ProcessExists($pid) Then
				ProcessClose($pid)
				ProcessWaitClose($pid)
			EndIf
           _outside()
       Case $msg = $Button2
			If ProcessExists($pid) Then
				ProcessClose($pid)
				ProcessWaitClose($pid)
			EndIf
       Case $msg = -3
           Exit
   EndSelect
WEnd

Func _outside()
$kod= '#NoTrayIcon' & @CRLF & _
'$Gui = GUICreate("-",  206, 24, -1, -1, 0x80000000+0x00040000, 0x00000020+0x00000080)' & @CRLF & _
'$ProgressBar = GUICtrlCreateProgress(3, 3, 200, 18, 0x00000008)' & @CRLF & _
'GUICtrlSetColor(-1, 32250); цвет для классической темы' & @CRLF & _
'GUICtrlSetBkColor(-1,0xffffff)' & @CRLF & _
'GUISetState ()' & @CRLF & _
@CRLF & _
'$iPos = 0' & @CRLF & _
'While 1' & @CRLF & _
'	If Not ProcessExists('&$pid1[1][1]&') Then ExitLoop' & @CRLF & _
'	$iPos += 1' & @CRLF & _
'	GUICtrlSetData($ProgressBar, $iPos)' & @CRLF & _
'	Sleep(100)' & @CRLF & _
'	If $iPos > 100 Then $iPos = 0' & @CRLF & _
'WEnd' & @CRLF & _
'GUICtrlDelete($Gui)'
$file = FileOpen(@TempDir&'\file28jfq282hgff3.au3',2)
FileWrite($file, $kod)
FileClose($file)
$pid=Run('"'&@AutoItExe&'" /AutoIt3ExecuteScript "'&@TempDir&'\file28jfq282hgff3.au3"', '', @SW_HIDE)
EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
Re: [Окна, Диалоги] Предупреждающие окно о выполнении скрипта.

kolyan-xerox
{OverQuoteWarn.Admin}

[?]
Теперь неподскажете
Нет не подскажет, потому что вам ещё одно...
{MultplQuestionWarn.Admin}
 
Верх