Не большой код для примера.
При нажатии на кнопку начинает мигать (пока только для примера 3 раза) надпись "Загрузка"
И только по завершении включится функция (в данном случае тоже просто для примера простой Меседжбокс) Мне нужно чтобы эти две функции включились бы сразу вместе (вместо месаджбокса
будет конечно другая функция например по сбору информации) то есть пока идёт сбор информации
надпись "Загрузка" должна мигать а по завершении должна перестать мигать. То есть пока работает
функция сделать небольшую анимацию.
Использовать функцию Месаджбокса для примера было наверное с моей стороны не правильно. Попробывал вставить ту функцию для которой эта анимация и делалась
Попробывал применить функцию AdlibRegister вроде бы получилось.
Не подскажете теперь как корректно выйти из этой анимации когда основные функции
по сбору информации закончат своё дело (то есть как корректно погасить процесс)
При нажатии на кнопку начинает мигать (пока только для примера 3 раза) надпись "Загрузка"
И только по завершении включится функция (в данном случае тоже просто для примера простой Меседжбокс) Мне нужно чтобы эти две функции включились бы сразу вместе (вместо месаджбокса
будет конечно другая функция например по сбору информации) то есть пока идёт сбор информации
надпись "Загрузка" должна мигать а по завершении должна перестать мигать. То есть пока работает
функция сделать небольшую анимацию.
Код:
#include <GUIConstantsEx.au3>
$hGui = GUICreate("", 200, 100, -1, -1)
$hButton = GUICtrlCreateButton("Старт", 50, 50, 100, 25)
$hLabel = GUICtrlCreateLabel("Загрузка", 70, 10,100,30)
GUICtrlSetFont($hLabel, 12, 200, 0, "Arial")
GUICtrlSetColor($hLabel,0x0000ff)
GUICtrlSetState($hLabel, $GUI_HIDE)
GUISetState()
While 1
Switch GUIGetMsg()
Case - 3
Exit
Case $hButton
Function()
MsgBox(32, "","Тест",3)
EndSwitch
WEnd
Func Function()
for $i = 1 to 3
GUICtrlSetState($hLabel, $GUI_SHOW)
Sleep(500)
GUICtrlSetState($hLabel, $GUI_HIDE)
Sleep(500)
Next
EndFunc
Использовать функцию Месаджбокса для примера было наверное с моей стороны не правильно. Попробывал вставить ту функцию для которой эта анимация и делалась
Попробывал применить функцию AdlibRegister вроде бы получилось.
Не подскажете теперь как корректно выйти из этой анимации когда основные функции
по сбору информации закончат своё дело (то есть как корректно погасить процесс)
Код:
#include <GUIConstantsEx.au3>
Global $Array,$Pap,$Fil,$Ard,$p = 1
GUICreate("")
$hButton = GUICtrlCreateButton("Старт", 50, 50, 100, 25)
$hLabel = GUICtrlCreateLabel("Загрузка", 70, 10,100,30)
GUICtrlSetFont($hLabel, 12, 200, 0, "Arial")
GUICtrlSetColor($hLabel,0x0000ff)
GUICtrlSetState($hLabel, $GUI_HIDE)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $hButton
AdlibRegister("Timer", 500)
File("C:")
Dir("File.txt","Info.txt")
EndSwitch
WEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func Timer()
if $p = 1 Then
GUICtrlSetState($hLabel, $GUI_SHOW)
$p = 2
Else
GUICtrlSetState($hLabel, $GUI_HIDE)
$p = 1
EndIf
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func File($Path)
$First = FileFindFirstFile($Path & "\" & "*")
While 1
$File = FileFindNextFile($First)
$sTime = FileGetTime($Path & '\' & $File)
If $File = "" Then ExitLoop
$Fisd = $Path & '\' & $File
$Attr = FileGetAttrib($Fisd)
$Sult = StringInStr($Attr, "D")
If $Sult > 0 Then
$Array &= $Fisd & '|||' & ' ' & $sTime[2] & '-' & $sTime[1] & '-' & $sTime[0] & ' ' & $sTime[3] & ':' & $sTime[4] & ':' & $sTime[5] & @CR
$Pap +=1
File($Fisd)
Else
$Array &= $Path & '\' & $File & '|||' & ' ' & $sTime[2] & '-' & $sTime[1] & '-' & $sTime[0] & ' ' & $sTime[3] & ':' & $sTime[4] & ':' & $sTime[5] & @CR
$Fil+=1
EndIf
WEnd
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func Dir($w1,$w2)
$Txt = FileOpen($w1,2)
FileWrite($Txt, $Array & "zzzzzzz")
FileClose($Txt)
$Ard = 'Папки : ' & $Pap & ' Файлы : ' & $Fil
$Txt = FileOpen($w2,2)
FileWrite($Txt, $Ard)
FileClose($Txt)
$Array = ""
$Pap = ""
$Fil = ""
$Ard = ""
EndFunc