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

Вниз

Проблема с получением данных с COM порта   Найти похожие ветки 

 
dim- ©   (2004-03-19 01:29) [0]

Помогите решить проблемму
Пользуюсь компонентой CommPortDriver при получении данных делаю:
procedure TForm2.CommPortDriver1ReceiveData(Sender: TObject;
 DataPtr: Pointer; DataSize: Cardinal);
var  i: integer;
   s: string;
begin
 // Convert incoming data into a string
 s := StringOfChar( " ", DataSize );
 ShowMessage(s);
 move( DataPtr^, pchar(s)^, DataSize );
 // Exit if s is empty. This usually occurs when one or more NULL characters
 // (chr(0)) are received.
 while pos( #0, s ) > 0 do
   delete( s, pos( #0, s ), 1 );
 if s = "" then
   exit;
 // Remove line feeds
 i := pos( #10, s );
 while i <> 0 do
 begin
   delete( s, i, 1 );
   i := pos( #10, s );
 end;
 i := pos( #13, s );
 while i <> 0 do
 begin
   delete( s, i, 1 );
   i := pos( #13, s );
 end;
 ShowMessage(s);
 Edit1.Text:= s;
end;

В результате получаю какую то фигню, а пример (фрагмент скопирован от туда)работает нормально, правда там в ричедит выводиться


 
Германн ©   (2004-03-19 03:31) [1]

Вопросы по поводу сторонних компонент лучше всего адресовать их авторам, а не "всем прочим"!
Ну, не использую я, и вообще не знаю такой компонент! И что в таком случае я могу понять из вышеописанного текста?


 
Reindeer Moss Eater ©   (2004-03-19 08:53) [2]

procedure TForm2.CommPortDriver1ReceiveData(Sender: TObject;
DataPtr: Pointer; DataSize: Cardinal);
var  i: integer;
  s: string;
begin
SetLength(s,DataSize);
StrLCopy(PChar(s),PChar(DataPtr),DataSize);
....


 
Reindeer Moss Eater ©   (2004-03-19 09:11) [3]

В результате получаю какую то фигню

move( DataPtr^, pchar(s)^, DataSize );

Пишешь фигню - фигню и получаешь.

pchar(s)^ - что это и главное где?


 
dim- ©   (2004-03-19 15:11) [4]

Говорю, это фрагмент рабочей программы, только в ней это работает, а у меня нет



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

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

Наверх




Память: 0.47 MB
Время: 0.063 c
7-1079005742
bg8
2004-03-11 14:49
2004.04.11
Синхронизация приборов с помощью TTL логики


9-1068552959
Thor
2003-11-11 15:15
2004.04.11
Улучшенный Power Draw


3-1079512826
Rule
2004-03-17 11:40
2004.04.11
Не могу разобратся с разделителемя дробной части в FB 1


3-1079495625
vi007
2004-03-17 06:53
2004.04.11
Refresh данных в Interbase


14-1079488850
vidiv
2004-03-17 05:00
2004.04.11
Курсовик.