Форум » » Помогите разобрать строку » Ответить

Помогите разобрать строку

Vladimir: В Крестрон , с веб-сервера приходит такая строка: HTTP/1.0 200 OK\x0D\x0AContentType:text/html\x0D\x0A\x0D\x0A38.25;37.25;37.75/38.00;38.00;38.00/33.00;.75;29.87/29.75;27.00;28.37/</body></html>\x0D\x0A с данными датчиков температуры. И вроде-бы разобрать эту строку сериал сабстрингом никаких проблем не составляет, НО...... Почему-то в крестрон данные поступают в таком виде: 00:00:01.422: arduino_tp_rx$ -> HTTP/1.0 200 OK 00:00:01.422: arduino_tp_rx$ -> \x0D\x0AContent-Type: text/html\x0D\x0A\x0D\x0A 00:00:01.422: arduino_tp_rx$ -> 38. 00:00:01.422: arduino_tp_rx$ -> 25; 00:00:01.422: arduino_tp_rx$ -> 37. 00:00:01.422: arduino_tp_rx$ -> 25;37.75/ 00:00:01.422: arduino_tp_rx$ -> 38.0 00:00:01.422: arduino_tp_rx$ -> 0; 00:00:01.422: arduino_tp_rx$ -> 38 00:00:01.422: arduino_tp_rx$ -> .00;38.00/ 00:00:01.422: arduino_tp_rx$ -> 33.00; 00:00:01.422: arduino_tp_rx$ -> .75;29.87/29.75;27.00;28.37/</body></html>\x0D\x0A и каждый раз этот вид разный (количество строк разное) ..... В симпле плюс я не силен. Подскажите хотя-бы как собирать данные в одну строку.

Ответов - 7

Игорь K.: Собирает в одну строку Serial Gather (Gather in S+). Входные параметры - длина (в смысле не больше) и символ (ы) завершения.

eoulianov: Владимир, вы почуствуете себя гораздо увереннее, если просмотрите внимательно символа из ветки Serial и прочитаете справку по ним - это довольно странное и удивительное творение инженера-методолога из NASA в 70х, насколько я помню легенды. Вам нужно использовать Serial Gather c delimiter 0Ah и length 255d - и вы будете получать следующее: HTTP/1.0 200 OK\x0D\x0A ContentType:text/html\x0D\x0A \x0D\x0A 38.25;37.25;37.75/38.00;38.00;38.00/33.00;.75;29.87/29.75;27.00;28.37/</body></html>\x0D\x0A Меня настораживает отсутствие тут <html><body>.

Игорь K.: Слышу уже не первый раз намёки и отсылы к какому то мифологическому инженеру NASA. Все они, как я понимаю, растут изнутри, но до непосвященных в тайны двора они доползали в искаженном виде. Интерпретации мифа были разные, но всегда осторожные и размытые. То блоки питания и их система защиты как на Skylab, то процессор, то какой то невероятный компилятор. И вот ещё одна версия.


Вячеслав: Пользуйтесь: 1.Модуль можно скачать тут 2.Положите модуль в папку с проектом. Откройте файл и нажмите (кнопочка для вашей серии процессора т.е. 2 или 3)+кнопку Save and compile 3.Откройте проект SimplWindows ,перетащите модуль в проект из окна SimplLibrary 4.Пользуйтесь

Игорь K.: Vladimir, прошу обратить внимание на то, что, по всей видимости, предложенный выше модуль не оттестирован на реальном оборудовании и сигналах. Не принимайте его как законченное рабочее решение. Это может быть только началом долгого пути, подсказкой. Удачи. eoulianov, насчет отсутствия открывающих тегов <html><boby>.... Многие недопиленные модули так и работают, главное, что включает верный режим браузера "Content type". Браузер же показывает нормально такую неформатированную страницу.

Vladimir: Спасибо за помощь, все получилось.

Вячеслав: Vladimir, имейте ввиду, мой модуль по аналоговым выходам не предусматривает корректное отображение отрицательных температур. Но его можно доработать, чтоб устранить этот недостаток.



полная версия страницы