{*******************************************************} { } { ManagerSetting } { } { Copyright (C) 2023 kku } { } {*******************************************************} unit ManagerSetting; interface uses Tocsg.Obj, System.SysUtils, System.Classes, Winapi.Windows; const DAT_SETTING = 'BS1Agents.dat'; type TManagerSetting = class(TTgObject) private procedure Load; public SvrAddr, EmpNoHead: String; ConnAgents, ReadTimeout, ConnectTimeout: DWORD; Constructor Create; Destructor Destroy; override; procedure Save; end; var gSet: TManagerSetting = nil; implementation uses superobject, Tocsg.Path; { TManagerSetting } Constructor TManagerSetting.Create; begin Inherited Create; ASSERT(gSet = nil); gSet := Self; SvrAddr := ''; EmpNoHead := ''; ConnAgents := 1; ReadTimeout := 30000; ConnectTimeout := 30000; Load; end; Destructor TManagerSetting.Destroy; begin gSet := nil; Inherited; end; procedure TManagerSetting.Load; var O: ISuperObject; begin if LoadJsonObjFromFile(O, GetRunExePathDir + DAT_SETTING) then begin SvrAddr := O.S['SvrAddr']; EmpNoHead := O.S['EmpNoHead']; ConnAgents := O.I['ConnAgents']; ReadTimeout := O.I['ReadTimeout']; ConnectTimeout := O.I['ConnectTimeout']; end; end; procedure TManagerSetting.Save; var O: ISuperObject; begin O := SO; O.S['SvrAddr'] := SvrAddr; O.S['EmpNoHead'] := EmpNoHead; O.I['ConnAgents'] := ConnAgents; O.I['ReadTimeout'] := ReadTimeout; O.I['ConnectTimeout'] := ConnectTimeout; SaveJsonObjToFile(O, GetRunExePathDir + DAT_SETTING); end; end.