Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Перевод из XML в формат Prognoz PlatformСодержание книги
Поиск на нашем сайте
Public Class WriteFile: Object _mb: IMetabase; _prob: IMetabaseObjectDescriptor;
Public Constructor Create(problemDescriptor: IMetabaseObjectDescriptor); Begin _mb:= problemDescriptor.Metabase; _prob:= problemDescriptor; End Constructor Create;
Public Sub CreateDoc; Var CrInfo: IMetabaseObjectCreateInfo; MObj: IMetabaseObject; Doc: IDocument; Begin CrInfo:= _mb.CreateCreateInfo; CrInfo.ClassID:= MetabaseObjectClass.KE_CLASS_DOCUMENT; CrInfo.Id:= GetNewId("New_" + _prob.Id); CrInfo.Name:= "Новый документ_" + _prob.Id; CrInfo.Parent:= _mb.Root; Doc:= _mb.CreateObject(CrInfo).Edit As IDocument; Doc.LoadFromFile("D:\Teterin AV\XML\OBJ2198.xml"); (Doc As IMetabaseObject).Save; End Sub CreateDoc;
Function GetNewId(IdObj: String): String; Var findResult: IMetabaseObjectDescriptor; Begin findResult:= _mb.FetchItemById(IdObj, _mb.Root.Key); If findResult <> Null Then Return GetNewId(IdObj + "_New"); End If; Return IdObj; End Function GetNewId;
End Class WriteFile;
Копирование задачи моделирование Public Const Key_Box = 2161; ID_Box = "MODELSPACE_TRANSFORMS";
Public Class ModelCopier: Object _mb: IMetabase; _ms: IMetabaseObjectDescriptor; _problem: IMetabaseObjectDescriptor;
Public Constructor Create(msDescriptor, problemDescriptor: IMetabaseObjectDescriptor); Begin _ms:= msDescriptor; _mb:= problemDescriptor.Metabase; _problem:= problemDescriptor; End Constructor Create;
Public Sub Execute; Var Prob: IMsProblem; MObj: IMetabaseObject; Meta: IMsMetaModel; Mode: IMsModel; metamodel, model: IMetabaseObjectDescriptor; i: Integer; id: IStringList; list: IMetabaseObjectDescriptors; s, s1, s2, m, m2, m3: String; Begin list:= _problem.Dependencies(True); s:= _mb.GenerateId(_problem.Id) + "_COPY"; m:= _problem.Name + "_COPY"; CopyObject(_problem, s, m); metamodel:= list.Item(0); s1:= _mb.GenerateId(metamodel.id) + "_COPY"; m2:= metamodel.Name + "_Копия"; list:= metamodel.Dependencies(True); CopyObject(metamodel, s1, m2); id:= New StringList.Create; For i:= 0 To list.Count - 1 Do model:= list.Item(i); s2:= _mb.GenerateId(model.id) + "_COPY"; m3:= model.Name + "_Копия"; id.Add(s2); CopyObject(model, s2, m3); End For;
MObj:= _mb.ItemByIdNamespace(s1, _ms.Key).Edit; Meta:= MObj As IMsMetaModel; Meta.CalculationChain.clear; MObj.Save; For i:= 0 To id.Count - 1 Do MObj:= _mb.ItemByIdNamespace(s1, _ms.Key).Edit; Meta:= MObj As IMsMetaModel; Mode:= _mb.ItemByIdNamespace(id.Item(i), _ms.Key).Edit As IMsModel; Meta.CalculationChain.AddModel(Mode); MObj.Save; End For; MObj:= _mb.ItemByIdNamespace(s, _ms.Key).Edit; prob:= MObj As IMsProblem; prob.MetaModel:= Meta; MObj.Save; End Sub Execute;
Function GetNewId(IdObj: String): String; Var findResult: IMetabaseObjectDescriptor; Begin findResult:= _mb.FetchItemById(IdObj, Key_Box); If findResult <> Null Then Return GetNewId(IdObj + "_COPY"); End If; Return IdObj; End Function GetNewId; Function GetNewName(NameObj: String): String; Var findResult: IMetabaseObjectDescriptor; Begin findResult:= _mb.FetchItemById(NameObj, Key_Box); If findResult <> Null Then Return GetNewName(NameObj + "_COPY"); End If; Return NameObj; End Function GetNewName;
Sub CopyObject(Des: IMetabaseObjectDescriptor; IdObj: String; NameObj: String); Var CInfo: IMetabaseObjectCopyInfo; Begin CInfo:= _mb.CreateCopyInfo; CInfo.Id:= GetNewId(des.Id + "_COPY"); CInfo.Name:= GetNewName(des.Name + "_Копия"); CInfo.WithData:= True; CInfo.NoSave:= False; CInfo.Assign:= True; CInfo.Destination:= _ms; CInfo.Source:= Des; _mb.CopyObject(CInfo); End Sub CopyObject; End Class ModelCopier; ПРИЛОЖЕНИЕ 2 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ Назначение программы Программный модуль предназначен для сохранения заранее оговоренных данных задачи моделирования в XML-файл, для использования в компании «Прогноз» сотрудниками отдела моделирования и прогнозирования.
|
||||
|
Последнее изменение этой страницы: 2017-01-19; просмотров: 263; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.248 (0.006 с.) |