Вниз
Скачать: CL | DM;

Как получить сообщение о том, что Com порт выдал данный   Найти похожие ветки 

← →
Soft ©   (2003-03-11 02:26) [0]

Привет.

Вот собственно есть сам вопрос.

Открываем Com как TFileStream, пишем в него(без проблемм) а читать не получется нормально, неизвестно когда поступит ответ(не опрашивать же в цикле как досявые проги)


← →
крот ©   (2003-03-11 05:53) [1]

WaitCommEvent


← →
jack128 ©   (2003-03-11 17:29) [2]

Вот тут тоже хотят с портом как с файлом работать.. ;))
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1047297528&n=2

а чем тебе опрос в цикл не нравится??
Можно ещё с помощью таймера опрашивать...


← →
Pat ©   (2003-03-11 19:09) [3]

>Открываем Com как TFileStream
Бедный Com-порт...как его только не открывали... :-)
Можно и по таймеру читать...

//Установка размеров буферов чтения и передачи данных
if not SetupComm(hPort,2048,2048)
then showmessage("Can""t set size of I/O buffers :"+
syserrormessage(getlasterror));


procedure TMainForm.ReadTimerTimer(Sender: TObject);
var COM_Stat:TCOMSTAT;
actual_bytes:dword;
d:array[0..127] of Char;
Errors:dword;
begin
if not connected then ReadTimer.Enabled:=false;
FillChar(d, 128, #0);
ClearCommError(hPort,Errors,@COM_Stat);
//Чтение данных из буфера чтения порта
if COM_Stat.cbInQue=0 then exit;
if not ReadFile(hPort, d, COM_Stat.cbInQue, actual_bytes, nil)
then
ShowMessage("Can""t read from port: " + SysErrorMessage(GetLastError));
txtRecive.Text:=txtRecive.Text+d
end;

Может чем поможет


← →
Soft ©   (2003-03-12 11:11) [4]

Спасибо, уже нашел кучу док, с ссылками таки мастаки помогли.

Да и компоненты ComPortDriver и Async Proffesional
sourceforge.net неплохи.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
3-91215
Эдуард
2003-04-10 12:13
2003.04.28
UDF - ФУНКЦИЯ


1-91244
Slonic75
2003-04-15 11:09
2003.04.28
Проблема с OleVariant


1-91291
hunter
2003-04-17 14:24
2003.04.28
stay on top


1-91404
Hedgehog
2003-04-16 16:06
2003.04.28
Перекомиляция копонента D5 под D6


3-91231
Wedos
2003-04-11 07:51
2003.04.28
Ошибка при фильтрации




   Наверх