Читаем Учебное пособие по курсу «Нейроинформатика» полностью

1. Если в качестве аргумента CompName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя компонента и после пробела имя файла, содержащего компонента. В противном случае считается, что аргумент CompName содержит указатель на область памяти, содержащую описание компонента в формате для записи на диск. Если описание не вмещается в одну область памяти, то допускается включение в текст описания компонента ключевого слова Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.

2. Экземпляр компонента считывается из файла или из памяти и добавляется первым в список компонентов (становится текущим).

3. Если считывание завершается по ошибке, то возникает ошибка n02 — ошибка считывания компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

Удаление экземпляра компонента (xxDelete)

Описание запроса:

Pascal:

Function xxDelete(CompName: PString): Logic;

C:

Logic xxDelete(PString CompName)

Описание аргумента:

CompName — указатель на строку символов, содержащую полное имя компонента.

Назначение — удаляет указанного в параметре CompName компонента из списка компонентов.

Описание исполнения.

1. Если список компонентов пуст или имя компонента, переданное в аргументе CompName, в этом списке не найдено, то возникает ошибка n01 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

Заметим, что попытка удаления младшей структурной единицы приводит к удалению всего компонента содержащего данную структурную единицу.

Запись компонента (xxWrite)

Описание запроса:

Pascal:

Function xxWrite(CompName: PString; FileName: PString): Logic;

C:

Logic xxWrite(PString CompName, PString FileName)

Описание аргументов:

CompName — указатель на строку символов, содержащую имя компонента.

FileName — имя файла или адрес памяти, куда надо записать компонента.

Назначение — сохраняет в файле или в памяти компонента, указанного в аргументе CompName.

Описание исполнения.

1. Если в качестве аргумента CompName дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является текущий компонент.

2. Если список компонентов пуст или имя компонента, переданное в аргументе CompName, в этом списке не найдено, то возникает ошибка n01 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

3. Если в качестве аргумента FileName дана строка, первые четыре символа которой составляют слово File, то остальная часть строки содержит имя файла, для записи компонента. В противном случае FileName должен содержать пустой указатель. В этом случае запрос вернет в нем указатель на область памяти, куда будет помещено описание компонента в формате для записи на диск. Если описание не вмещается в одну область памяти, то в текст будет включено ключевое слово Continue, за которым следует четыре байта, содержащие адрес следующей области памяти.

4. Если во время сохранения компонента возникнет ошибка, то генерируется ошибка n03 — ошибка сохранения компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

Вернуть имена структурных единиц (xxGetStructNames)

Описание запроса:

Pascal:

Function xxGetStructNames(CompName: PString; Var Names: PRealArray): Logic;

C:

Logic xxGetStructNames(PString CompName, RealArray* Names)

Описание аргументов:

CompName — указатель на строку символов, содержащую имя компонента или полное имя его структурной единицы.

Names — массив указателей на имена структурных единиц.

Назначение — возвращает имена всех компонентов в списке компонентов или имена всех структурных единиц структурной единицы, указанной в аргументе CompName.

Описание исполнения.

1. Если в качестве аргумента CompName дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является соответствующий программный компонент. В качестве ответа в указателе Names возвращается массив, каждый элемент которого является указателем на не подлежащую изменению символьную строку, содержащую имя компонента из списка. После адреса имени последнего компонента следует пустой указатель. Выполнение запроса успешно завершается.

2. Если имя компонента, переданное в аргументе CompName, не найдено в списке компонентов, то возникает ошибка n01 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

Перейти на страницу:

Похожие книги