Кибор » Кибор - Интегрированная среда разработки ботов » Тестирование Кибор » Тестирование парсера JSON формата

Страниц (2): « 1 [2]
 

11. Kibor - 04 Июня, 2020 - 04:46:47 - перейти к сообщению
 Zireael пишет:
обращение к переменной text, а не объекту json

исправил
12. Zireael - 04 Июня, 2020 - 05:32:37 - перейти к сообщению
CODE:
#define CP_ACP 0
#define CP_UTF8 65001
#define CRYPT_STRING_HEXRAW 12
external(INT, "MultiByteToWideChar", "MultiByteToWideChar", "Kernel32.dll");
external(INT, "WideCharToMultiByte", "WideCharToMultiByte", "Kernel32.dll");
external(INT, "CryptBinaryToString", "CryptBinaryToStringA", "Crypt32.dll");

string api_key = "trnsl.1.1.20181207T020207Z.5ff9f307abbe30ca.683f64643665089eb5abe1625284bd866e378a1d"; // ключ
string rn=formatic(10)+formatic(13);


string Text = "Перевести этот текст на английский."; // текст, который надо перевести
string result = translate(api_key, "en", Text); // перевести на англ.
messagebox(result);

if(parserjson(Json, result)==1)
{
messagebox(Json.code + rn + Json.lang + rn + Json.text[0]); // тут нормально
}




function translate(string api_key, string lang, string text)
{
char c2[20000], c3[20000];
string s, text2;

// перевод из ansi в utf8
int count_symbol = MultiByteToWideChar(CP_ACP, 0, text, -1, address(#c2[0]), sizearray(c2)); // ansi в utf16
count_symbol=WideCharToMultiByte(CP_UTF8, 0, address(#c2[0]), count_symbol, address(#c3[0]), sizearray(c3), 0, 0); // utf16 в utf8

// перевод символов в HEX
int chString=sizearray(c2);
CryptBinaryToString(address(#c3[0]), count_symbol, CRYPT_STRING_HEXRAW, address(#c2[0]), address(#chString));
regexreplace(-1, #text2, format(#c2[0]), "(..)", "%$1"); // добавить знак %
//messagebox(text2); // текст отправляемый серверу

if (sendgetweb(#s, "", "GET", "https:/"+"/translate.yandex.net", "api/v1.5/tr.json/translate?key="+api_key+"&text="+text2+"&lang="+lang)>0)
{
messagebox (s); // ответ от сервера

if(parserjson(Json, s)==1)
{
messagebox(Json.code + rn + Json.lang + rn + Json.text[0]); // ERROR
return s;
}
}
return "";
}
13. Kibor - 04 Июня, 2020 - 07:11:04 - перейти к сообщению
Исправил.

Powered by ExBB FM 1.0 Final