Доброго времени суток.Беда в том что когда,посылаю строку через порт, она записывается не в одну строку, а делиться на две или три, что не приемлемо.
Я попытался как-то это дело исправить, вроде как бы заработало, но всё равно то и дело делит строку,а потом программа не может анализировать.Может в корне у меня не правильно,подскажите.
code_34627.txt
Этот топик читают: Гость
Ответов: 67
Рейтинг: 0
|
|||
карма: 1 |
| ||
файлы: 1 | code_34627.txt [3.7KB] [238] |
Ответов: 203
Рейтинг: 2
|
|||
а откуда компонент Асинхронного COM порта ?
|
|||
карма: 0 |
|
Ответов: 67
Рейтинг: 0
|
|||
Так,я его брал в обновлениях.Правда давно это было.Дело в том что компонент "Асинхронный COM порт (COMEX)" так же работает.
|
|||
карма: 1 |
|
Ответов: 8959
Рейтинг: 824
|
|||
TICLIR писал(а): ..когда,посылаю строку через порт.. |
|||
карма: 19 |
|
Ответов: 67
Рейтинг: 0
|
|||
Если взять всю цепочку, то с помощью AVR контроллера отправляю строку заканчивающимся символом "конец строки",и эта строка в "ListBox"
записывается как попало.Я и спрашиваю специалистов как мне реализовать так чтобы программа учитывала символы типа конец строки. |
|||
карма: 1 |
|
Ответов: 8959
Рейтинг: 824
|
|||
TICLIR, склеивать строки, поступающие от порта в буфере, контролировать наличие разделителя строк в склеенной строке, при наличии реазделителя разбивать строку на две части "до" и "после", строку "до" выдавать далее, строку "после" оставлять в буфере. Что трудного
![]() code_34628.txt |
|||
карма: 19 |
| ||
файлы: 1 | code_34628.txt [1.7KB] [265] |
Ответов: 16884
Рейтинг: 1239
|
|||
Я думал, что COMEX и правда COM, а он просто переводчик с русского на хз какой
![]() ![]() А вот так со стандартным: ![]() |
|||
карма: 25 |
| ||
файлы: 2 | Леонид_7.png [53.3KB] [687], Леонид_8.png [59.1KB] [658] |
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Tad писал(а): а он просто переводчик с русского на хз какойА с английским как ![]() |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Английский вроде не курочит.
|
|||
карма: 25 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Tad писал(а): Английский вроде не курочитА это вообще странно |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Проверил - английский проходит нормально.
|
|||
карма: 25 |
|
Ответов: 67
Рейтинг: 0
|
|||
Леонид писал(а): Что трудногоСпасибо за пример,плохо ориентируемся в элементах. Меня как бы более удовлетворяла что программа набирала символы в строку до определённого символа . Я с вашим примером по экспериментировал вот что у меня получилось, вот только не нашел каким образом при прохождении определённого символа поле ввода Edit сбрасывалось.
|
|||
карма: 1 |
| ||
файлы: 1 | code_34631.txt [569B] [201] |
Ответов: 8959
Рейтинг: 824
|
|||
TICLIR,
1. Привыкайте сразу к аккуратности, не разбрасывайте элементы на поле как придётся, старайтесь располагать их для меньшего количества пересечений линий..... 2. Читайте примечания к точкам внимательно и вдумчиво, например в Edit: "doText2=Уcтaнaвливaeт текст в поле ввода, но не генерирует событие onChange" code_34632.txt |
|||
карма: 19 |
| ||
файлы: 1 | code_34632.txt [801B] [261] |
Ответов: 67
Рейтинг: 0
|
|||
Спасибо, вопрос в качестве информации разрешите.?
Элемент StrMask запоминает приходящие к нему символы до прихода определённого символа, и выдаёт в поток получившуюся строку и очищает память,я правильно думаю. |
|||
карма: 1 |
|
Ответов: 8959
Рейтинг: 824
|
|||
TICLIR, StrMask ничего не запоминает, он получает строку, сравнивает её с заданой строкой (строкой, а не символом) и при совпадении выдаёт строку (полностью) на точку "Правда", при не совпадении на точку "Ложь".
(Справку никто не прячет ![]() |
|||
карма: 19 |
|