Код:
#include <GUIConstantsEx.au3>
#include <Date.au3>
Global $sLog_File = @ScriptDir & '\Events.log'
Global $hLog = _Log_Open($sLog_File)
$hGUI = GUICreate('Log Demo', 300, 200)
_Log_Write($hLog, 'GUI created')
$iButton = GUICtrlCreateButton("Button", 20, 40, 60, 20)
_Log_Write($hLog, 'Button created')
GUISetState(@SW_SHOW, $hGUI)
_Log_Write($hLog, 'GUI shown')
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_Log_Write($hLog, 'Exit the program')
_Log_Close($hLog)
Exit
Case $iButton
_Log_Write($hLog, 'Button (' & $iButton & ') clicked')
EndSwitch
WEnd
Func _Log_Open($sFile, $iRewrite = 0, $iUTF8 = 0)
If $iUTF8 Then
$iUTF8 = 128
EndIf
If $iRewrite Then
$iRewrite = 2
Else
$iRewrite = 1
EndIf
Local $hLog = FileOpen($sFile, $iRewrite + $iUTF8)
If $hLog = -1 Then
Return SetError(1, 0, 0)
EndIf
FileWrite($hLog, '-------------- Log started at ' & _NowCalc() & ' --------------' & @CRLF)
Return $hLog
EndFunc
Func _Log_Close(ByRef $hLog)
If Not $hLog Then
Return SetError(1, 0, 0)
EndIf
FileWrite($hLog, '-------------- Log ended at ' & _NowCalc() & ' --------------' & @CRLF & @CRLF)
FileClose($hLog)
$hLog = 0
EndFunc
Func _Log_Write($hLog, $sData)
If Not $hLog Then
Return SetError(1, 0, 0)
EndIf
Return FileWrite($hLog, _NowCalc() & '>> ' & StringReplace(StringStripCR($sData), @LF, '\n') & @CRLF)
EndFunc
|