Что нового

Случайное затирание переменной при работе скрипта

Автор
M

mmsgeorge

Новичок
Сообщения
96
Репутация
0
inververs
Ну я погорячился! прошу прощения) Но вправду, я и так маюсь уже 3 дня :stars:, тут наоборот помощь нужна! Ведь не всегда легкий путь, значит верный!
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
OffTopic:
mmsgeorge
Какая неадекватность?! Вы видимо не понимаете значение этого слова!
Прошу вас впредь не играться репутацией.
 
Автор
M

mmsgeorge

Новичок
Сообщения
96
Репутация
0
Garrett
Что можешь сказать по скрипту? У тебя было время посмотреть, что я скинул?


Добавлено:
Сообщение автоматически объединено:

Garrett
OffTopic:
просто реально зачем было то писать? какой толк оно несет.. Если я занялся этим, значит знаю зачем.. Я стараюсь на сколько могу и все начинали с озов, чем тяжелее задача , тем большему мы учимся.. Поэтому такая и реакция была у меня.. ну если человек не знает как сделать, зачем писать на кой оно мне, ведь раз я решился, то мне это надо.. Репутацию, согласен, зря я поставил.. Но человек, гуру autoit и пишет такие вещи.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
mmsgeorge [?]
Что можешь сказать по скрипту?
Нечего. Я не понимаю вашей задумки.
все начинали с озов
Вот именно.
чем тяжелее задача
Тем лично мне интереснее и я прикладываю максимум своего мозгового усилия чтобы её решить.
ну если человек не знает
Уверен знает. Однако напрашивается вопрос: кому это надо?
Отсюда и ответы, наводящие вас в нужное русло.
 
Автор
M

mmsgeorge

Новичок
Сообщения
96
Репутация
0
:mad:


Добавлено:
Сообщение автоматически объединено:

Заработало как надо , пока из 100 кликов, глюков не заметил. :blum:
Было так
Код:
AdlibRegister("zakritie_vibora_mesaca", 50)
, сделал так
Код:
AdlibRegister("zakritie_vibora_mesaca", 10)
, то есть с 50 поменял на 10. Думаю это одно из решений проблемы.. Так как, раз уменьшил с 50, до 10, то возросла нагрузка получается на процессор, не знаю, значительно ли..
Какое ваше мнение?


Добавлено:
Сообщение автоматически объединено:

Вот сами функции -
Код:
Func zakritie_vibora_mesaca()
	If _IsPressed("01") Then
		If $proverka_nagatiya_mes = 0 And WinGetHandle("[ACTIVE]", "") <> $Okno_Mesac And WinGetHandle("[ACTIVE]", "") <> $Ok_Mesac Then
			GUICtrlSetState($Button_Mesac, $GUI_SHOW)
			GUIDelete($Ok_Mesac)
			AdlibUnRegister("zakritie_vibora_mesaca")
			$proverka_nagatiya_mes = 1
		EndIf
	Else
		$proverka_nagatiya_mes = 0
	EndIf
EndFunc   ;==>zakritie_vibora_mesaca

Код:
Func zakritie_vibora_goda()
	If _IsPressed("01") Then
		If $proverka_nagatiya_god = 0 And WinGetHandle("[ACTIVE]", "") <> $Okno_God And WinGetHandle("[ACTIVE]", "") <> $Ok_God Then
			GUICtrlSetState($Button_God, $GUI_SHOW)
			GUIDelete($Ok_God)
			AdlibUnRegister("zakritie_vibora_goda")
			$proverka_nagatiya_god = 1
		EndIf
	Else
		$proverka_nagatiya_god = 0
	EndIf
EndFunc   ;==>zakritie_vibora_goda
 

StarEdik

Новичок
Сообщения
365
Репутация
4
Посмотрите такой вариант

Код:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>

;----------------------------------------------------------------
Global $okno_1 = GUICreate("qq11", 700, 300, -1, -1)
GUISetBkColor(0xCCCAAA)
Global $start = GUICtrlCreateButton("Нажми начало", 5, 5, 100, 30)
GUISetState(@SW_SHOW, $okno_1)
;----------------------------------------------------------------
Global $okno_2 = GUICreate("ww22", 250, 180, 100, 60, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_COMPOSITED, $okno_1)
GUISetBkColor(0xFFFAAA)
Global $new_okno = GUICtrlCreateButton("Потом новое окно", 0, 0, 120, 25)
GUISetState(@SW_SHOW, $okno_2)
;----------------------------------------------------------------
Global $okno_3 = GUICreate("#160", 250, 180, 370, 60, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_COMPOSITED, $okno_1)
GUISetBkColor(0xE0FFFF)
Global $prosto_knopka = GUICtrlCreateButton("меню", 0, 0, 50, 25)
GUISetState(@SW_HIDE, $okno_3)
;----------------------------------------------------------------
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $new_okno
			GUISetState(@SW_SHOW, $okno_3)
			GUISetState(@SW_HIDE, $okno_2)
		Case $prosto_knopka
			GUISetState(@SW_HIDE, $okno_3)
			GUISetState(@SW_SHOW, $okno_2)
		Case Else
			_cc()
    EndSwitch
WEnd

Func _cc()
	If _IsPressed("01") And WinGetTitle("[ACTIVE]") <> '#160' Then
		GUISetState(@SW_HIDE, $okno_3)
		GUISetState(@SW_SHOW, $okno_2)
	EndIf
EndFunc   ;==>_cc
 
Автор
M

mmsgeorge

Новичок
Сообщения
96
Репутация
0
Вот что хотел! http://vimple.co/bfe3e74911364c9c8ced2de7c49dec05


Добавлено:
Сообщение автоматически объединено:

StarEdik
Благодарю! Как вариант! У меня правда весь проект через
Код:
Opt("GUIOnEventMode", 1)
сделан. А что означает #160?
 
Автор
M

mmsgeorge

Новичок
Сообщения
96
Репутация
0
StarEdik
вот что получилось. http://vimple.co/bfe3e74911364c9c8ced2de7c49dec05
 
Автор
M

mmsgeorge

Новичок
Сообщения
96
Репутация
0
StarEdik
Ну все гуд :smile: Если мой вариант где нибудь заглючит, перейду на ваш. А если ваш делать через
Код:
Opt("GUIOnEventMode", 1)
тоже придется через
Код:
AdlibRegister("zakritie_vibora_mesaca", 10)
??
 

StarEdik

Новичок
Сообщения
365
Репутация
4
Попробуй

Код:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>

Opt("GUIOnEventMode", 1)
;----------------------------------------------------------------
Global $okno_1 = GUICreate("qq11", 700, 300, -1, -1)
GUISetBkColor(0xCCCAAA)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $start = GUICtrlCreateButton("Нажми начало", 5, 5, 100, 30)
GUICtrlSetOnEvent($start, "ab")
GUISetState(@SW_SHOW, $okno_1)
;----------------------------------------------------------------
Global $okno_2 = GUICreate("ww22", 250, 180, 100, 60, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_COMPOSITED, $okno_1)
GUISetBkColor(0xFFFAAA)
Global $new_okno = GUICtrlCreateLabel("Потом новое окно", 0, 0, 120, 25)
GUICtrlSetBkColor(-1, 0xA6CAF0)
GUICtrlSetOnEvent($new_okno, "_bb")
GUISetState(@SW_SHOW, $okno_2)
;----------------------------------------------------------------
Global $okno_3 = GUICreate("#160", 250, 180, 370, 60, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_COMPOSITED, $okno_1)
GUISetBkColor(0xE0FFFF)
Global $prosto_knopka = GUICtrlCreateLabel("меню", 0, 0, 50, 25)

GUICtrlSetBkColor(-1, 0x00FFFF)
GUISetState(@SW_HIDE, $okno_3)
;----------------------------------------------------------------
AdlibRegister("_cc", 30)
While 1
	Sleep(300)
WEnd

Func _bb()
	GUISetState(@SW_SHOW, $okno_3)
	GUISetState(@SW_HIDE, $okno_2)
EndFunc   ;==>_bb

Func _cc()
	If _IsPressed("01") And WinGetTitle("[ACTIVE]") <> '#160' Then
		GUISetState(@SW_HIDE, $okno_3)
		GUISetState(@SW_SHOW, $okno_2)
	EndIf
EndFunc   ;==>_cc

Func _Exit()
	Exit
EndFunc   ;==>_dd
 
Верх