Капитан Гугл
Искусственный Интеллект
(146199)
7 лет назад
FindComponent работает относительно долго.
Если нужно создать очень много кнопок - делай их динамическими, массивом. А еще лучше - делай их не кнопками, а одной картинкой, и отслеживай координаты нажатия.
Ну и
for i:=1 to 144 do
(чего-то там от (i+144)).Visible:= not (чего-то там от i).Visible;
"чего-то там" - думай сам, как тебе лучше, через FindComponent, массивом или еще как.
И не говорите зачем)))
Просто как сделать так чтобы когда виден 1-й имейдж, то будет не виден 145-й имейдж, если 2-й то 146-й и так до 288. Не писав что то типа
if image1.visible=true then image144.visible:=false;
image1.visible:=not(image144.visible);
image1.visible=image144.visible=false;
Так как это ооочень долго.
Я пытался использовать формулу, проверял на кнопках
var
o,i:integer;
begin
for o := 1 to 4 do
for i := 5 to 8 do
if tbutton(FindComponent('Button' + IntToStr(o))).visible=true then
tbutton(FindComponent('Button' + IntToStr(i))).visible:=false else
if tbutton(FindComponent('Button' + IntToStr(i))).visible=true then
tbutton(FindComponent('Button' + IntToStr(o))).visible:=false;
но робит вообще не так как надо, так как если хоть одна кнпока от 1-й до 4 видан то все от 5 до 8 станут невидимы.