Форум: "Система";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
Внизподскажите мне пож-ста использую Comportlibraru ver. 2.60 Найти похожие ветки
← →
ah (2002-04-27 19:49) [0]- железяка выдает поток информации ( 240 байт )
procedure Tf1.cp1RxChar(Sender: TObject; Count: Integer);
var
str:string;
b1,b2:byte;
begin
cp1.ReadStr(str,count);
end;
что нужно сделать чтобы поток оказался в str -инге целиком, получается сначала где то около 8 байт , а остальные 232 - после...
можно конечно так
...
...
M1.Text := M1.Text + Str;
...
...
но мне нужно отследить момент, когда все будет прочитано ?
← →
ah (2002-04-27 21:50) [1]еще вдобавок вопрос -
просто для теста железка мне дает последовательность от 0 и так далее. Я что заметил, длина всего потока почему то когда первым подается байт,равный 0 , равна 232 , стоит его поменять на другое отличное от нуля, длина становится равным 240 .
Что выполняет eventchar в свойствах, я раньше применял данный компонент, но только в режиме пакета, ограниченный опр. символами и определенной длиной, но в данном случае , у меня могут совпасть некоторые байты с признаком начала или конца пакета - и не хочется усложнять ..
← →
ah (2002-04-28 08:12) [2]что то никто мне не подскажет - я тут сам ковырялся и что заметил:
как уж говорил в режиме теста поток состоит из последовательности байтов идущих от железки от 0 и до 240 , если нулевой байт идет - то у меня пропадает 8 байт . Пробовал передвинуть байт = 0 с начала пакета в другое место , так же теряется 8 байт. Почему так происходит , где моя ошибка ?
← →
bo (2002-04-29 09:18) [3]Я давно наткнулся на эти грабли, задавал подобный вопрос, но как то ни кто не ответил, наверно ни кто не занимался этим воросом. Я говорю о том, как получить стринг, в режиме пакета не пробовал. Если что то олучится, дай знать, если не влом будет, потому, что для меня этот вопрос весьма актуален! С уважением bo. mailto:piter_bo@astrum.spb.ru
← →
kis28 (2002-04-29 09:31) [4]Я делаю так (вроде работает):
var ScanStr: string;
...
procedure TfmCom.CP1RxChar(Sender: TObject; Count: Integer);
var s: string;
begin
with CP1 do begin
ReadStr(s,count);
ScanStr := ScanStr + s;
if CP1.InputCount = 0 then begin
ScanRead; {или что-то свое}
ScanStr := "";
end;
end;
end;
← →
bo (2002-04-29 10:50) [5]Я давно наткнулся на эти грабли, задавал подобный вопрос, но как то ни кто не ответил, наверно ни кто не занимался этим воросом. Я говорю о том, как получить стринг, в режиме пакета не пробовал. Если что то олучится, дай знать, если не влом будет, потому, что для меня этот вопрос весьма актуален! С уважением bo. mailto:piter_bo@astrum.spb.ru
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c