Global $Counter = 0 ; глобальный счётчик
TestFunc() ; вызов функции
For $i = 0 To 7
TestFunc() ; вызов функции
Next
TestFunc() ; вызов функции
ConsoleWrite("Функция вызывалась " & $Counter & " раз" & @LF)
Func TestFunc()
$Counter += 1 ; увеличиваем счётчик
; что-то делаем
EndFunc
Я думаю - догадался. Только либо локальную переменную внутри самой функции увеличивал, либо ему нужно встроенную функцию посчитать.не догадался
Если вы запустите скрипт, то увидите, что функция вызывалась 10 раз. А зачем? Ну... чтобы подсчитать количество её вызовов.три раза вызивал одну функцию
Global $Counter = 0
Func _Statistika()
MsgBox(0,"Статистика","Повтор действий "&$counter & @LF)
EndFunc
Func StatInfo()
IniWrite ("Setting.ini","Statistika","Statistika",$counter)
$counter = IniRead("Setting.ini","Statistika","Statistika","0")
EndFunc
$Statistika = GUICtrlCreateButton("Статистика",155,235)
GUICtrlSetOnEvent($Statistika,"_Statistika")
Statinfo()
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 328, 202, 192, 114)
$Button1 = GUICtrlCreateButton("Статистика", 126, 88, 75, 25)
GUISetState(@SW_SHOW)
Global $Counter = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Statistika()
Exit
Case $Button1
_StatInfo()
EndSwitch
WEnd
Func _Statistika()
$Counter = IniRead("Setting.ini","Statistika","Count","default")
MsgBox(0,"Статистика","Нажатий "& $Counter & @LF)
EndFunc
Func _StatInfo()
$Counter += 1
IniWrite("Setting.ini","Statistika","Count",$Counter)
EndFunc
Global $Counter = 0
Global $Counter = IniRead("Setting.ini","Statistika","Count","0")
,"Count","default")
,"Count","0")
я бы написал
слоган из рекламы сказал(а):почувствуй разницу ;)
$Counter = IniRead("Setting.ini","Statistika","Count", "default" )
Switch $Counter
Case '0'
MsgBox(64, @ScriptDir,StringFormat('Нажатий: %s\n', $Counter))
Case '1'
MsgBox(64, @ScriptDir,StringFormat('Нажатий: %s\n', $Counter))
Case 'default'
MsgBox(16, @ScriptDir,StringFormat('Файл отсутствует %s\n', $Counter))
EndSwitch
IniWrite("Setting.ini","Statistika","Count", "0")
$Counter = IniRead("Setting.ini","Statistika","Count", "default" )
Switch $Counter
Case '0'
MsgBox(64, @ScriptDir,StringFormat('Нажатий: %s\n', $Counter))
Case '1'
MsgBox(64, @ScriptDir,StringFormat('Нажатий: %s\n', $Counter))
Case 'default'
MsgBox(16, @ScriptDir,StringFormat('Файл отсутствует %s\n', $Counter))
EndSwitch
Вы забыли добавить в функцию самое главноечтобы он работал
$Counter += 1 ; увеличиваем счётчик
Global $Counter = 0
Func _Statistika()
MsgBox(0,"Статистика","Повтор действий "&$counter & @LF)
EndFunc
func _func01()
while 1
$counter +=1
wend
endfunc
Func StatInfo()
IniWrite ("Setting.ini","Statistika","Statistika",$counter)
$counter = IniRead("Setting.ini","Statistika","Statistika","0")
EndFunc
$Statistika = GUICtrlCreateButton("Статистика",155,235)
GUICtrlSetOnEvent($Statistika,"_Statistika")
Statinfo()
Global $Counter = 0
; Функция выводит колличество повторений ЧЕГО!!!
Func _Statistika()
MsgBox(0,"Статистика","Повтор действий "& $counter & @LF)
EndFunc
; Функция глухо висит в цикле и грузит CPU!!!
; Кстати она нигде не вызывается???
func _func01()
while 1
$counter +=1
wend
endfunc
; Функция читает и пишет в INI файл вечно пустую переменную $Counter!!!
Func StatInfo()
IniWrite ("Setting.ini","Statistika","Statistika",$counter)
$counter = IniRead("Setting.ini","Statistika","Statistika","0")
EndFunc
; На каком GUI рисуется кнопка!!!
$Statistika = GUICtrlCreateButton("Статистика",155,235)
; Непонятно как получить событие с кнопки на которую нельзя нажать!!!
GUICtrlSetOnEvent($Statistika,"_Statistika")
; КУЛЬМИНАЦИЯ!!! ВЫЗОВ ФУНКЦИИ!!!
Statinfo()
; И что ваш код делает, объясните? Лично я не пойму!!!
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Статистика нажатий на кнопку:", 328, 202, 192, 114)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$Button1 = GUICtrlCreateButton("Статистика", 126, 88, 75, 25)
GUICtrlSetOnEvent(-1,"_Statistika")
GUISetState(@SW_SHOW)
Global $Counter = 0
While 1
Sleep(30)
WEnd
Func _Statistika()
$Counter += 1
IniWrite("Setting.ini","Statistika","Count",$Counter)
$Counter = IniRead("Setting.ini","Statistika","Count","default")
WinSetTitle("Статистика нажатий на кнопку:", "", "Статистика нажатий на кнопку: "& $Counter)
EndFunc
Func _Exit()
If @GUI_CtrlId = $GUI_EVENT_CLOSE Then
GUICtrlDelete($Form1)
ConsoleWrite(StringFormat("Статистика нажатий: %s\n", $Counter))
Exit
EndIf
EndFunc