PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Windows » Работа с SerialPort. Парсер строки


Работа с SerialPort. Парсер строки

Сообщений 1 страница 6 из 6

1

Доброго времени суток.

Использую Ardunы для связи устройств по COM порту

Нужно принимать строку с Ардуины по COM порту.
Помогите сделать парсер строки в качестве разделителя использовать символ*. Пример 10*22*333*44*56, a=10, b=22, c=333, d=44, f=56.

Для Ардуины парсер строк я подготовил, а вот на PureBasic'е никак не соображу.

Заранее благодарен.

0

2

Не понятно, что вы хотите от того, что называете "парсером"
Строка принимаемая с порта 10*22*333*44*56
Выделить числа и присвоить переменным?
a=10 : b=22 : c=333 : d=44 : f=56

Самое элементарное https://www.purebasic.com/documentation … field.html только нужно понимать, что эта функция ждёт PB строку в utf16

Отредактировано useful (30.10.2023 20:08:36)

0

3

Например в Ардуино IDE

я принимаю строку 10*22*333*44*56, звездочка служит разделителем.

в итоге получаю:

a=10
b=22
c=333
d=44
f=56

Но в Purebasic пока что не разобрался. вот и прошу помощи и разьяснений )))

0

4

Ооо. Супер получилось!!!

For k = 1 To 6
  Debug StringField("10*22*333*44*56", k, "*")
  Next

На выходе:

10
22
333
44
56

Спасибо, что указали направление )))

0

5

newmayer написал(а):

Спасибо, что указали направление )))

Это "направление" требует преобразование получаемого из потока в UTF16 и другие лишние действия.
Если поток настолько прост, то нет проблем по байтно разобрать на проходе.

0

6

Уже сделал.
Спасибо

0


Вы здесь » PureBasic - форум » PureBasic для Windows » Работа с SerialPort. Парсер строки