Чтение онлайн

на главную

Жанры

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

Миркес Е. М.

Шрифт:

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

Запись компонента (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 — неверное имя компонента, управление передается обработчику ошибок, а обработка запроса прекращается.

3. Возвращается

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

Вернуть тип структурной единицы (xxGetType)

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

Pascal:

Function xxGetType(CompName, TypeName: PString; Var TypeId: Integer): Logic;

C:

Logic xxGetType(PString CompName, PString TypeName, Integer TypeId)

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

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

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

TypeId — одна из предопределенных констант, соответствующая типу структурной единицы.

Назначение — возвращает имя и тип структурной единицы.

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

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

2. В переменной TypeId возвращается тип структурной единицы. Значения предопределенных констант, соответствующих различным типам структурных единиц различных компонентов приведены в табл. 11 и в соответствующих разделах, содержащих описания компонентов.

3. Если структурная единица является стандартной, то указателю TypeName присваивается значение пустого указателя. Если структурная единица имеет пользовательский тип (значение аргумента TypeId равно –1), то указатель TypeName устанавливается на строку, содержащую имя, данное указанной в аргументе CompName структурной единице при ее описании.

Запросы на изменение параметров

К группе запросов на изменение параметров относятся три запроса: xxGetData — получить параметры структурной единицы. xxGetName — получить названия параметров и xxSetData — установить значения параметров структурной единицы.

Получить параметры (xxGetData)

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

Pascal:

Function xxGetData(CompName: PString; Var Param: PRealArray): Logic;

C:

Logic xxGetData(PString CompName, PRealArray* Param)

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

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

Param — адрес массива параметров.

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

Поделиться:
Популярные книги

Дайте поспать!

Матисов Павел
1. Вечный Сон
Фантастика:
юмористическое фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Дайте поспать!

Инкарнатор

Прокофьев Роман Юрьевич
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Инкарнатор

Холодный ветер перемен

Иванов Дмитрий
7. Девяностые
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Холодный ветер перемен

Брак по-драконьи

Ардова Алиса
Фантастика:
фэнтези
8.60
рейтинг книги
Брак по-драконьи

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Авиатор: назад в СССР 14

Дорин Михаил
14. Покоряя небо
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Авиатор: назад в СССР 14

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Возвышение Меркурия. Книга 14

Кронос Александр
14. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 14

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит

Титан империи 3

Артемов Александр Александрович
3. Титан Империи
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Титан империи 3

Два лика Ирэн

Ром Полина
Любовные романы:
любовно-фантастические романы
6.08
рейтинг книги
Два лика Ирэн

Неожиданный наследник

Яманов Александр
1. Царь Иоанн Кровавый
Приключения:
исторические приключения
5.00
рейтинг книги
Неожиданный наследник