Главная страница
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.031 c
1-1079945390
Layner
2004-03-22 11:49
2004.04.11
Как вытащить время, сколько работает windows?


1-1079766739
Иван
2004-03-20 10:12
2004.04.11
Где скачать InterBase Express (IBX) для Delphi5


6-1075705511
genek84
2004-02-02 10:05
2004.04.11
Как разделить слипание сообщений?


3-1081952112
pashaz
2004-04-14 18:15
2004.04.11
Как узнать, что за база ?


1-1080116378
TransparentGhost
2004-03-24 11:19
2004.04.11
новый компонент: тип не видно в обект инспекторе