Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2009, 09:38   #11
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

raxp, да я уж делал так, но это ж удаление из строки. а у меня вместо s:string используется b:byte. Для отображения в Word используется, как и писал- keypress(b); даже если я напишу:
s:=s+chr(b);
а потом keypress(strtoint(s));
при выполнении возникнет ошибка: 'буква' is not integer
Но все равно, спасибо за участие, если сам сделаю, если не забуду,
выложу здесь правильный вариант.
varelik вне форума Ответить с цитированием
Старый 09.12.2009, 10:25   #12
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

вам без накопления никак не обойтись в случае, если заранее неизвестен будущий символ, ведь вы сами определили, что AB2523523 - нормально, а 12ABC35345 или ABC - некорректно, и заранее узнать на протяжении мин 3 символов, что прием корректен нельзя, ведь так?

так вот несколько вариантов:
1- сделать буфер типа array[0..N] of byte и заносить со сдвигом приходящие байты, но выдачу осуществлять только при проверке всех n-символов (изврат)
2- выяснить почему-же у вас идет лишний "C" и убрать сий глюк (считаю самым верным решением)
3- посылать перед каждым кодом символа служебный символ (или еще лучше массив комманд), например "#", и проверять предыдущее состояние, если нет, то игнорировать, пример
Код:
 b:= com1.getbyte;
 if btemp='#' then keypress(b); // да, первая посылка бум считать служебной и будет проигнорирована
 btemp:= b;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.12.2009, 10:54   #13
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

Больше склоняюсь к массивам. Вобщем буду пробовать, сенкс. А так вобще, смысл проги- коннект ПК и сканера (так что вариант 2 сразу уберем).
varelik вне форума Ответить с цитированием
Старый 09.12.2009, 10:57   #14
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ради интереса вопрос: енто со сканера нажатия передаются ? смысл че то как-то в тумане пока... или это сканеры такие умные пошли со своей осью, что там клавиши можно уже нажимать через key_event?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 09.12.2009 в 11:00.
raxp вне форума Ответить с цитированием
Старый 09.12.2009, 11:21   #15
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

при нажатии кнопки сканера в порт приходит некие события (нажатие кнопки на сканере например) + то что он отсканировал
varelik вне форума Ответить с цитированием
Старый 09.12.2009, 11:27   #16
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

.... ясно.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные из буфера обмена в виде массива байтов 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