我正在開發用於檢查全球分數的互聯網連接的Tic Tac Toe遊戲。我還添加了ColorDialog
,因此用戶可以在網格內爲X
和O
選擇自己的顏色。看這些2圖片作爲例子:從ColorDialog保存顏色並將其加載到標籤中
我想添加此功能:當用戶點擊編輯,然後網格項的顏色(來自TMenu以上),一個MessageDialog
出現詢問是否下次運行程序時,您想再次使用此顏色或默認(黑色)。我寫了下面的代碼:
procedure TfrMain.MenuItem10Click(Sender: TObject);
begin
if (MessageDlg('Set this color as default? Next time you play or you open the program, you will use this color. [Yes=OK||Cancel=NO]',
mtConfirmation,mbOKCancel,0) = mrCancel) then
begin
if ColorDialog1.Execute then
for i:= 0 to 8 do
begin
(FindComponent('lblcell'+IntToStr(i)) as TLabel).Font.Color := ColorDialog1.Color;
end;
end
else
begin
//saves the color somewhere, when the program will run again, it will load this color
end;
end;
如果按Cancel
的ColorDialog類出現,它設置的顏色。我的問題是,我不知道如何保存選定的顏色並在程序再次運行時加載它。該程序還將它的內容保存在C:\tictactoe8
的文件夾中,所以我想在這裏保存一個帶有顏色設置的文本文件,並通過TForm1的OnCreate事件加載它們。順便說一下,我真的不知道該怎麼做,你能給我一些建議嗎?
您以前使用過'TRegistry',還是您熟悉使用Windows註冊表?我會建議將設置保存爲您的應用程序的Windows註冊表值。 – lurker
其他嘗試可能是一個IniFile http://stackoverflow.com/search?q=inifile+delphi – bummi
看起來你的問題是關於井字遊戲,或關於colordialog,但它不是。它實際上是關於存儲(任何)程序設置。如果以這種方式解決問題,解決問題將會更容易,並且更容易找到有關問題的信息。 「存儲tic tac腳趾顏色」可能會產生比「存儲應用程序設置」更少(相關)的搜索結果。 後者可能會建議您使用TRegistry或TiniFile。 ;) – GolezTrol