看着上边好多类似的取值方式,让我想到了继承,可惜之前定义的都是结构,不然可以优化多,这个函数倒不用多做说明,太通俗易懂了.
下边几个过程是将设置写入服务配置文件,都是类似的,也不用多想就可以看懂,一共9个,第一个是调用其他8个的过程,就是主界面上保存设置按钮的事件.
procedure TfrmMain.GenGameConfig;
begin
GenDBServerConfig();
GenLoginServerConfig();
GenM2ServerConfig();
GenLogServerConfig();
GenRunGateConfig();
GenSelGateConfig();
GenLoginGateConfig();
GenPlugTopConfig();
end;
procedure TfrmMain.GenDBServerConfig;
var
sIniFile: string;
SaveList: TStringList;
I: Integer;
begin
IfNoDirThenCreate(g_sGameDirectory + 'DBServer\');
IfNoDirThenCreate(g_sGameDirectory + 'DBServer\DB\');
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2,'ServerName',g_sGameName);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'ServerAddr', sLocalIPaddr);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'ServerPort', g_Config.DBServer.ServerPort);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'GateAddr', sAllIPaddr);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'GatePort', g_Config.DBServer.GatePort);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'IDSAddr', sLocalIPaddr);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'IDSPort', g_Config.LoginSrv.ServerPort);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'DBName', g_sHeroDBName);
WriteIniValue('Dbsrc.ini',DBSERVERSECTIONNAME2, 'DBDir', '.\DB\');
SaveList := TStringList.Create;
SaveList.Add(sLocalIPaddr);
if g_