Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Вниз

Народ кто юзал 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.006 c
1-71220
oneman
2002-08-09 11:06
2002.08.22
protected method


1-71124
Hawk2
2002-08-12 17:58
2002.08.22
Количество дней в месяце.


1-71129
SemFLY
2002-08-09 14:55
2002.08.22
Как лучше сделать ?


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


3-71000
Дмитрий Калугин
2002-07-31 16:22
2002.08.22
Обнуление генератора





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский