?? uregmgr.pas
字號:
{ 注冊表操作單元 }
unit URegMgr;
interface
uses Windows, SysUtils, Classes,
Registry, UGetName, URecord;
type
TScoreRecord=record
Name: string;
Score: Integer;
end;
var
RecInfo: array [1..5] of TScoreRecord;
procedure LoadScore;
procedure CheckRegistry;
procedure InitRegistry(var Reg:TRegistry);
procedure CheckScore(Score: Integer);
procedure WriteRegistry;
implementation
uses UMain;
procedure InitRegistry(var Reg:TRegistry);
begin
Reg.WriteString('BlueGame','true');
Reg.WriteString('Name1','匿名');Reg.WriteInteger('Score1',0);
Reg.WriteString('Name2','匿名');Reg.WriteInteger('Score2',0);
Reg.WriteString('Name3','匿名');Reg.WriteInteger('Score3',0);
Reg.WriteString('Name4','匿名');Reg.WriteInteger('Score4',0);
Reg.WriteString('Name5','匿名');Reg.WriteInteger('Score5',0);
end;
procedure CheckRegistry;
var
Reg: TRegistry;
Exist: String;
begin
Reg := TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\BlueGame',true);
Exist := Reg.ReadString('BlueGame');
if(Exist='')then
begin
InitRegistry(Reg);
exit;
end;
Reg.Free;
end;
procedure LoadScore;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\BlueGame',true);
RecInfo[1].Name := Reg.ReadString('Name1');
RecInfo[2].Name := Reg.ReadString('Name2');
RecInfo[3].Name := Reg.ReadString('Name3');
RecInfo[4].Name := Reg.ReadString('Name4');
RecInfo[5].Name := Reg.ReadString('Name5');
RecInfo[1].Score := Reg.ReadInteger('Score1');
RecInfo[2].Score := Reg.ReadInteger('Score2');
RecInfo[3].Score := Reg.ReadInteger('Score3');
RecInfo[4].Score := Reg.ReadInteger('Score4');
RecInfo[5].Score := Reg.ReadInteger('Score5');
Reg.Free;
end;
procedure CheckScore(Score: Integer);
var
i,j: Integer;
Name: String;
HighScoreFrm: THighScoreForm;
begin
HighScoreFrm := THighScoreForm.Create(frmGame.Owner);
for i := 1 to 5 do
begin
begin
if(not frmGame.GetName(Name))then Exit;
for j := 5 downto i+1 do
RecInfo[j] := RecInfo[j-1];
RecInfo[i].Score := Score;
RecInfo[i].Name := Name;
WriteRegistry;
HighScoreFrm.ShowModal;
Exit;
end;
end;
HighScoreFrm.Free;
end;
procedure WriteRegistry;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\BlueGame',true);
Reg.WriteString('Name1',RecInfo[1].Name);
Reg.WriteString('Name2',RecInfo[2].Name);
Reg.WriteString('Name3',RecInfo[3].Name);
Reg.WriteString('Name4',RecInfo[4].Name);
Reg.WriteString('Name5',RecInfo[5].Name);
Reg.WriteInteger('Score1',RecInfo[1].Score);
Reg.WriteInteger('Score2',RecInfo[2].Score);
Reg.WriteInteger('Score3',RecInfo[3].Score);
Reg.WriteInteger('Score4',RecInfo[4].Score);
Reg.WriteInteger('Score5',RecInfo[5].Score);
Reg.Free;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -