Что нового

Скрытие элементов в цикле

Talany

Знающий
Сообщения
136
Репутация
11
Здравствуйте

Подскажите пожалуйста как в цикле скрыть различные элементы

напримар
Код:
#include <GUIConstants.au3>
GUICreate("GUI окно", 795, 595)
GUISetState (@SW_SHOW)
$1 = GUICtrlCreateCombo("", 50, 55, 110, 150)
GUICtrlSetData(-1, "CPU|Cd-rom|HDD|DDR", "CPU")
$2 = GUICtrlCreateLabel("абвгде...", 50, 100)
$3 = GUICtrlCreateInput("", 50, 155, 235, 21)
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            ExitLoop
    EndSwitch
WEnd


Как допустим при какомто условии
Код:
If ....   Then
скрыть все переменные от $1 до $100

Возможно ли создать переменные в цикле (например $1-$15 и т.д) с содержанием 0
Заранее благодарю...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
чем создавать 100 переменных, лучше создать один массов из 100 элементов (с) неизвестный мыслитель ;D
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Kaster сказал(а):
чем создавать 100 переменных, лучше создать один массов из 100 элементов (с) неизвестный мыслитель ;D

С массивом конечно легче токо как потом скрыть не все его части???или как скрыть его полностью???
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Talany
я тебя и так с трудом понимал, теперь и вовсе перестал.
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Kaster сказал(а):
Talany
я тебя и так с трудом понимал, теперь и вовсе перестал.
Как скрыть весь массив (каждый его индекс)
допустим массив

Код:
$array[1][5] = абвгде
$array[1][1] = ёжзиклмн


Как его скрыть
Код:
ControlHide('','',$array[1][*])
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Как-то так, наверное:
Код:
#include <GUIConstants.au3>
GUICreate("GUI окно", 795, 595)
GUISetState (@SW_SHOW)
$1 = GUICtrlCreateCombo("", 50, 55, 110, 150)
GUICtrlSetData(-1, "CPU|Cd-rom|HDD|DDR", "CPU")
$2 = GUICtrlCreateLabel("абвгде...", 50, 100)
$3 = GUICtrlCreateInput("", 50, 155, 235, 21)
GuiHide()
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            ExitLoop
		Case $1
			$selected = GUICtrlRead($1)            
            Switch $selected
				Case "CPU"
					GuiHide()
                    GUICtrlSetState ( $2, $GUI_SHOW)
                Case "Cd-rom"
                    GuiHide()
                    GUICtrlSetState ( $3, $GUI_SHOW)
                Case "HDD"
                    GuiHide()
					GUICtrlSetState ( $2, $GUI_SHOW)
                    GUICtrlSetState ( $3, $GUI_SHOW)
                Case "DDR"
                    GuiHide()
			EndSwitch 		
	EndSwitch		
WEnd

Func GuiHide()
	GUICtrlSetState ( $2, $GUI_HIDE)
	GUICtrlSetState ( $3, $GUI_HIDE)
EndFunc
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Код:
#include <GUIConstants.au3>
GUICreate('Test')

Dim $aInput[5]

For $i = 0 To 4
	$aInput[$i] = GUICtrlCreateInput('Input N. ' & $i, 10, $i*30+10, 100, 20)
Next

$iButtonShow = GUICtrlCreateButton('Show', 120, 10, 100, 20)
$iButtonHide = GUICtrlCreateButton('Hide', 120, 40, 100, 20)

GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit

		Case $iButtonShow
			For $iInput In $aInput
				GUICtrlSetState($iInput, $GUI_SHOW)
			Next

		Case $iButtonHide
			For $i = 0 To UBound($aInput)-1
				GUICtrlSetState($aInput[$i], $GUI_HIDE)
			Next
	EndSwitch
WEnd
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Kaster сказал(а):
чем создавать 100 переменных, лучше создать один массов из 100 элементов...

Kaster, ты не понял сути. $1-$100 ведь намного приятнее...
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Talany [?]
Как скрыть весь массив
:wacko: Так не используй его вовсе! Массив он массив, он не выводится на дисплей! Можно вывести его значения! Выбери нужное значение, остальные игнорируй!
P.S. Или я чего-то не понимаю? :-\
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Garrett сказал(а):
Talany [?]
Как скрыть весь массив
:wacko: Так не используй его вовсе! Массив он массив, он не выводится на дисплей! Можно вывести его значения! Выбери нужное значение, остальные игнорируй!
P.S. Или я чего-то не понимаю? :-\

Вы не до конца поняли..

У меня в массив собирается разная инфа и выводится в GUI окне
Мне надо было сделать так чтобы при определенном действии весь массив скрывался...

Код:
For $i = 0 To UBound($aInput)-1
          GUICtrlSetState($aInput[$i], $GUI_HIDE)
 Next


.... из примера dwerf :IL_AutoIt_1:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
OffTopic:
Talany
скажу только одно. у тебя в голове щас огромная каша из терминов и подразумеваешь ты не то, что пишешь, потому как пишешь в основном бредовые неправильные или неуместные вещи :smile:.
и еще, будь добр, изучи справку. там все это разжевано.
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Kaster сказал(а):
OffTopic:
Talany
скажу только одно. у тебя в голове щас огромная каша из терминов и подразумеваешь ты не то, что пишешь, потому как пишешь в основном бредовые неправильные или неуместные вещи :smile:.
и еще, будь добр, изучи справку. там все это разжевано.

Просто сложно писать сразу и на AutoIt и на PHP+Mysql (php по работе, AutoIt для себя(облегчение работы ))
А что делать? "Хочеш жить умей вертется"
 
Верх