Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с Com ;портом


Atom ©   (2003-07-02 17:39:00) 

Подскажите пожалуйста можно ли, и если можно, то как при чтении Com порта можно получить полный размер передаваемых данных.

Atom


Atom   (2003-07-04 16:27:00) [1]

Спасибо всем, кто откликнулся. Данные я принимаю с устройства. И судя по описанию протокола обмена, оно ни какой сопроводительной информации не посылает. Я надеялся, что есть какой нибудь прием или хитрость, что бы можно было получить размер передаваемых данных. Но видимо - облом.

Atom


-=Vlad=-   (2003-07-03 11:02:00) [2]

Какие устройства являются примником и передатчиком?
Если компутер-компутер то можете создать свой протокол и вначале каждой передачи передавать объем готовых к передаче данных.
Если передатчик - некое устройство то объем нельзя узнать если этого не поддерживает протокол обмена этого устройсва.


ksa2002   (2003-07-03 05:57:00) [3]

Надо знать формат протокола и на осонве него вести анализ приёма


Anatoly Podgoretsky   (2003-07-02 19:33:00) [4]

Нельзя, это потоковое устройство.


Atom   (2003-07-02 19:10:00) [5]

Спасибо за ответы. Но вопрос в том можно ли получить полный размер передаваемых данных не приняв их полностью. В задаче нужно показываеть процент принятой информации через порт. А размер передаваемых данных с устройства может быть различным.
Поэтому и вопрос: "Можем ли мы заранее узнать объем принимаемой информации?"

Atom


Atom   (2003-07-02 19:09:00) [6]

Спасибо за ответы. Но вопрос в том можно ли получить полный размер передаваемых данных не приняв их полностью. В задаче нужно показываеть процент принятой информации через порт. А размер передаваемых данных с устройства может быть различным.
Поэтому и вопрос можем ли мы заранее узнать объем принимаемой информации.

Atom


-=Vlad=-   (2003-07-02 18:20:00) [7]

А общее количество байт находящихся на данный момент в буфере приемника можно узнать так:
ClearCommError(hCom,dwError,@stComStat);
CountByteInBuffer:=stComStat.cbInQue;

Читайте Нelp не ленитесь, это сэкономит вам время.


Archon Kazansky   (2003-07-02 17:59:00) [8]

В функции ReadFile в предпоследний параметр заносится число считанных байт.


Наверх

Титульная страница Поиск, карта сайта Написать письмо