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 можно здесь