- •Краткое описание языка.
- •Цель этого описания состоит в том, чтобы объяснить вам удобство работы с
- •Новые Особенности
- •Интерфейс ms-Office
- •Привет Пролог
- •Краткий обзор
- •Использование Класса Java
- •Установка логического сервера
- •Запрос Пролога
- •Динамическая база данных
- •Преобразования следствия и терминов
- •Создание / получение типов Пролога
- •Структура управления
- •Управление параметрами для расширенных предикатов
- •Управления списками
- •Обработка ошибок
- •Компоненты Delphi
- •Краткий обзор
- •Использование Компонент
- •Осуществление расширенных предикатов
- •Типы логического сервера
- •Создание логического сервера
- •Расширенные Предикаты
- •Запросы Пролога
- •Динамическая база данных
- •Преобразования срок
- •Создание / получение Типов Пролога
- •Структуры управления
- •Списки управления
- •Ввод - вывод Пролога
- •Разные Функции
- •Осуществление Расширения Предикатов
- •Привет Пролог
- •Краткий обзор
- •Использование модуля
- •Осуществление расширения предикатов
- •Константы логического сервера
- •Логическая установка серверов
- •Расширение предикатов
- •Запрос Пролога
- •Динамическая база данных
- •Преобразования сроки
- •Создание / получение Типов Пролога
- •Структуры управления
- •Списки управления
- •Разные Функции
- •Заключение
Запрос Пролога
Запросы это функции, которые фактически вызывают предикаты в Прологе logicbase/program. Первый параметр, термин, всегда объединяется с результатом запроса. Функция Redo вводит backtracking, который повторно объединяет термин со следующим результатом.
ClearCall только полезен, если вы запускаете восстановленную петлю и не заканчиваете ее. Это очищает стек.
Function ExecLS (TermPtr As Long) as Boolean
Function ExecStrLS (TermPtr As Long, ByVal StrPtr) as Boolean
Function CallLS (TermPtr As Long) as Boolean
Function CallStrLS (TermPtr As Long, ByVal StrPtr As String) as Boolean
Function RedoLS () as Boolean
Sub ClearCallLS ()
Function GetCurrentEngineLS () as Long
Sub SetCurrentEngineLS (NewEngID as Long)
Эти функции основаны на функциях API lsExec, lsExecStr, lsCall, lsCallStr, lsRedo, и lsClearCall.
Динамическая база данных
Эти функции заставят облегчить работу с динамической базы данных Пролога.
Sub AssertaLS (ByVal Term As Long)
Sub AssertzLS (ByVal Term As Long)
Function RetractLS (ByVal Term As Long) as Boolean
Sub AssertaStrLS (ByVal StrPtr As String)
Sub AssertzStrLS (ByVal StrPtr As String)
Function RetractStrLS (ByVal StrPtr As String) as Boolean
Эти функции основаны на функциях API lsAsserta, lsAssertaStr, lsAssertz, lsAssertzStr, и lsRetract.
Преобразования сроки
Эти функции преобразовывают строки к терминам и терминам к строкам.
Sub TermToStrLS (ByVal Term As Long, StrPtr As String, ByVal StrLen As Integer)
Sub TermToStrQLS (ByVal Term As Long, StrPtr As String, ByVal StrLen As Integer)
Sub StrToTermLS (TermPtr As Long, ByVal StrPtr As String)
Эти функции основаны на функциях API lsTermToStr, lsTermToStrQ, и lsStrToTerm.
Создание / получение Типов Пролога
Эти функции отображают типы Пролога к и типов VB. Тип - определенные функции Get - VB дополнения.
Sub MakeAtomLS (TermPtr As Long, ByVal StrPtr As String)
Sub MakeStrLS (TermPtr As Long, ByVal StrPtr As String)
Sub MakeIntLS (TermPtr As Long, ByVal IntVal As Integer)
Sub MakeLongLS (TermPtr As Long, ByVal IntVal As Integer)
Sub MakeFloatLS (TermPtr As Long, ByVal FloatVal As Double)
Sub MakeAddrLS (TermPtr As Long, Ptr As Variant)
Function GetTermTypeLS (ByVal Term As Long) as Integer
Sub GetTermLS (ByVal Term As Long, ByVal BType As Integer, Ptr As Variant)
Function GetStrTermLS (ByVal Term As Long) As String
Function GetIntTermLS (ByVal Term As Long) As Integer
Function GetLongTermLS (ByVal Term As Long) As Long
Function GetFloatTermLS (ByVal Term As Long) As Double
Эти функции основаны на функциях API lsMakeAtom, lsMakeStr, lsMakeInt, lsMakeFloat, lsMakeAddr, lsGetTermType, и lsGetTerm.
Структуры управления
В этом Прологе управляющая структура функции позволяют вам создавать и удалять термины которые являются основной структурой. Это особенность полезна для получения различных параметров в запросе. В типовом примере, имеется запрос 'родной брат (Мэри, X)'. Функция GetStrArgLS может использоваться, чтобы получить второй параметр этой структуры, после того, как CallStrLS связал переменную.
Sub GetFALS (ByVal Term As Long, StrPtr As String, IntPtr As Integer)
Function GetFunctorLS (ByVal Term As Long) As String
Function GetArityLS (ByVal Term As Long) As Integer
Sub MakeFALS (Term As Long, ByVal Functor As String, ByVal Arity As Integer)
Function UnifyArgLS (TermPtr As Long, ByVal ArgNum As Integer, ByVal PType As Integer, ByVal Ptr As Variant) As Boolean
Function UnifyStrArgLS (TermPtr As Long, ByVal ArgNum As Integer, ByVal StrPtr As String) As Boolean
Function UnifyAtomArgLS (TermPtr As Long, ByVal ArgNum As Integer, ByVal StrPtr As String) As Boolean
Function UnifyIntArgLS (TermPtr As Long, ByVal ArgNum As Integer, ByVal IntVal As Integer) As Boolean
Function UnifyLongArgLS (TermPtr As Long, ByVal ArgNum As Integer, ByVal LongVal As Long) As Boolean
Function UnifyFloatArgLS (TermPtr As Long, ByVal ArgNum As Integer, ByVal FloatVal As Double) As Boolean
Sub GetArgLS (ByVal Term As Long, ByVal ArgNum As Integer, ByVal BType As Integer, Ptr As Variant)
Function GetStrArgLS (ByVal Term As Long, ByVal ArgNum As Integer) As String
Function GetIntArgLS (ByVal Term As Long, ByVal ArgNum As Integer) As Integer
Function GetLongArgLS (ByVal Term As Long, ByVal ArgNum As Integer) As Long
Function GetFloatArgLS (ByVal Term As Long, ByVal ArgNum As Integer) As Double
Function GetArgTypeLS (ByVal Term As Long, ByVal ArgNum As Integer) As Integer
Function StrArgLenLS (ByVal Term As Long, ByVal ArgNum As Integer) As Integer
Function UnifyLS (ByVal Term1 As Long, ByVal Term2 As Long) as Integer
Эти функции основаны на функциях API lsGetFA, lsMakeFA, lsUnifyArg, lsGetArg, lsGetArgType, lsStrArgLen, и lsUnify.