PageInt.Dll V. 2.16 Все права собственности принадлежат: Igor Vaskov Идея и алгоритм: Igor Vaskov
Эта библиотека разработана для обеспечения взаимодействия с пейджинговыми системами NUCLON и CRUSO (PageLink Technology), OpenPage (Комплексные Системы Связи) и GRANIT (Igor Vaskov). Интерфейс обращения стандартизирован. Программисту не нужно изучать особенности каждой системы, достаточно вызвать функции библиотеки с набором параметров и настроить файл конфигурации под используемую СПРВ.
Библиотека обеспечивает:
Конфигурационный файл PageInt.Dll:
SWAPDIR X:\NUCLON\GATE\ - Полученные сообщения по номеру пейжера CAPSWAPDIR X:\NUCLON\TNPP\OUT\ - Полученные сообщения по Cap-Code (TNPP) INPUTDIR X:\NUCLON\TNPP\IN\ - Сообщения от пейджинговой системы (TNPP) 13FLG YES - Сервисный параметр TYPEID 0 - Тип пейджинговой системы для обмена сообщениями 0 - Nuclon 8.3+ 1 - OpenPage 2 - GRANIT 3 - Nuclon (ранние версии) PARAMETRS M - Используется для системы GRANIT TYPEREQ 0 - Тип пейджинговой системы для запроса валидности номера пейджера 0 - Nuclon 8.3+ 1 - OpenPage 2 - GRANIT 3 - Nuclon (ранние версии)
Интерфейс PageInt.Dll:
Type TMessageRec = Packed Record ID : String[12]; HoldTime : String[40]; Msg : PChar; Cove : Word; Passw : String[12]; Rep,Del,CP : Byte; RemIP : String[40]; RemHst : String; End; TMessageAllRec = Packed Record CapCode : String[21]; TPage : Char; FCode : Char; RFChannel : Char; RFZone : Char; Msg : array[0..2049] of Char; Cove : Word; Passw : String[21]; ID : String[21]; HoldTime : String[39]; CPage : Char; Rep,Del,CP : Byte; RemIP : String[79]; RemHst : String; Source : String[79]; SourceTemp : String[79]; End; PMessageAllRec = ^TMessageAllRec; //Отправляет сообщение по Cap-code и технической информации Function SendCAPPage(Resource : PChar; Msg : TMessageAllRec) : LongInt; //Недокументировано Function AfterSent(Msg : TMessageAllRec) : LongInt; //Отправляет сообщение по номеру пейджера // Возвращает 0 - пейджер найден // 1 - не найден // 2 - некорректный номер пейджера Function SendPage(Msg : TMessageRec; CurLogin, CurPassw : PChar; R,N : LongInt) : LongInt; //Проверяет валидность номера пейджера // Возвращает 0 - пейджер найден // 1 - не найден // 2 - некорректный номер пейджера // 100 - демоверсия библиотеки // отрецательный код ошибки Function SearchIDRequest(PagerID, xpassword : PChar; R,N : LongInt) : LongInt; //Читает PageInt.Cfg // Возвращает 0, если все нормально // -1, если не удалось открыть файл конфигурации Function ReadIni(ETC : PChar) : LongInt; //Закрывает сесиию //Возвращает 0, если все нормально. Function CloseInputMessage : LongInt; //Читает следующее сообщение в открытой сесии // Возвращает код возврата -2018 - нет сообщений в очереди // -2019 - сообщение обработано // Возвращает сообщение в структуре на которую был // передан указатель Msg Function NextInputMessage(Msg : PMessageAllRec) : LongInt; //Открытие сессии чтения сообщений от пейджинговой системы // Может быть открыта только ОДНА сесиия! // Возвращает код возврата -2018 - нет сообщений в очереди // -2019 - сообщение обработано // Возвращает сообщение в структуре на которую был // передан указатель Msg Function FirstInputMessage(Msg : PMessageAllRec) : LongInt; //Перекодировка русского языка // k = 1 - Win to Dos (Invers = false) // k = 2 - Win to Koi (Invers = false) // k = 3 - Dos to Koi (Invers = false) // k = 1 - Dos to Win (Invers = true) // k = 2 - Koi to Win (Invers = true) // k = 3 - Koi to Dos (Invers = trye) // Win - 1251 // Koi - 878 // Dos - 866 // Возвращает указатель на перекодированную строку Function DecodeRus(k : Byte; pstS : PChar; Invers : boolean) : PChar;
Для интеграции с Си поставляется библиотека PgIntWrp.dll. Это транслятор вызовов выполненый по модели Cdecl. Также в нескольких местах отличается способ передачи пераметров. Типы параметров, структур и назначение фукций аналогично PageInt.Dll. Интерфейс PgIntWrp.dll:
Function SendCAPPage(Resource : PChar; Msg : Pointer) : LongInt;cdecl; Function AfterSent(Msg : Pointer) : LongInt;cdecl; Function SendPage(Msg : Pointer; CurLogin, CurPassw : PChar; R,N : LongInt) : LongInt;cdecl; Function SearchIDRequest(x, xpassword : PChar; R,N : LongInt) : LongInt;cdecl; Function ReadIni(ETC : PChar) : LongInt;cdecl; Function CloseInputMessage : LongInt;cdecl; Function NextInputMessage(Msg : PMessageAllRec) : LongInt;cdecl; Function FirstInputMessage(Msg : PMessageAllRec) : LongInt;cdecl; Function DecodeRus(k : Byte; pstS : PChar; Invers : boolean) : PChar;cdecl;
Библиотека выпускается в 2-х исполнениях: OS/2 и WIN32 (Windows 95/98/NT/2000/XP). WIN32 версия имеет ограничения: не поддерживается запуск программы после приема сообщения; стоит 250$. Версия OS/2 распространяется бесплатно в составе DTMFD и SNPPD. Подробная документация и примеры использования стоит 50$.
Скачать библиотеку для операционной системы OS/2 можно здесь