Delphi 靜態局部變量的替換方法

      

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

發佈了22 篇原創文章 · 獲贊 7 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章