Показать/скрыть объект

> [HTML Version](showhide.html)

Рассмотрим случай, когда нужно скрыть/показать какой-либо объект при изменении значения связанной с ним переменной. Для этого:

1. В свойстве "Переменная" объекта выбираем нужную переменную.

2. В инспекторе объектов переходим на вкладку "События" и дважды кликаем по событию "OnDataChange" (изменилось значение переменной связанной с объектом).

Важно\! Если необходимо управлять свойствами множества однотипных объектов по одинаковым условиям, то рекомендуется написать один [универсальный](script-types.md) скрипт(см. примеры ниже), тогда не нужно будет писать отдельный скрипт для каждого объекта, что значительно ускорит разработку проекта, а также повысит скорость его работы. 

**Примеры скриптов**

**(./images/tog_code_1.png) 1. Простой скрипт**

````
begin  
  if Image1.AsInt = 1 then   // если значение переменной изображения = 1, то    
    Image1.Visible := True   // показать изображение  
  else                       // иначе  
    Image1.Visible := False; // скрыть изображение  
end.
````

````
**(./images/tog_code_1.png) 2. Универсальный скрипт (можно применить к любому объекту)**

````
begin  
  if Sender is TM\_Object then    // проверяем, что Sender это объект  
    with Sender as TM\_Object do  // приводим Sender к типу "TM\_Object"  
      if AsInt = 1 then          // если значение переменной объекта = 1  
        Visible := True          // показать объект  
      else                       // иначе  
        Visible := False;        // скрыть объект  
end.
````

---

````
Универсальный скрипт можно применить к любому объекту, для этого требуется:

1. Выделить необходимый объект(или множество объектов) и через инспектор объектов перейти на вкладку "События".

2. В свойстве "OnDataChange" выбрать из списка наш созданный скрипт - он привяжется ко всем выделенным объектам.

3. Не забыть связать объект(объекты) с нужной переменной.

4. В дальнейшем, при необходимости можно копировать однотипные объекты и только менять у них переменную.

Теперь все объекты, у которых в событии "OnDataChange" выбран универсальный скрипт будут работать в соответствии с условиями скрипта.