| 
| 
 | Вопрос # 3 508/ вопрос открыт / | 
 |  Здравствуйте!Опишу ситуацию: есть ПК+сканер+delphi. Использую компонент СОМ-порт. Считываю чтото сканером. Пришедшие в порт байты  отображаются в мою прогу и в MS word.
 Получение из порта: b:=com1.getbyte;//b:byte
 В порт приходят байты например:
 
  
ABCJHKJ 757 ABC
AB879843753
ABCВопрос в том, как мне избавиться от байтов "АВС", т.е. в итоге должно отобразиться в word: 
  
JHKJ 757 
AB879843753Поясню дальше: пришедшие в порт байты, как и говорил, далее я отображаю в Word (ну типа эмуляция нажатия клавиш), используя в одной из процедур keypress(b); сама процедура(пишу по памяти):
 
  
procedure keypress(b:byte);
begin
if ((b=$31) or (b=$45) or и т.д.) then
vkb=b;
key_event(vkb,scan,flags,ext);
end;Так вот, если бы мне  надо было отобразить в каком-нить memo1 строки- я бы сделал так: есть b:byte
 перевожу в стринг: n:=n+chr(b);//где n-стринг
 удаляю "ABC" из строки: delete(n,pos('ABC',n),3);
 отображаю в memo1: memo1.lines.add(n);
 Но мне надо в word отобразить, причем не стринг, а byte:
 keypress(b);
 Посоветуйте как быть  плиз!
 
|  |   Вопрос задал: varelik (статус: Посетитель)Вопрос отправлен: 9 декабря 2009, 19:38
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ Ну так переведи символы строки обратно посимвольно в байты. 
 for Index:= 1 to Length(n) do // n: string
  keypress(Byte(n[Index]));А конструкцию 
 if ((b=$31) or (b=$45) or и т.д.) thenзамени на 
 if b in [$31, $45, ... и т.д.] then 
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 9 декабря 2009, 19:49
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 10 декабря 2009, 10:17; участников в обсуждении: 1. 
|   | varelik (статус: Посетитель), 10 декабря 2009, 10:17 [#1]:min@y™, да, так уже делал- это правильно. уже разобрался.
 моя ошибка в том была, что я:
 for Index:= 1 to Length(n) do // n: string
 keypress(Byte(n[Index]));
 в общем цикле использовал
 в любом случае сасибо!
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |