Корректировка принадлежности элемента блоку

 

EDBLOCK P.i, N<номер блока>, <переменная результата>

 

где:

  • P.i – идентификатор точки положения курсора;
  • <метка> – идентификатор числовой переменной или числовая константа идентификатора блока графического объекта (1..65535)
  • <переменная результата> – переменная результата поиска:
  • 0 – нет,
  • 1 – да.

 

Оператор обеспечивает поиск по координатам точки ближайшего объекта в текущем сегменте графической базы и корректировку его идентификатора блока.

Оператор GETBLOCK позволяет запросить текущее значение идентификатора блока графического объекта.

Идентификаторы блоков графических объектов могут использоваться для организации связи графической и реляционной баз. Таблица реляционной базы должна иметь поле "номер блока". Программа, после запроса идентификатора блока графического объекта, может обратиться с запросом к реляционной базе для извлечения сведений, харектеризующих указанный объект.

 

Пример:

 

system sgr                          ! установка подсистем

system gps

system dog

grmode 1; grout 2

oldbase "CITY"                      ! открытие существующей базы

shelsegm p.1,p.2                    ! запрос оболочки сегмента

window x[p.1],y[p.1],x[p.2],y[p.2]  ! установка окна

view 0,0,1,1

clrview                             ! очистка окна

outsegm                             ! вывод содержимого сегмента

res = 0                             ! инициализация переменной результата

key = 0

BlockNum = 11                       ! инициализация переменной

repeat

  getpos p.3,key                    ! запрос координат курсора

  if key = 13 then

    EDBLOCK p.3,N.BlockNum,res      ! корректировка идент. блока

until key = 27

end

 

Примечание: данный оператор не поддерживается для графической базы СпрутКАД (sgb).

 

Подсистема DOG