⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generalconfig.pas

📁 传奇2...飘飘M2的源码.曾经是传奇"龙"版用得最好的M2程序.完整M2源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit GeneralConfig;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, IniFiles, ExtCtrls;

type
  TfrmGeneralConfig = class(TForm)
    PageControl: TPageControl;
    ServerInfoSheet: TTabSheet;
    ShareSheet: TTabSheet;
    NetWorkSheet: TTabSheet;
    GroupBoxNet: TGroupBox;
    LabelGateIPaddr: TLabel;
    LabelGatePort: TLabel;
    EditGateAddr: TEdit;
    EditGatePort: TEdit;
    ButtonNetWorkSave: TButton;
    GroupBox1: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    EditDBPort: TEdit;
    EditDBAddr: TEdit;
    GroupBox2: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    EditIDSPort: TEdit;
    EditIDSAddr: TEdit;
    GroupBox3: TGroupBox;
    Label6: TLabel;
    Label7: TLabel;
    EditLogServerPort: TEdit;
    EditLogServerAddr: TEdit;
    GroupBox4: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    EditMsgSrvPort: TEdit;
    EditMsgSrvAddr: TEdit;
    GroupBoxInfo: TGroupBox;
    Label1: TLabel;
    EditGameName: TEdit;
    EditServerIndex: TEdit;
    Label10: TLabel;
    Label11: TLabel;
    EditServerNumber: TEdit;
    CheckBoxServiceMode: TCheckBox;
    GroupBox5: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    EditTestLevel: TEdit;
    EditTestGold: TEdit;
    EditTestUserLimit: TEdit;
    CheckBoxTestServer: TCheckBox;
    ButtonServerInfoSave: TButton;
    GroupBox6: TGroupBox;
    Label15: TLabel;
    EditUserFull: TEdit;
    GroupBox7: TGroupBox;
    Label16: TLabel;
    EditDBName: TEdit;
    EditGuildDir: TEdit;
    Label17: TLabel;
    Label18: TLabel;
    EditGuildFile: TEdit;
    EditConLogDir: TEdit;
    EditCastleDir: TEdit;
    EditEnvirDir: TEdit;
    EditMapDir: TEdit;
    EditNoticeDir: TEdit;
    EditPlugDir: TEdit;
    Label24: TLabel;
    Label23: TLabel;
    Label22: TLabel;
    Label21: TLabel;
    Label20: TLabel;
    Label19: TLabel;
    EditVentureDir: TEdit;
    Label25: TLabel;
    ButtonShareDirSave: TButton;
    Label26: TLabel;
    TabSheet1: TTabSheet;
    GroupBox8: TGroupBox;
    ColorBoxHint: TColorBox;
    procedure ButtonNetWorkSaveClick(Sender: TObject);
    procedure EditValueChange(Sender: TObject);
    procedure PageControlChanging(Sender: TObject;
      var AllowChange: Boolean);
    procedure CheckBoxTestServerClick(Sender: TObject);
    procedure ButtonServerInfoSaveClick(Sender: TObject);
    procedure ButtonShareDirSaveClick(Sender: TObject);
    procedure ColorBoxHintChange(Sender: TObject);
  private
    boOpened: Boolean;
    boModValued: Boolean;
    procedure ModValue();
    procedure uModValue();
    procedure RefDlgConf();
    { Private declarations }
  public
    procedure Open();
    { Public declarations }
  end;

var
  frmGeneralConfig: TfrmGeneralConfig;

implementation

uses HUtil32, M2Share;

{$R *.dfm}

procedure TfrmGeneralConfig.ModValue;
begin
  boModValued := True;
  ButtonNetWorkSave.Enabled := True;
  ButtonServerInfoSave.Enabled := True;
  ButtonShareDirSave.Enabled := True;
end;

procedure TfrmGeneralConfig.uModValue;
begin
  boModValued := False;
  ButtonNetWorkSave.Enabled := False;
  ButtonServerInfoSave.Enabled := False;
  ButtonShareDirSave.Enabled := False;
end;

procedure TfrmGeneralConfig.ButtonNetWorkSaveClick(Sender: TObject);
var
  Gateaddr, IDSAddr, DBAddr, LogServerAddr, MsgSrvAddr: string;
  GatePort, IDSPort, DBPort, LogServerPort, MsgSrvPort: Integer;
begin

  Gateaddr := Trim(EditGateAddr.Text);
  GatePort := Str_ToInt(Trim(EditGatePort.Text), -1);
  IDSAddr := Trim(EditIDSAddr.Text);
  IDSPort := Str_ToInt(Trim(EditIDSPort.Text), -1);
  DBAddr := Trim(EditDBAddr.Text);
  DBPort := Str_ToInt(Trim(EditDBPort.Text), -1);
  LogServerAddr := Trim(EditLogServerAddr.Text);
  LogServerPort := Str_ToInt(Trim(EditLogServerPort.Text), -1);

  MsgSrvAddr := Trim(EditMsgSrvAddr.Text);
  MsgSrvPort := Str_ToInt(Trim(EditMsgSrvPort.Text), -1);

  if not IsIPaddr(Gateaddr) then begin
    Application.MessageBox('网关地址设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditGateAddr.SetFocus;
    exit;
  end;

  if (GatePort < 0) or (GatePort > 65535) then begin
    Application.MessageBox('网关端口设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditGatePort.SetFocus;
    exit;
  end;

  if not IsIPaddr(IDSAddr) then begin
    Application.MessageBox('管理服务器地址设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditIDSAddr.SetFocus;
    exit;
  end;

  if (IDSPort < 0) or (IDSPort > 65535) then begin
    Application.MessageBox('管理服务器端口设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditIDSPort.SetFocus;
    exit;
  end;

  if not IsIPaddr(DBAddr) then begin
    Application.MessageBox('数据库服务器地址设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditDBAddr.SetFocus;
    exit;
  end;

  if (DBPort < 0) or (DBPort > 65535) then begin
    Application.MessageBox('数据库服务器端口设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditDBPort.SetFocus;
    exit;
  end;

  if not IsIPaddr(LogServerAddr) then begin
    Application.MessageBox('日志服务器地址设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditLogServerAddr.SetFocus;
    exit;
  end;

  if (LogServerPort < 0) or (LogServerPort > 65535) then begin
    Application.MessageBox('日志服务器端口设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditLogServerPort.SetFocus;
    exit;
  end;

  if not IsIPaddr(MsgSrvAddr) then begin
    Application.MessageBox('游戏主服务器地址设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditMsgSrvAddr.SetFocus;
    exit;
  end;

  if (MsgSrvPort < 0) or (MsgSrvPort > 65535) then begin
    Application.MessageBox('游戏主服务器端口设置错误!!!', '错误信息', MB_OK + MB_ICONERROR);
    EditMsgSrvPort.SetFocus;
    exit;
  end;

  g_Config.sGateAddr := Gateaddr;
  g_Config.nGatePort := GatePort;
  g_Config.sIDSAddr := IDSAddr;
  g_Config.nIDSPort := IDSPort;
  g_Config.sDBAddr := DBAddr;
  g_Config.nDBPort := DBPort;
  g_Config.sLogServerAddr := LogServerAddr;
  g_Config.nLogServerPort := LogServerPort;
  g_Config.sMsgSrvAddr := MsgSrvAddr;
  g_Config.nMsgSrvPort := MsgSrvPort;

  Config.WriteString('Server', 'GateAddr', g_Config.sGateAddr);
  Config.WriteInteger('Server', 'GatePort', g_Config.nGatePort);
  Config.WriteString('Server', 'IDSAddr', g_Config.sIDSAddr);
  Config.WriteInteger('Server', 'IDSPort', g_Config.nIDSPort);
  Config.WriteString('Server', 'DBAddr', g_Config.sDBAddr);
  Config.WriteInteger('Server', 'DBPort', g_Config.nDBPort);
  Config.WriteString('Server', 'LogServerAddr', g_Config.sLogServerAddr);
  Config.WriteInteger('Server', 'LogServerPort', g_Config.nLogServerPort);
  Config.WriteString('Server', 'MsgSrvAddr', g_Config.sMsgSrvAddr);
  Config.WriteInteger('Server', 'MsgSrvPort', g_Config.nMsgSrvPort);
  uModValue();
end;

procedure TfrmGeneralConfig.Open;
begin
  boOpened := False;
  uModValue();
  EditGateAddr.Text := g_Config.sGateAddr;
  EditGatePort.Text := IntToStr(g_Config.nGatePort);
  EditIDSAddr.Text := g_Config.sIDSAddr;
  EditIDSPort.Text := IntToStr(g_Config.nIDSPort);
  EditDBAddr.Text := g_Config.sDBAddr;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -