以前一直以爲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代碼,不喜勿噴。