Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
7-58327
Semyon
2002-04-11 18:04
2002.07.18
winXP


4-58376
ArtGamer
2002-05-16 21:49
2002.07.18
Ну как мне сделать Drag&Drop на SpeedButton???!!!


1-58174
Smok_er
2002-07-04 00:34
2002.07.18
События от мыши


4-58361
Ross
2002-04-27 19:38
2002.07.18
Помогите: mailto:...


14-58254
Лена
2002-06-17 19:12
2002.07.18
Промблема





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский