📄 systemsetfrm.pas
字号:
unit SystemSetFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, BaseFrm;
type
TSystemSetForm = class(TBaseForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel1: TPanel;
UsingBtn: TButton;
CancelBtn: TButton;
CkbUseSound: TCheckBox;
TabSheet2: TTabSheet;
ListBoxLocal: TListBox;
ListBoxNet: TListBox;
Label1: TLabel;
Label2: TLabel;
ButtonAddToLocal: TButton;
ButtonDelFromLocal: TButton;
ButtonAddLocalSrv: TButton;
procedure UsingBtnClick(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
procedure CkbUseSoundClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ButtonAddToLocalClick(Sender: TObject);
procedure ButtonDelFromLocalClick(Sender: TObject);
procedure ButtonAddLocalSrvClick(Sender: TObject);
private
procedure LoadLocalServers;
procedure LoadNetServers;
public
end;
implementation
uses NhcConfig, AddLocalServerFrm;
{$R *.dfm}
procedure TSystemSetForm.ButtonAddLocalSrvClick(Sender: TObject);
begin
Self.Hide;
with TAddLocalServerForm.Create(nil) do
try
if ShowModal = mrOk then
begin
LoadLocalServers;
end;
finally
Free;
end;
Self.Show;
end;
procedure TSystemSetForm.ButtonAddToLocalClick(Sender: TObject);
function ExistLocalServer(const SrvIpInfo: TServerIpInfo): Boolean;
var
I: Integer;
begin
Result := False;
for I := 0 to ConfigMgr.UserServerCount - 1 do
begin
with ConfigMgr.UserServers[I] do
begin
if SameText(IP, SrvIpInfo.IP) and (Port = SrvIpInfo.Port) then
begin
Result := True;
Break;
end;
end;
end;
end;
var
Index: Integer;
begin
Index := ListBoxNet.ItemIndex;
if Index < 0 then Exit;
if ExistLocalServer(ConfigMgr.NetServers[Index]) then
begin
MessageBox(0, '服务器已经添加!', '提示信息', MB_ICONINFORMATION);
end else
begin
ConfigMgr.AddUserServer(ConfigMgr.NetServers[Index]);
LoadLocalServers;
end;
end;
procedure TSystemSetForm.ButtonDelFromLocalClick(Sender: TObject);
const
MSGFLAGS = MB_YESNO + MB_ICONWARNING;
var
Index: Integer;
begin
Index := ListBoxLocal.ItemIndex;
if Index < 0 then Exit;
if MessageBox(Handle, '确认删除?', '提示信息', MSGFLAGS) = mrYes then
begin
ConfigMgr.RemoveUserServer(Index);
LoadLocalServers;
end;
end;
procedure TSystemSetForm.CancelBtnClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TSystemSetForm.CkbUseSoundClick(Sender: TObject);
begin
ConfigMgr.UseSound := CkbUseSound.Checked;
end;
procedure TSystemSetForm.FormCreate(Sender: TObject);
begin
CkbUseSound.Checked := ConfigMgr.UseSound;
LoadLocalServers;
LoadNetServers;
end;
procedure TSystemSetForm.LoadLocalServers;
var
I: Integer;
begin
ListBoxLocal.Items.Clear;
for I := 0 to ConfigMgr.UserServerCount - 1 do
begin
ListBoxLocal.Items.Add(ConfigMgr.UserServers[I].Name);
end;
end;
procedure TSystemSetForm.LoadNetServers;
var
I: Integer;
begin
ListBoxNet.Items.Clear;
for I := 0 to ConfigMgr.NetServerCount - 1 do
begin
ListBoxNet.Items.Add(ConfigMgr.NetServers[I].Name);
end;
end;
procedure TSystemSetForm.UsingBtnClick(Sender: TObject);
begin
ConfigMgr.Save;
MessageBox(0, '设置成功!', '提示信息', MB_ICONINFORMATION);
ModalResult := mrOk;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -