안녕 하세요.
Cport로 시리얼 데이터를 받아서 그 내용을 차트로 출력을 할려고 하는데
y축 값은 0~300으로 10씩 기준선을 잡고요.
x축 값은 한개씩 표시를 해서 25개씩만 보여 지고 계속 누적된 데이터는 스크롤을 시켜서 항상 25개의 데이터만 보일수 있게 하고 싶습니다.
그냥 출력은 잘 되는데 문제는 25개의 데이터만 보이면서 스크롤이 될수 있게 하는 부분에서 안 되고 있습니다.
고수님들 도와 주세요.
// 통신 데이터 처리 함수
procedure TForm1.ComDataPacket1Packet(Sender: TObject; const Str: String);
var
rec_String : string;
tmp_String : string;
temp1, vol1, temp2, vol2 : integer;
begin
{
With Chart1.BottomAxis do
SetMinMax( Minimum+1, Maximum+1 );
}
tmp_String := Str;
rec_String := '[ '+TimeToStr(Time)+' ] ' + tmp_String;
if mmo_rx.Lines.Count > 100 then
begin
mmo_rx.Lines.Clear;
end;
mmo_rx.Lines.Add(rec_String);
if (Copy(tmp_String,1,5) = 'Temp1') then
begin
temp1 := StrToInt(Copy(tmp_string,9,3));
vol1 := StrToInt(Copy(tmp_string,21,3));
temp2 := StrToInt(Copy(tmp_string,34,3));
vol2 := StrToInt(Copy(tmp_string,46,3));
With Series1 do
begin
Clear ;
Add(temp1);
end;
With Series2 do
begin
Clear ;
Add(vol1);
end;
With Series3 do
begin
Clear ;
Add(temp2);
end;
With Series4 do
begin
Clear ;
Add(vol2);
end;
With Chart1.BottomAxis do
SetMinMax( Minimum+1, Maximum+1 );
ComPort1.ClearBuffer(True, True);
end
else
begin
ComPort1.ClearBuffer(True,True); //버퍼를 지워 줍니다.
end;
end;