понедельник, 6 апреля 2015 г.

Описание API вызова библиотеки Antiplagiat.DLL

Данная библиотека (далее DLL) предначена для проверки уникальности текста в процентах с точностью до двух знаков после запятой и получения дополнительной информации о результатах проверки на уникальность с возможностью выдачи диагностической информации по запросу (коды ошибок см. ниже). DLL предоставляет универсальный доступ для других приложений вне зависимости от языка в среде Win All. Для использования DLL в своих проектах соблюдайте соглашение об stdcall-вызовах. Тип соглашения о вызове объявляется после прототипа функции, будь то объявление функционального типа или же объявление функции.


Cистемные требования и зависимости:
  1. ОС: Windows
  2. Ключ в сервисе http://api.text.ru и ненулевой баланс на счету.
Таблица расшифровок параметров экспортируемой процедуры 'checktext()' библиотеки 'antiplagiat.DLL':



Пример динамического подключения (Delphi 6/7/2006/2009/2010/TDL/XE5):
var checktext:procedure(text,            // контент
                    key: pansichar;  // ключ
                    var text_unique, // уникальность текста в процентах с точностью до 2 знаков после запятой;
                    result_json,     // дополнительная информация о результатах проверки на уникальность в формате json. Структура json-ответа расшифрована ниже.
                    spell_check,     // дополнительная информация о результатах проверки на правописание в формате json.
                    seo_check,       // дополнительная информация о результатах проверки на SEO-анализ в формате json.
                    error_code,      // код ошибки
                    error_desc:      // описание ошибки
                    pansichar); stdcall; sLibHandle: THandle;


function LinkProc(h: thandle; ProcName: string):Pointer;
begin
 result:= GetProcAddress(h, PChar(ProcName))
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 // подключаем DLL запроса статуса
 sLibHandle:= LoadLibrary('antiplagiat.dll');
 if sLibHandle <> 0 then
  checktext := LinkProc(sLibHandle, 'checktext')
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 if sLibHandle <> 0 then
  freelibrary(sLibHandle)
end;

procedure TForm1.Button2Click(Sender: TObject);
var text_unique,
    result_json,  
    spell_check,   
    seo_check,     
    error_code,  
    error_desc: 
    pansichar;
begin
 memo2.Clear;

 checktext(memo1.Lines.GetText,     // контент
           pansichar(edit1.Text),    // ключ
           text_unique,             // уникальность текста в процентах
           result_json,             // информация о результатах проверки на уникальность
           spell_check,             // информация о результатах проверки на правописание
           seo_check,               // информация о результатах проверки на SEO-анализ
           error_code,              // код ошибки
           error_desc);             // описание ошибки

 memo2.Lines.Add(text_unique);
 memo2.Lines.Add(error_code);
 memo2.Lines.Add(error_desc);
end;
Возможные коды ошибок сервера:
  1.   10, 110:  'Отсутствует проверяемый текст';
  2.   45, 145:  'Ошибка сервера. Попробуйте позднее';
  3.   11, 111:  'Ошибка сервера. Попробуйте позднее';
  4.   50, 150:  'Шинглов не найдено. Возможно текст слишком короткий';
  5.   12, 112:  'Проверяемый текст слишком короткий';
  6.   60, 160:  'Отсутствует проверяемый uid текста';
  7.   13, 113:  'Проверяемый текст слишком большой. Разбейте текст на несколько частей';
  8.   61, 161:  'Uid текста пустой';
  9.   20, 120:  'Отсутствует пользовательский ключ';
  10.   70, 170:  'Отсутствует пользовательский ключ';
  11.   21, 121:  'Пользовательский ключ пустой';
  12.   71, 171:  'Пользовательский ключ пустой';
  13.   40, 140:  'Ошибка доступа на сервере. Попробуйте позднее';
  14.   80, 180:  'Текущая пара ключ-uid отсутствует в базе';
  15.   41, 141:  'Несуществующий пользовательский ключ';
  16.   81, 181:  'Текст ещё не проверен';
  17.   42, 142:  'Нехватка баланса';
  18.   82, 182:  'Текст проверен с ошибками. Деньги будут возвращены';
  19.   43, 143:  'Ошибка при передаче параметров на сервере. Попробуйте позднее';
  20.   83, 183:  'Ошибка сервера. Попробуйте позднее';
  21.   44, 144:  'Ошибка сервера. Попробуйте позднее'.
скачать


Комментариев нет:

Отправить комментарий

В комментариях уважайте собеседника, внимательно читайте посты и не додумывайте. Просьбы и предложения из разряда: «можно ваш Skype/Viber/телефон», «напишите мне в vk/FB», а также другие им подобные — игнорируются. Выход новых версий ПО, внешняя ссылка, переставшая работать с течением времени и т.п. не является основанием для претензий. Желающие спокойно подискутировать и высказаться — Welcome. Желающие спонсировать блог — Donate. Нарушение этих простых правил ведет к бану и удалению комментариев без предупреждения.