procedure TTFChart.Timer1Timer(Sender: TObject);
var
Amount:Double;
begin
self.Caption:='现在的温度是'+FloatToStr(roundto(Main.ValueT,-2))+'摄氏度';
with Chart1 do
begin
with Series[0] do
if Count>(10000/Timer1.Interval) then
begin
Delete(0);
AddXY(i,Main.ValueT,'',clTeeColor);
With Chart1.BottomAxis do
begin
Amount:=roundto(((Maximum-Minimum)/Count),-1);
SetMinMax(Minimum+Amount,Maximum+Amount);
end;
end
else
AddXY(i,Main.ValueT,'',clTeeColor);
end;
MainForm.LedDisplay1.Number:=trunc(Main.ValueT/10);
MainForm.LedDisplay2.Number:=trunc((Main.ValueT-trunc(Main.ValueT/10)*10));
i := i + Timer1.Interval/1000;
end;
var
Amount:Double;
begin
self.Caption:='现在的温度是'+FloatToStr(roundto(Main.ValueT,-2))+'摄氏度';
with Chart1 do
begin
with Series[0] do
if Count>(10000/Timer1.Interval) then
begin
Delete(0);
AddXY(i,Main.ValueT,'',clTeeColor);
With Chart1.BottomAxis do
begin
Amount:=roundto(((Maximum-Minimum)/Count),-1);
SetMinMax(Minimum+Amount,Maximum+Amount);
end;
end
else
AddXY(i,Main.ValueT,'',clTeeColor);
end;
MainForm.LedDisplay1.Number:=trunc(Main.ValueT/10);
MainForm.LedDisplay2.Number:=trunc((Main.ValueT-trunc(Main.ValueT/10)*10));
i := i + Timer1.Interval/1000;
end;
本文介绍了一个使用Delphi编写的温度实时监测程序,通过定时器更新当前温度,并将其显示在图表上。当数据点超过一定数量时,程序会自动删除最早的数据并更新坐标轴范围,确保图表始终保持最新数据。
3002

被折叠的 条评论
为什么被折叠?



