Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 10.02.2016, 17:03  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Как распарсить строку - помогите

пишу, вернее осваиваю qt5
два раза в секунду с ком порта приходит строка "t01=+025,t02=+020,t03=-10,t04+-2" и так 16 датчиков температуры.

помогите как мне в кути разложить ее обратно на составляющие чтоб у меня было 16 переменных с температурами с каждого датчика?
как это грамотно написать?
строку которую присылает проц можно как угодно переписать
я попробовал строку на лету разбирать - ужасно плохо работает даже не буду код выкладывать ибо заплюете
Реклама:
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 10.02.2016, 17:12  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: как распарсить строку - помогите

Запятыми разбить на строки. Строки разбить на столбцы через "=". Дальше все просто - первый символ либо +, либо -. А дальше строку в число.
Easyrider83 вне форума  
Непрочитано 10.02.2016, 17:15  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: как распарсить строку - помогите

Easyrider83, да я не знаю как там со строками работать. подскажи какими методами это делается то?
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 10.02.2016, 17:19  
zöner
Гражданин KAZUS.RU
 
Регистрация: 16.02.2012
Сообщений: 441
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
zöner на пути к лучшему
По умолчанию Re: как распарсить строку - помогите

для начала можно почитать доки

http://doc.qt.io/qt-5/qstring.html#split
http://doc.qt.io/qt-5/qstring.html#toInt

еще лучше - сразу писать на QML
zöner вне форума  
Непрочитано 10.02.2016, 23:11  
AYuM
Прописка
 
Аватар для AYuM
 
Регистрация: 21.04.2009
Адрес: Королёв
Сообщений: 89
Сказал спасибо: 1,054
Сказали Спасибо 34 раз(а) в 27 сообщении(ях)
AYuM на пути к лучшему
По умолчанию Re: как распарсить строку - помогите

По приходу символа "t", пропускаете цифры до символа"=", далее пишите последующие символы в новую текстовую переменную.
Это в простейшем случае, без учёта "номера t"
AYuM вне форума  
Непрочитано 13.02.2016, 15:38  
marera
Гражданин KAZUS.RU
 
Регистрация: 26.09.2005
Сообщений: 569
Сказал спасибо: 58
Сказали Спасибо 509 раз(а) в 135 сообщении(ях)
marera на пути к лучшему
По умолчанию Re: Как распарсить строку - помогите

Если
Сообщение от индюк Посмотреть сообщение
строку которую присылает проц можно как угодно переписать
то перепишите ее так, что бы писалась просто температура, а разделитель ";"
Ни каких манипуляций со строкой - сохраняйте все в файл с расширением "csv"
Далее в Exsel делаете что угодно (графики, таблицы, стат обработки и т.д.)
__________________
Будь проще, дойдет и до синтеза.
marera вне форума  
Непрочитано 13.02.2016, 18:13  
zöner
Гражданин KAZUS.RU
 
Регистрация: 16.02.2012
Сообщений: 441
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
zöner на пути к лучшему
По умолчанию Re: Как распарсить строку - помогите

зачем excel?

http://www.live-graph.org/
https://code.google.com/archive/p/serialchart/
https://github.com/tardigrade888/scsvlog
http://www.blendedtechnologies.com/r...ing-python/231
zöner вне форума  
Эти 2 пользователя(ей) сказали Спасибо zöner за это сообщение:
Alex9797 (19.02.2016), Zoosman (13.02.2016)
Непрочитано 19.02.2016, 01:23  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Как распарсить строку - помогите

Сообщение от marera Посмотреть сообщение
Далее в Exsel делаете что угодно
хороший совет, только причем тут эксель? у меня это система управления а не отчетности
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 19.02.2016, 01:35  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: Как распарсить строку - помогите

Сообщение от zöner Посмотреть сообщение
зачем excel?
zöner, спасибо за ссылки!
Alex9797 вне форума  
Непрочитано 27.02.2016, 01:44  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,696
Сказал спасибо: 188
Сказали Спасибо 3,191 раз(а) в 2,068 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Как распарсить строку - помогите

во. освоил QString QSerialport и прочие.........

void MainWindow::data()
{


QString old;
QStringList l;
int index1;
int index2;
int len2;
static QString s;
QString s1;


while(1)
{


QString s1 = QString(serial.readLine());
if(!s1.length())break;

s.append(s1);




if (s.length()›75)
//if (s.indexOf("begin")››10) { s.clear();}
{

ui-›label-›setText(s);
index1 = s.indexOf("begin");
index2 = s.indexOf("EOF");
len2 = s.length();
//ui-›label_2-›setText(QString("%1").arg(index1, 0, 10));
if (index2!=75) { s.clear(); break;}

ui-›label_2-›setText(s.mid(index1+5,4));
ui-›label_3-›setText(s.mid(index1+9,4));
ui-›label_4-›setText(s.mid(index1+13,4));
ui-›label_5-›setText(s.mid(index1+17,4));
ui-›label_6-›setText(s.mid(index1+21,4));
ui-›label_7-›setText(s.mid(index1+25,4));
ui-›label_8-›setText(s.mid(index1+29,4));
ui-›label_9-›setText(s.mid(index1+33,4));
ui-›label_10-›setText(s.mid(index1+37,4));
ui-›label_11-›setText(s.mid(index1+41,4));
ui-›label_12-›setText(s.mid(index1+45,4));
ui-›label_13-›setText(s.mid(index1+49,4));
ui-›label_14-›setText(s.mid(index1+53,4));
ui-›label_15-›setText(s.mid(index1+57,4));
ui-›label_16-›setText(s.mid(index1+61,4));
ui-›label_17-›setText(s.mid(index1+65,4));
//ui-›label_18-›setText(QString("%1").arg(len2, 0, 10));
ui-›label_18-›setText(QString("%1").arg(index2, 0, 10));



s.clear();
}

}




}
__________________
кагмаподэ магмаподэ
индюк вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите русифицировать Anycall Samsung SEC SCHW770, SEC SCHW420, SEC SCHW2700, SEC SCHW570 Rusik_best Автоматика и аппаратура связи 0 27.12.2011 16:13
Помогите, пожалуйста, с PICом и дисплеем VaL_KX Proteus 4 15.11.2010 22:33
Помогите подключить "LaserJet". didik-dog Отвлекитесь, эмбеддеры! 24 05.06.2007 20:10
Нужна схема аудиоцентра JVC CA-MXG71R помогите найти cbmaster Поиск схем. Делимся схемами 0 16.05.2007 23:12
Помогите выбрать интерфейс yel Микроконтроллеры, АЦП, память и т.д 6 04.05.2007 15:07


Часовой пояс GMT +4, время: 06:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot