kpv19820
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); Var Buf: Ansistring;//array[1..4096] of ansichar; st: TStringList; i,ReadBytes: integer; Stat: PAsync; begin i:=0; InitAsync(Stat); try ComPort.ReadStrAsync(Buf, Count, Stat); repeat // Выполнение других действий //s1:=s1 + Buf; until Pos(#$1C#$D,Buf)<=0; if ComPort.WaitForAsync(Stat) <> Count then SetLength(Buf, Count); finally DoneAsync(Stat); end; if Pos(#$1C#$D,Buf)>0 then begin st := TStringList.Create; try st.Delimiter := #13; st.StrictDelimiter := True; st.DelimitedText := s1; i:=0; for i := 0 to st.Count-1 do begin Memo1.Text := Memo1.Text + st[i]+#13#10; end; datasave(st); s1:=''; finally st.Free; end; end; end; | Всего записей: 55 | Зарегистр. 07-12-2007 | Отправлено: 18:23 19-11-2017 | Исправлено: kpv19820, 18:35 19-11-2017 |
|