![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброго времени суток,
Уважаемые программеры, помогите в решение проблемы. Мне необходимо, чтоб моя программа принимала данные через COM-порт и проводила анализ их. Процедура клавиши "Читать": Код:
procedure TForm1.btn4Click(Sender: TObject); //Получение данных
var
d:array[0..127] of Char;
actual_bytes:DWORD;
TimeOuts:TCommTimeouts;
stat:TComStat;
begin
...
PurgeComm(FHandl, PURGE_TXABORT or PURGE_RXABORT or PURGE_TXCLEAR or PURGE_RXCLEAR);
BufferRead := '';
if not ReadFile(FHandl, d, SizeOf(d), actual_bytes, nil) then
edt2.Text:='Ошибка'
else
edt2.Text:='Получение';
BufferRead := d;
mmo1.Text:=BufferRead;
CloseHandle(FHandl);
end; Все бы хорошо, но принимаются только 128 символов, затем порт закрывается. А необходимо получать постоянно данные, закрывая порт лишь по нажатию клавиши, например, "Стоп". Последний раз редактировалось Admin, 15.06.2010 в 16:15. |