Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

Народ кто юзал TCommPortDriver подскажите   Найти похожие ветки 

 
ol   (2002-06-06 13:33) [0]

Не могу разобраться как читать данные из сом-порта
функция такая
function ReadData( DataPtr: pchar; MaxDataSize: DWORD ): DWORD;
конкретно не могу понять че нужно подставлять вместо DataPtr
Мож кто примерчик бросит


 
doomin   (2002-06-10 12:54) [1]

А зачем так сложно? Сядь на событие OnReceiveData и обрабатывай приходящие данные. Там приходит такой же указатель на данные и его длина. А дальше можно двумя способами:
procedure TForm1.CommPortDriver1ReceivePacket(Sender: TObject;
Packet: Pointer; DataSize: Cardinal);
type
AA = array[1..255] of char;
var a: ShortString;
i : integer;
begin
a:="";
for i:=1 to DataSize-1 do
a:=a+AA(Packet^)[i];
Edit1.Text:=a;
end;

или второй, если сделать большую паузу между опросами и выгребать помногу:


var
ch: Char;
p: PChar;
i, n: Integer;
begin
(Sender as TCommPortDriver).PausePolling;
try
p := DataPtr;
for i := 1 to DataSize do begin
ch := p^;
//здесь можно сцеплять символы как угодно
Inc(p);
end;
finally
(Sender as TCommPortDriver).ContinuePolling;
end;



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

Текущий архив: 2002.08.22;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.015 c
14-71353
Nostradamus
2002-07-27 03:41
2002.08.22
А я Warcraft 3 прошёл


7-71386
Lelik17
2002-06-07 12:49
2002.08.22
Ошибка при попытке позвонить через модем


6-71291
return
2002-06-11 18:29
2002.08.22
Загрузить в Memo1 текст содержания файла http://test.ru/test.html


1-71125
maxim2
2002-08-13 10:05
2002.08.22
Можно ли отловить двойной клик правой клавиши мыши на элементе


1-71176
CBA
2002-08-09 12:29
2002.08.22
Выполнение запросов в потоке