Рефераты. Функциональные модели универсального нейрокомпьютера

3.     Первые четыре символа строки CompName составляют слово File. Остальная часть строки содержит имя компонента и после пробела имя файла, содержащего компонент.

4.     Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 102 –  ошибка чтения задачника. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.

2.4.1.2.   Записать задачник (tbWrite)

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

Pascal:

Function tbWrite( CompName, FileName : PString) : Logic;

C:

Logic tbWrite(PString CompName, PString FileName)

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

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

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

Назначение – сохраняет задачник в файле.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если в момент получения запроса отсутствует считанный задачник, то возникает ошибка 101 – запрос при отсутствии задачника, управление передается обработчику ошибок, а обработка запроса прекращается.

3.     Задачник записывается в файл FileName под именем CompName.

4.     Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 103 –  ошибка записи задачника. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.

2.4.1.3.   Закрыть задачник (tbDelete)

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

Pascal:

Function tbDelete : Logic;

C:

Logic tbDelete()

Назначение – удаляет из памяти ранее считанный задачник.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если есть открытые сеансы, то возникает ошибка 105 – закрытие задачника при открытых сеансах. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3.     Задачник закрывается. Запрос успешно завершается.

2.4.2.                       Начало и конец сеанса

К этой группе запросов относятся два запроса, открывающие и закрывающие сеансы работы с задачником.

2.4.2.1.   Начало сеанса (InitSession)

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

Pascal:

Function InitSession( NewColor : Color; Oper : Integer; Var Handle: Integer ) : Logic;

C:

Logic InitSession(Color NewColor, Integer Oper, Integer* Handle)

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

NewColor – цвет для отбора примеров задачника в текущую выборку.

Oper – операция для отбора в текущую выборку. Должна быть одной из констант CEqual, CIn, CInclude, Cxclude, CIntersect

Handle – номер сеанса. Начальное значение не важно. В этом аргументе возвращается номер сеанса.

Назначение – начинает сеанс. Отбирает текущую выборку.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если аргумент Oper является недопустимым, то возникает ошибка 106 – недопустимый код операции при открытии сеанса, управление передается обработчику ошибок. Сеанс не открывается. Возвращается значение ложь.

3.     Создается новый сеанс (в одно-сеансовых задачниках просто инициируется сеанс). Номер сеанса заносится в аргумент Handle.

4.     Значения аргументов NewColor и Oper сохраняются во внутренних переменных задачника

5.     Указателю текущего примера присваивается состояние «до первого примера»

6.     InitSession := Next(Handle) – результат выполнения запроса совпадает с результатом выполнения вызванного запроса «Следующий пример».

2.4.2.2.   Конец сеанса (EndSession)

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

Pascal:

Procedure EndSession( Handle : Integer );

C:

void EndSession(Integer Handle)

Назначение – закрывает сеанс.

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

Handle – номер сеанса.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если аргумент Handle не корректен возникает ошибка 107 – неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3.     Освобождается вся память, взятая для выполнения сеанса. После этого сеанс завершается.

2.4.3.                       Перемещение по примерам

В эту группу запросов входят запросы позволяющие управлять положением текущего указателя в текущей выборке.

2.4.3.1.   В начало (Home)

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

Pascal:

Function Íîìå( Handle : Integer ) : Logic;

C:

Logic Íîìå(Integer Handle)

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

Handle – номер сеанса.

Назначение – делает текущим первый пример текущей выборки.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если аргумент Handle не корректен возникает ошибка 107 – неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3.     Указателю на текущий пример присваивается значение «до первого примера»

4.     Home := Next(Handle) – результат выполнения запроса совпадает с результатом выполнения вызванного запроса «Следующий»

2.4.3.2.   В конец (End)

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

Pascal:

Function End( Handle : Integer ) : Logic;

C:

Logic End(Integer Handle)

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

Handle – номер сеанса.

Назначение – делает текущим последний пример текущей выборки.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если аргумент Handle не корректен возникает ошибка 107 – неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3.     Указателю на текущий пример присваивается значение «после последнего примера»

4.     Home := Prev(Handle) – результат выполнения запроса совпадает с результатом выполнения вызванного запроса «Предыдущий»

2.4.3.3.   Следующий (Next)

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

Pascal:

Function Next( Handle : Integer ) : Logic;

C:

Logic Next(Integer Handle)

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

Handle – номер сеанса.

Назначение – делает текущим следующий пример текущей выборки.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если аргумент Handle не корректен возникает ошибка 107 – неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3.     Если значение указателя равно «после последнего примера», то возникает ошибка 108 – переход за конечную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь.

4.     Если значение указателя текущего примера равно «до первого примера», то присваиваем указателю адрес первого примера задачника. Если адрес в переменной в задачнике нет примеров, то возникает ошибка 108 – переход за конечную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь. В противном случае переходим к шагу 6

5.     Указатель перемещается на следующий пример задачника. Если следующего примера задачника нет, то указателю присваивается значение «после последнего примера».

6.     Переходим к шагу 5, если не верно условие:

((GetColor Oper NewColor) And Last,

где Oper и NewColor – аргументы запроса InitSession, которым был открыт данный сеанс.

7.     Next := Not Last (Переход к следующему примеру завершился удачно, если указатель не установлен в значение «после последнего примера»).

2.4.3.4.   Предыдущий (Prev)

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

Pascal:

Function Prev( Handle : Integer ): Logic;

C:

Logic Prev(Integer Handle)

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

Handle – номер сеанса.

Назначение – делает текущим предыдущий пример текущей выборки.

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

1.     Если Error <> 0, то выполнение запроса прекращается.

2.     Если аргумент Handle не корректен возникает ошибка 107 – неверный номер сеанса. Управление передается обработчику ошибок. Выполнение запроса прекращается.

3.     Если значение указателя равно «до первого примера», то возникает ошибка 109 – переход за начальную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь.

4.     Если значение указателя равно «после последнего примера», то присваиваем указателю адрес последнего примера задачника. Если в задачнике нет примеров, то возникает ошибка 109 – переход за начальную границу текущей выборки, и управление передается обработчику ошибок. В случае возврата управления в запрос, происходит немедленный выход из запроса с возвращением значения ложь.

5.     В противном случае шаг 7.

6.     Указатель перемещается на предыдущий пример задачника. Если предыдущего примера задачника нет, то указателю присваивается значение «до первого примера».

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.