以前一直以为Delphi不比C/C++没办法实现静态局部变量。今天在研究设计模式的时候突然想到,若是没有那单例模式如何实现?
没有实现不了的可能,只有不动脑不动手的人。
查查资料可以用如下办法实现:
procedure TForm1.SpeedButton1Click(Sender: TObject);
{$j+}
const myvar:integer=0;
{$j-}
begin
try
if myvar mod 2 = 0 then
begin
tbChart.Title.Text.Text:='电池数据分布图';
tbChart.Color := clWhite;
// 修改图表部分的背景色可以通过BackColor属性来实现:
tbChart.BackColor := clGreen;
// 此外,TChart还提供了渐变的背景支持,通过Gradient控制:
tbChart.Gradient.Visible := True;
tbChart.Gradient.Direction := gdFromTopLeft;
tbChart.Gradient.StartColor := clGreen;
tbChart.Gradient.EndColor := clYellow;
end
else
begin
tbChart.Title.Text.Text:='电池数据分布图';
tbChart.Color := clWhite;
// 修改图表部分的背景色可以通过BackColor属性来实现:
tbChart.BackColor := clGreen;
// 此外,TChart还提供了渐变的背景支持,通过Gradient控制:
tbChart.Gradient.Visible := True;
tbChart.Gradient.Direction := gdFromTopLeft;
tbChart.Gradient.StartColor := clYellow;
tbChart.Gradient.EndColor := clGreen;
end;
myvar:=myvar+1;
except
on e:exception do
begin
Application.MessageBox(PAnsiChar(e.Message),PAnsiChar(e.Message));
end;
end;
end;
如上程序亲测有效。由于同时在研究图标TChart顺便写了几行TChart代码,不喜勿喷。