|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.12.2009, 14:12 | #1 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 140
|
удаление байтов
Доброго дня. Ай нид хэлп. Такой вопрос появился:
есть ли функция, аналогичная pos() для строк, но оперирующая с байтами? Ситуация:В своей проге я из буфера COM-порта принимаю байты, приходящие с внешнего устройства: b:=com1.getbyte;//b:byte Потом я их в worde отображаю. Но среди принимаемых байт содержится некий набор букв 'АВС', который среди этих байт может оказаться ГДЕ УГОДНО. От последовательности букв 'АВС' мне и надо избавиться. Последний раз редактировалось varelik; 08.12.2009 в 14:25. |
08.12.2009, 14:24 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
эм... а вы случаем отображаете не hex- варианты ? (ибо a b c це числа)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
08.12.2009, 14:33 | #3 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 140
|
raxp, да да.
вобщем, пример: Код:
|
08.12.2009, 14:43 | #4 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
ну, раз итог у вас в строке, то для поиска таже pos и delete для удаления... но никто не мешает убрать числа $a $b $c до преобразования... например если берете отсюда b:=com1.getbyte; - так и проверьте, что if (b <> $a) and (b <> $b) and (b <> $c) или через in
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
08.12.2009, 14:54 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
08.12.2009, 15:00 | #6 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 140
|
Вобщето не так все просто, на самом деле чуть ошибся:
Код:
если я изначально сделаю if (b <> $a) and (b <> $b) and (b <> $c), то во 2й строке получу: 545657667, а надо: АВ545657667. т.е. мне именно ПОСЛЕДОВАТЕЛЬНОСТЬ букв 'АВС' надо убрать. И еще: в Word (в одной из процедур) я отображаю так: keypress(b); где b:byte. Сама процедура keypress: Код:
Последний раз редактировалось varelik; 08.12.2009 в 15:08. |
08.12.2009, 15:05 | #7 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 140
|
Stilet,Если в строку пихну типа так: вместо keypress(b);
напишу: n:=n+chr(b); keypress(strtoint(n)); ошибку выдаст: 'A' is not valid of integer value |
08.12.2009, 15:07 | #8 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
нажатие клавиш через com-порт, интересный вариант... работаете на удаленной машине.
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
08.12.2009, 15:13 | #9 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 140
|
не, не совсем так. Если непонятно излагаю мысль, извиняюсь (подустал).
Еще раз: из Код:
Код:
if (b=$45+$46) //это конечно неправильно .......... то выполнять 'определенное действие' ? Последний раз редактировалось Stilet; 09.12.2009 в 10:20. |
08.12.2009, 19:25 | #10 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
вот то-что вы хотите...
Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Данные из буфера обмена в виде массива байтов | eda | Microsoft Office Excel | 10 | 12.08.2009 17:00 |
Програмка по выделению и замене байтов | florion | Помощь студентам | 1 | 28.02.2009 00:00 |
извлечение битов из байтов... | WinApi | Помощь студентам | 4 | 10.11.2008 15:14 |
FileStream. Как узнать сколько байтов в Read и Write надо написать? | Манжосов Денис :) | Помощь студентам | 2 | 24.10.2008 08:29 |
Строка символов в виде байтов | Blondinka | Общие вопросы Delphi | 17 | 14.09.2007 19:06 |