TMappl.WriteMapObject

Модуль: Mappl
Класс: TMappl

Записать объект слоя карты

Объявление

function WriteMapObject(MOS: TMapObjectStructure;
	 flSaveSemantic: boolean = false;
	 refreshMapType: TRefreshMapType = rmtNone): integer;

Параметры

MOS
экземпляр класса структуры объекта
flSaveSemantic
флаг сохранения семантика (значений семантических полей) -
refreshMapType
тип отображения объекта в картографическом окне непосредственно после операции

Возвращает

-2
нет прав на добавление стиля в системное пространство
-1
слой не найден или ошибка записи
иначе
уникальный индекс сохраненного объекта слоя

Описание

Все параметры записываемого объекта, включая код слоя, уникальный индекс объекта, тип и уникальный идентификатор стиля должны быть заданы в экземпляре класса структуры объекта MOS, при этом если уникальный индекс объекта (oIndex) и уникальный идентивикатор (oMUID) равны -1 , то создается новый объект, если уникальный индекс объекта (oIndex) равен -1, а уникальный идентивикатор (oMUID) задан, то объект будет записан по уникальному идентивикатору. Если уникальный идентификатор стиля объекта равен -1, то берется первый стиль слоя, соответствуюший типу объекта. список семантических полей, значения которых должны быть записаны для объекта, должен находиться в свойстве FieldList объекта MOS, а их значения - в свойстве ValueList объекта MOS, для пустых полей значение свойства "Object" соответствующего элемента должно быть равно TObject(1); для сихронного заполнения списка полей и их значений можно использовать метод SetFieldValue объекта MOS/

Пример

     var
       MOS: TMapObjectStructure;
       lCode: integer;
       oIndex: integer;
       oType: integer;
       oStyleID: int64;
       Count: integer;
       i0,i1,Count: integer;
       ofl: word;
       x,y: double;
     begin
       MOS:=TMapObjectStructure.Create;
       lCode:=99;
       oType:=0                    // площадной объект
       oStyleID:=123456789         // ID стиля>;
       ofl:=0;
       oIndex:=2;                  // Для ввода нового объекта oIndex:=-1;
       MOS.AddSubObject(3);
       MOS.AddVertex(0,100,100);
       MOS.AddVertex(0,200,100);
       MOS.AddVertex(0,200,200);
       MOS.AddSubObject(4);
       MOS.AddVertex(0,300,300);
       MOS.AddVertex(0,300,400);
       MOS.AddVertex(0,400,400);
       MOS.AddVertex(0,300,400);
       Mappl.WriteMapObject(MOS,lCode,oIndex,oType,oStyleID,ofl,false);
       MOS.Free;
     end;
  

Смотри также

ReadMapObject
Считать объект слоя карты
ReadMapObjectByConn
Считать объект слоя карты по соединению с сервером СУБД
WriteMapObject
Записать объект слоя карты
WriteMapObjectByConn
Записать объект слоя карты по соединению с сервером СУБД
AddSubObjectToMapPointObject
Добавить подобъект к точечному объекту
AddFieldNameToFieldListWithType
Добавить имя поля в список синхронно заполнив его тип