Example #1
0
        public static void SaveConfig(ConfigClass _config)
        {
            Configuration cfg = Configuration.LoadFromFile(configFile);

            cfg["MAIN"].GetValuesFrom(_config);
            cfg.SaveToFile("CaptureFS.cfg");
        }
Example #2
0
        /// <summary>
        /// Tool Data Load
        /// </summary>
        public void ToolDataLoad(string _strFileName)
        {
            SharpConfig.Configuration config = null;

            if (System.IO.File.Exists(_strFileName))
            {
                config = SharpConfig.Configuration.LoadFromFile(_strFileName);
            }

            if (config == null)
            {
                config = new SharpConfig.Configuration();
            }

            if (config.Contains(SAVEDATA_SECTION))
            {
                var userdata = config[SAVEDATA_SECTION];

                m_Data._iIndex      = userdata[SAVEDATA_KEY_INDEX].IntValue;
                m_Data._iHorizontal = userdata[SAVEDATA_KEY_HORIZONTAL].IntValue;
                m_Data._iVertical   = userdata[SAVEDATA_KEY_VERTICAL].IntValue;
                m_Data._iTouchCount = userdata[SAVEDATA_KEY_TOUCHCOUNT].IntValue;

                m_Data._iArrayPieceImg    = userdata[SAVEDATA_KEY_PIECE_IMG].IntValueArray;
                m_Data._iArrayPieceRotate = userdata[SAVEDATA_KEY_PIECE_ROTATE].IntValueArray;
            }
        }
Example #3
0
        public static ConfigClass LoadConfig(string _section)
        {
            Configuration cfg = Configuration.LoadFromFile(configFile);

            cfg = Configuration.LoadFromFile(configFile);
            return(cfg[_section].ToObject <ConfigClass>());
        }
Example #4
0
        /// <summary>
        /// Some basic config fie validation.
        /// </summary>
        /// <param name="filePath">The path to the config fie.</param>
        /// <returns></returns>
        public static bool ValidateConfigFile(string filePath)
        {
            SharpConfig.Configuration config = GetConfigurationObject();

            // The app section is a required section.
            return(config.GetSectionsNamed("App").Count() == 1);
        }
Example #5
0
		public ConfigWrapper Load(string filename)
		{
			lock (config_lock)
			{
				foreach (var oldcfg in Loaded)
				{
					if (oldcfg.File.Equals(filename))
						return oldcfg;
				}
				SharpConfig.Configuration scfg = null;

				var fullpath = System.IO.Path.Combine(datapath, filename);
				if (System.IO.File.Exists(fullpath))
					scfg = SharpConfig.Configuration.LoadFromFile(fullpath);
				else
				{
					Log.Warning("Not found: {Path}", fullpath);
					scfg = new SharpConfig.Configuration();
					System.IO.Directory.CreateDirectory(datapath);
				}

				var config = new ConfigWrapper(scfg, filename);
				Loaded.Add(config);

				config.onUnload += (cfg, ea) => { Loaded.Remove((ConfigWrapper)cfg); };
				config.onSave += (cfg, ea) => { Save((ConfigWrapper)cfg); };

				return config;
			}
		}
Example #6
0
        /// <summary>
        /// Retrieve the setting from the config file as a decimal value.
        /// </summary>
        /// <param name="config">The configuration object,</param>
        /// <param name="section">The required section.</param>
        /// <param name="key">The required key.</param>
        /// <param name="defaultValue">The default value.</param>
        /// <returns>The decimal value of the setting or the default value.</returns>
        public decimal GetConfigSetting(
            SharpConfig.Configuration config,
            string section,
            string key,
            decimal defaultValue = 0)
        {
            // Set up the result anad get the raw value.
            decimal result   = defaultValue;
            string  rawValue = config[section][key].RawValue;

            // Check to see if the raw value is null or empty.
            if (!string.IsNullOrEmpty(rawValue))
            {
                // We have a non-null, non-empty value so try to get the decimal value and
                // set the result to the default value if there is an exception.
                try
                {
                    result = config[section][key].DecimalValue;
                }
                catch
                {
                    result = defaultValue;
                }
            }

            return(result);
        }
Example #7
0
        /// <summary>
        /// Get the ship name from the specified config section.
        /// </summary>
        /// <param name="sectionName">The name of the section contining the ship data.</param>
        /// <returns>The ship name.</returns>
        private string GetShipNameFromConfigSection(string sectionName)
        {
            SharpConfig.Configuration config = GetConfigurationObject();

            SharpConfig.Section configSection = config[sectionName];

            return(GetStringSetting(configSection, "shipName"));
        }
Example #8
0
        /// <summary>
        /// Creates new config and sets it to default values.
        /// </summary>
        private void SetupConfig(SharpConfig.Configuration config)
        {
            SetupEntries(config, boolStateConfiguration);
            SetupEntries(config, boolConfiguration);
            SetupEntries(config, floatConfiguration);
            SetupEntries(config, intConfiguration);

            config.SaveToFile(filename);
        }
Example #9
0
 /// <summary>重新加载配置文件,如果配置文件不存在就生成一个</summary>
 public void Reload()
 {
     if (!System.IO.File.Exists(ConfigFileName))
     {
         Cfg = new SharpConfig.Configuration();
         SetConfig?.Invoke(Cfg);
         Save();
         return;
     }
     Cfg = SharpConfig.Configuration.LoadFromFile(ConfigFileName);
 }
Example #10
0
        private static void SetupEntries(SharpConfig.Configuration config, IEnumerable <ConfigEntry> entries)
        {
            foreach (var cfg in entries)
            {
                if (!cfg.Exists())
                {
                    continue;
                }

                cfg.Setup(config.Get(cfg));
            }
        }
Example #11
0
        public static void ReadConfigFile()
        {
            config  = SharpConfig.Configuration.LoadFromFile(configFile);
            section = config["config"];

            Template                   = section["Template"].StringValue;
            OutPutDir                  = section["OutPutDir"].StringValue;
            NameSpace                  = section["NameSpace"].StringValue;
            ClassSuffix                = section["ClassSuffix"].StringValue;
            FileType                   = section["FileType"].StringValue;
            FileEncoding               = section["FileEncoding"].StringValue;
            UnKnowDbType               = section["UnKnowDbType"].StringValue;
            TableComment               = section["TableComment"].BoolValue;
            ColumnComment              = section["ColumnComment"].BoolValue;
            SqlserverConnectionString  = section["SqlserverConnectionString"].StringValue;
            MysqlConnectionString      = section["MysqlConnectionString"].StringValue;
            SqliteConnectionString     = section["SqliteConnectionString"].StringValue;
            PostgresqlConnectionString = section["PostgresqlConnectionString"].StringValue;
            OracleConnectionString     = section["OracleConnectionString"].StringValue;

            XDocument doc = XDocument.Load(ApplicationPath + "Template\\DbTypeMap.xml");
            XElement  DbTypeMapElement = doc.Element("DbTypeMap");

            foreach (XElement element in DbTypeMapElement.Elements("Database")) //遍历数据库
            {
                string dbProvider = element.Attribute("DbProvider").Value;
                string language   = element.Attribute("Language").Value;
                string key        = dbProvider + language;

                List <DbTypeEntity> list;
                if (!DbTypeDictionary.ContainsKey(key))
                {
                    list = new List <DbTypeEntity>();
                    DbTypeDictionary[key] = list;
                }
                else
                {
                    list = DbTypeDictionary[key];
                }

                foreach (XElement el in element.Elements("DbType")) //遍历语言转换
                {
                    string       Name  = el.Attribute("Name").Value;
                    string       To    = el.Attribute("To").Value.Replace("&lt;", "<").Replace("&gt;", ">");
                    DbTypeEntity model = new DbTypeEntity();
                    model.Name = Name;
                    model.To   = To;
                    list.Add(model);
                }
            }
        }
Example #12
0
        /// <summary>
        /// Tool Data Save
        /// </summary>
        public void ToolDataSave(string _strFileName)
        {
            var config = new SharpConfig.Configuration();

            config[SAVEDATA_SECTION][SAVEDATA_KEY_INDEX].IntValue      = m_Data._iIndex;
            config[SAVEDATA_SECTION][SAVEDATA_KEY_HORIZONTAL].IntValue = m_Data._iHorizontal;
            config[SAVEDATA_SECTION][SAVEDATA_KEY_VERTICAL].IntValue   = m_Data._iVertical;
            config[SAVEDATA_SECTION][SAVEDATA_KEY_TOUCHCOUNT].IntValue = m_Data._iTouchCount;

            config[SAVEDATA_SECTION][SAVEDATA_KEY_PIECE_IMG].IntValueArray    = m_Data._iArrayPieceImg;
            config[SAVEDATA_SECTION][SAVEDATA_KEY_PIECE_ROTATE].IntValueArray = m_Data._iArrayPieceRotate;

            config.SaveToFile(_strFileName);
        }
Example #13
0
        static Configuration()
        {
            var data = API.LoadResourceFile(API.GetCurrentResourceName(), "ELS.ini");

            if (isValidData(data))
            {
                SharpConfig.Configuration u = SharpConfig.Configuration.LoadFromString(data);
                ElsCarAdminOnly  = u["ADMIN"]["ElsCarAdminOnly"].BoolValue;
                ElsVehicleGroups = new List <string>();
                foreach (string s in u["ADMIN"]["Groups"].StringValueArray)
                {
                    ElsVehicleGroups.Add(s);
                }
            }
        }
Example #14
0
        /// <summary>
        /// 获取配置文件配置
        /// </summary>
        /// <typeparam name="K">
        /// </typeparam>
        /// <param name="nameSpace">
        /// 命名空间
        /// </param>
        /// <param name="name">
        /// 名
        /// </param>
        /// <returns>
        /// 值
        /// </returns>
        public K GetConfig <K>(string nameSpace, string name = null) where K : class
        {
            if (Cfg == null)
            {
                var file = AppDomain.CurrentDomain.BaseDirectory + "App_Data\\config.cfg";
                Cfg = SharpConfig.Configuration.LoadFromFile(file);
            }

            if (!string.IsNullOrWhiteSpace(name) && !string.IsNullOrWhiteSpace(nameSpace))
            {
                return(Cfg[nameSpace][name].GetValueTyped <K>());
            }
            else if (!string.IsNullOrWhiteSpace(nameSpace))
            {
                return(Cfg[nameSpace].CreateObject <K>());
            }
            throw new Exception("配置文件不存在");
        }
Example #15
0
        private void LoadEntries(SharpConfig.Configuration config, IEnumerable <ConfigEntry> entries,
                                 ref bool error)
        {
            foreach (var cfg in entries)
            {
                if (!cfg.Exists())
                {
                    continue;
                }

                if (config.Exists(cfg.section, cfg.setting, loggingLevel))
                {
                    cfg.Load(config.Get(cfg));
                }
                else
                {
                    error = true;
                }
            }
        }
 private string ReadStringFromSection(SharpConfig.Configuration Config, string Section, string Key, string DefaultValue)
 {
     if (Config[Section] != null)
     {
         SharpConfig.Section sec = Config[Section];
         if (sec[Key] != null)
         {
             //return sec[Key].StringValue + (sec[Key].Comment != null ? sec[Key].Comment.Value.Value.Trim() : "");
             return(sec[Key].StringValue + sec[Key].Comment); //(sec[Key].Comment != null ? sec[Key].Comment.Value.Value.Trim() : "");
         }
         else
         {
             return(DefaultValue);
         }
     }
     else
     {
         return(DefaultValue);
     }
 }
Example #17
0
        private static void CreateLoadConfig()
        {
            string username;
            string password;
            string databasename;
            string dbServerip;

            if (File.Exists(Directory.GetCurrentDirectory() + "\\KoiAnime_Server.cfg"))
            {
                var    config          = SharpConfig.Configuration.LoadFromFile("KoiAnime_Server.cfg");
                var    databaseSection = config["DATABASE"];
                string dbServerIP      = databaseSection["DBServerIP"].StringValue;
                string dbUserName      = databaseSection["Username"].StringValue;
                string dbUserPassword  = databaseSection["Password"].StringValue;
                string dbName          = databaseSection["DatabaseName"].StringValue;
                Properties.Settings.Default.koianimeConnectionString = "server=" + dbServerIP + ";" + "user id=" + dbUserName + ";" + "persistsecurityinfo=False;" + "database=" + dbName + ";" + "password="******"KoiAnime Database Server Configurator v0.1\n--------------------------------\n");
                Console.Write("Write your IP address of server: ");
                dbServerip = Console.ReadLine();
                Console.Write("Write your UserName of the Database: ");
                username = Console.ReadLine();
                Console.Write("Write the password of the Username Database: ");
                password = Console.ReadLine();
                Console.Write("Write the name of the Database: ");
                databasename = Console.ReadLine();
                config["DATABASE"]["DBServerIP"].StringValue   = dbServerip;
                config["DATABASE"]["Username"].StringValue     = username;
                config["DATABASE"]["Password"].StringValue     = password;
                config["DATABASE"]["DatabaseName"].StringValue = databasename;
                config.SaveToFile(Directory.GetCurrentDirectory() + "\\KoiAnime_Server.cfg");
                Properties.Settings.Default.koianimeConnectionString = "server=" + dbServerip + ";" + "user id=" + username + ";" + "persistsecurityinfo=False;" + "database=" + databasename + ";" + "password=" + password;

                Console.Clear();
            }
        }
Example #18
0
        /// <summary>
        /// Get a list of available ships from the settings.
        /// </summary>
        /// <returns>A list of available ships.</returns>
        public IList <ComboBoxItem> SetAvailableShips()
        {
            LoadInitialShipList();

            IList <ComboBoxItem> ships = new List <ComboBoxItem>();

            SharpConfig.Configuration config = GetConfigurationObject();

            foreach (string shipId in settingsRef
                     .AvailableShips
                     .Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries))
            {
                SharpConfig.Section configSection = config[shipId];

                ships.Add(new ComboBoxItem()
                {
                    Text  = GetStringSetting(configSection, "shipName"),
                    Value = shipId
                });
            }

            // Order the two sections separately.
            IList <ComboBoxItem> owned = ships
                                         .Where(x => x.Value.ToString().StartsWith("Ship ID"))
                                         .OrderBy(x => x.Text)
                                         .ToList();

            IList <ComboBoxItem> initial = ships
                                           .Where(x => x.Value.ToString().StartsWith("Default"))
                                           .OrderBy(x => x.Text)
                                           .ToList();

            ships = new List <ComboBoxItem>(owned.Concat(initial));

            return(ships);
        }
Example #19
0
        public MainWindow()
        {
            InitializeComponent();

            try
            {
                config = SharpConfig.Configuration.LoadFromFile(App.TempDir + "\\" + ConfigFileName);
                var section = config["General"];
                if (section.Contains("LocalHost") && !String.IsNullOrEmpty(section["LocalHost"].StringValue.Trim()))
                {
                    localHostTextBox.Text = section["LocalHost"].StringValue;
                }
                if (section.Contains("LocalPort") && section["LocalPort"].IntValue > 0)
                {
                    localPortTextBox.Text = section["LocalPort"].IntValue.ToString();
                }
                if (section.Contains("HttpHost") && !String.IsNullOrEmpty(section["HttpHost"].StringValue.Trim()))
                {
                    httpHostTextBox.Text = section["HttpHost"].StringValue;
                }
                if (section.Contains("HttpPort") && section["HttpPort"].IntValue > 0)
                {
                    httpPortTextBox.Text = section["HttpPort"].IntValue.ToString();
                }
                if (section.Contains("RemoteHost") && !String.IsNullOrEmpty(section["RemoteHost"].StringValue.Trim()))
                {
                    remoteHostTextBox.Text = section["RemoteHost"].StringValue;
                }
                if (section.Contains("RemotePort") && section["RemotePort"].IntValue > 0)
                {
                    remotePortTextBox.Text = section["RemotePort"].IntValue.ToString();
                }
                if (section.Contains("PrivateFilePath") && !String.IsNullOrEmpty(section["PrivateFilePath"].StringValue.Trim()))
                {
                    privateFilePathTextBox.Text = section["PrivateFilePath"].StringValue;
                }
            }
            catch
            {
            }

            this.Icon = new BitmapImage(new Uri("pack://application:,,,/Resources/logo_gray.ico", UriKind.Absolute));

            notifyIcon                   = new System.Windows.Forms.NotifyIcon();
            notifyIcon.Text              = this.Title;
            notifyIcon.Icon              = Properties.Resources.logo_gray;
            notifyIcon.Visible           = true;
            notifyIcon.MouseDoubleClick += notifyIcon_MouseDoubleClick;

            List <MenuItem> menuItems = new List <MenuItem>();

            MenuItem menuItemOpen = new MenuItem();

            menuItemOpen.Text   = "Open";
            menuItemOpen.Click += menu_item_open_Click;
            menuItems.Add(menuItemOpen);

            MenuItem menuItemClose = new MenuItem();

            menuItemClose.Text   = "Close";
            menuItemClose.Click += menu_item_close_Click;
            menuItems.Add(menuItemClose);

            notifyIcon.ContextMenu = new ContextMenu(menuItems.ToArray());
        }
Example #20
0
        /// <summary>
        /// Populate the config with the initial ship data.
        /// </summary>
        private void LoadInitialShipList()
        {
            try
            {
                SharpConfig.Configuration config = GetConfigurationObject();

                ShipSection shipSection = ((ShipSection)ConfigurationManager.GetSection("ships"));

                int id = 0;

                if (settingsRef.AvailableShips == null)
                {
                    settingsRef.AvailableShips = string.Empty;
                }

                bool noneOwned = string.IsNullOrEmpty(settingsRef.AvailableShips);

                foreach (ShipConfig ship in shipSection.ShipSettings.Cast <ShipConfig>())
                {
                    string sectionName = "Default {0}".With(++id);

                    if (!settingsRef.AvailableShips.Contains(sectionName))
                    {
                        settingsRef.AvailableShips += ",{0}".With(sectionName);
                    }

                    config[sectionName]["Capacity"].DecimalValue
                        = decimal.TryParse(ship.InitialCapacity, out decimal capacity)
                        ? capacity
                        : 1;

                    config[sectionName]["LadenLY"].DecimalValue
                        = decimal.TryParse(ship.InitialLadenLY, out decimal ladenLy)
                        ? ladenLy
                        : 1;

                    config[sectionName]["unladenLY"].DecimalValue
                        = decimal.TryParse(ship.InitialUnladenLY, out decimal unladenLy)
                        ? unladenLy
                        : 1;

                    config[sectionName]["shipName"].StringValue = ship.Name;
                    config[sectionName]["Padsizes"].StringValue = ship.PadSizes;
                    config[sectionName]["shipType"].StringValue = ship.ShipType;

                    if (noneOwned &&
                        ship.Name.Equals("Sidewinder"))
                    {
                        settingsRef.LastUsedConfig = sectionName;
                    }
                }

                config.SaveToFile(configFile);

                settingsRef.AvailableShips = settingsRef.AvailableShips.Trim(new char[] { ',' });
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.GetFullMessage());
            }
        }
Example #21
0
        /// <summary>
        /// Save the settings to the ini file.
        /// </summary>
        public static void SaveSettingsToIniFile()
        {
            SharpConfig.Configuration config = GetConfigurationObject();

            TDSettings settings = settingsRef;

            SharpConfig.Section configSection = config["App"];

            // Settgins used for trade route calculation.
            configSection["Age"].DecimalValue            = settings.Age;
            configSection["Avoid"].StringValue           = settings.Avoid ?? string.Empty;
            configSection["BlackMarket"].BoolValue       = settings.BlackMarket;
            configSection["Direct"].BoolValue            = settings.Direct;
            configSection["Demand"].DecimalValue         = settings.Demand;
            configSection["EndJumps"].DecimalValue       = settings.EndJumps;
            configSection["ExtraRunParams"].StringValue  = settings.ExtraRunParams ?? string.Empty;
            configSection["GPT"].DecimalValue            = settings.GPT;
            configSection["Hops"].DecimalValue           = settings.Hops;
            configSection["IncludeInsurance"].BoolValue  = settings.IncludeInsurance;
            configSection["Jumps"].DecimalValue          = settings.Jumps;
            configSection["Limit"].DecimalValue          = settings.Limit;
            configSection["Loop"].BoolValue              = settings.Loop;
            configSection["LoopInt"].DecimalValue        = settings.LoopInt;
            configSection["LSPenalty"].DecimalValue      = settings.LSPenalty;
            configSection["Margin"].DecimalValue         = settings.Margin;
            configSection["MarkedStations"].StringValue  = settings.MarkedStations ?? string.Empty;
            configSection["MaxGPT"].DecimalValue         = settings.MaxGPT;
            configSection["MaxLSDistance"].DecimalValue  = settings.MaxLSDistance;
            configSection["NumberOfRoutes"].DecimalValue = settings.NumberOfRoutes;
            configSection["Planetary"].StringValue       = settings.Planetary ?? string.Empty;
            configSection["PruneHops"].DecimalValue      = settings.PruneHops;
            configSection["PruneScore"].DecimalValue     = settings.PruneScore;
            configSection["Shorten"].BoolValue           = settings.Shorten;
            configSection["ShowJumps"].BoolValue         = settings.ShowJumps;
            configSection["ShowProgress"].BoolValue      = settings.ShowProgress;
            configSection["StartJumps"].DecimalValue     = settings.StartJumps;
            configSection["Stock"].DecimalValue          = settings.Stock;
            configSection["Summary"].BoolValue           = settings.Summary;
            configSection["Towards"].BoolValue           = settings.Towards;
            configSection["Unique"].BoolValue            = settings.Unique;
            configSection["Verbosity"].DecimalValue      = settings.Verbosity;
            configSection["Via"].StringValue             = settings.Via ?? string.Empty;

            // Commander settings
            configSection = config["Commander"];

            configSection["CmdrName"].StringValue         = settings.CmdrName ?? string.Empty;
            configSection["Credits"].DecimalValue         = settings.Credits;
            configSection["RebuyPercentage"].DecimalValue = settings.RebuyPercentage;

            // TD Helper system settings.
            configSection = config["System"];

            configSection["AvailableShips"].StringValue      = settings.AvailableShips ?? string.Empty;
            configSection["CopySystemToClipboard"].BoolValue = settings.CopySystemToClipboard;
            configSection["DisableNetLogs"].BoolValue        = settings.DisableNetLogs;
            configSection["DoNotUpdate"].BoolValue           = settings.DoNotUpdate;
            configSection["HasUpdated"].BoolValue            = settings.HasUpdated;
            configSection["ImportPath"].StringValue          = settings.ImportPath ?? string.Empty;
            configSection["LastUsedConfig"].StringValue      = settings.LastUsedConfig ?? string.Empty;
            configSection["Locale"].StringValue         = settings.Locale ?? string.Empty;
            configSection["LocationChild"].StringValue  = settings.LocationChild ?? string.Empty;
            configSection["LocationParent"].StringValue = settings.LocationParent ?? string.Empty;
            configSection["MiniModeOnTop"].BoolValue    = settings.MiniModeOnTop;
            configSection["NetLogPath"].StringValue     = settings.NetLogPath ?? string.Empty;
            configSection["PythonPath"].StringValue     = settings.PythonPath ?? string.Empty;
            configSection["Quiet"].BoolValue            = settings.Quiet;
            configSection["SizeChild"].StringValue      = settings.SizeChild ?? string.Empty;
            configSection["SizeParent"].StringValue     = settings.SizeParent ?? string.Empty;
            configSection["TDVersion"].StringValue      = settings.TDVersion ?? string.Empty;
            configSection["TestSystems"].BoolValue      = settings.TestSystems;
            configSection["TimeOut"].IntValue           = settings.TimeOut;
            configSection["TreeViewFont"].StringValue   = settings.TreeViewFont ?? string.Empty;
            configSection["UploadPath"].StringValue     = settings.UploadPath ?? string.Empty;

            configSection = config["EDDBlink"];

            configSection["SkipVend"].BoolValue = settings.SkipVend;
            configSection["Solo"].BoolValue     = settings.Solo;

            // Update the current ship if required.
            if (!string.IsNullOrEmpty(settings.LastUsedConfig))
            {
                string sectionName = settings.LastUsedConfig;

                bool hasSection = config.FirstOrDefault(x => x.Name == sectionName) != null;

                if (hasSection)
                {
                    if (config[sectionName]["Capacity"].DecimalValue != settings.Capacity)
                    {
                        config[sectionName]["Capacity"].DecimalValue = settings.Capacity;
                    }

                    if (config[sectionName]["LadenLY"].DecimalValue != settings.LadenLY)
                    {
                        config[sectionName]["LadenLY"].DecimalValue = settings.LadenLY;
                    }

                    if (config[sectionName]["Padsizes"].StringValue != settings.Padsizes)
                    {
                        config[sectionName]["Padsizes"].StringValue = settings.Padsizes;
                    }

                    if (config[sectionName]["UnladenLY"].DecimalValue != settings.UnladenLY)
                    {
                        config[sectionName]["UnladenLY"].DecimalValue = settings.UnladenLY;
                    }
                }
                else
                {
                    config[sectionName]["Capacity"].DecimalValue  = settings.Capacity;
                    config[sectionName]["LadenLY"].DecimalValue   = settings.LadenLY;
                    config[sectionName]["Padsizes"].StringValue   = settings.Padsizes;
                    config[sectionName]["UnladenLY"].DecimalValue = settings.UnladenLY;
                }
            }

            config.SaveToFile(configFile);
        }
Example #22
0
        /// <summary>
        /// Load the setting from the inin file.
        /// </summary>
        public static void LoadSettingsFromIniFile()
        {
            if (CheckIfFileOpens(configFile))
            {
                SharpConfig.Configuration config = GetConfigurationObject();
                TDSettings settings = settingsRef;

                SharpConfig.Section configSection = config["App"];

                settings.Age              = GetDecimalSetting(configSection, "Age");
                settings.Avoid            = GetStringSetting(configSection, "Avoid");
                settings.Demand           = GetDecimalSetting(configSection, "Demand");
                settings.EndJumps         = GetDecimalSetting(configSection, "EndJumps");
                settings.ExtraRunParams   = GetStringSetting(configSection, "ExtraRunParams");
                settings.GPT              = GetDecimalSetting(configSection, "GPT");
                settings.Hops             = GetDecimalSetting(configSection, "Hops");
                settings.IncludeInsurance = GetBooleanSetting(configSection, "IncludeInsurance", true);
                settings.Jumps            = GetDecimalSetting(configSection, "Jumps");
                settings.Limit            = GetDecimalSetting(configSection, "Limit");
                settings.Loop             = GetBooleanSetting(configSection, "Loop");
                settings.LoopInt          = GetDecimalSetting(configSection, "LoopInt");
                settings.LSPenalty        = GetDecimalSetting(configSection, "LSPenalty", 12.5M);
                settings.Margin           = GetDecimalSetting(configSection, "Margin");
                settings.MarkedStations   = GetStringSetting(configSection, "MarkedStations");
                settings.MaxGPT           = GetDecimalSetting(configSection, "MaxGPT");
                settings.MaxLSDistance    = GetDecimalSetting(configSection, "MaxLSDistance");
                settings.Planetary        = GetStringSetting(configSection, "Planetary");
                settings.PruneHops        = GetDecimalSetting(configSection, "PruneHops");
                settings.PruneScore       = GetDecimalSetting(configSection, "PruneScore");
                settings.NumberOfRoutes   = GetDecimalSetting(configSection, "NumberOfRoutes");
                settings.ShowJumps        = GetBooleanSetting(configSection, "ShowJumps");
                settings.ShowProgress     = GetBooleanSetting(configSection, "ShowProgress");
                settings.StartJumps       = GetDecimalSetting(configSection, "startJumps");
                settings.Stock            = GetDecimalSetting(configSection, "Stock");
                settings.Summary          = GetBooleanSetting(configSection, "Summary");
                settings.Towards          = GetBooleanSetting(configSection, "Towards");
                settings.Unique           = GetBooleanSetting(configSection, "Unique");
                settings.Verbosity        = GetDecimalSetting(configSection, "Verbosity");
                settings.Via              = GetStringSetting(configSection, "Via");

                // Commander settings
                configSection = config["Commander"];

                settings.CmdrName        = GetStringSetting(configSection, "CmdrName");
                settings.Credits         = GetDecimalSetting(configSection, "Credits", 100M);
                settings.RebuyPercentage = GetDecimalSetting(configSection, "RebuyPercentage");

                // TD Helper system settings.
                configSection = config["System"];

                settings.AvailableShips        = GetStringSetting(configSection, "AvailableShips");
                settings.CopySystemToClipboard = GetBooleanSetting(configSection, "CopySystemToClipboard");
                settings.DisableNetLogs        = GetBooleanSetting(configSection, "DisableNetLogs");
                settings.DoNotUpdate           = GetBooleanSetting(configSection, "DoNotUpdate");
                settings.HasUpdated            = GetBooleanSetting(configSection, "HasUpdated");
                settings.ImportPath            = GetStringSetting(configSection, "ImportPath");
                settings.Locale         = GetStringSetting(configSection, "Locale");
                settings.LastUsedConfig = GetStringSetting(configSection, "LastUsedConfig");
                settings.LocationChild  = GetStringSetting(configSection, "LocationChild");
                settings.LocationParent = GetStringSetting(configSection, "LocationParent");
                settings.MiniModeOnTop  = GetBooleanSetting(configSection, "MiniModeOnTop");
                settings.NetLogPath     = GetStringSetting(configSection, "NetLogPath");
                settings.PythonPath     = GetStringSetting(configSection, "PythonPath");
                settings.Quiet          = GetBooleanSetting(configSection, "Quiet");
                settings.SizeChild      = GetStringSetting(configSection, "SizeChild");
                settings.SizeParent     = GetStringSetting(configSection, "SizeParent");
                settings.TDVersion      = GetStringSetting(configSection, "TDVersion");
                settings.TestSystems    = GetBooleanSetting(configSection, "TestSystems");
                settings.TimeOut        = GetIntegerSetting(configSection, "TimeOut");
                settings.TreeViewFont   = GetStringSetting(configSection, "TreeViewFont");
                settings.UploadPath     = GetStringSetting(configSection, "UploadPath");

                // EDDBlink settings
                configSection = config["EDDBlink"];

                settings.SkipVend = GetBooleanSetting(configSection, "SkipVend");
                settings.Solo     = GetBooleanSetting(configSection, "Solo");

                // Update settings if required.
                if (string.IsNullOrEmpty(settings.Locale))
                {
                    // Set the locale to British Engish.
                    settings.Locale = "en-gb";
                }
            }
        }
        public bool GenerateConfigurarionFile()
        {
            SharpConfig.Configuration config = null;
            try
            {
                config = SharpConfig.Configuration.LoadFromFile(this._dofFile);
            }
            catch
            {
                return(false);
            }

            try
            {
                LoadSearchPath();//implicit load rootDir

                using (System.IO.StreamWriter fileout = new System.IO.StreamWriter(this._fileName, false))
                {
                    string FileVersion = ReadStringFromSection(config, "FileVersion", "Version", "<unknown>");

                    string s = "";
                    // -- $-Switches

                    // Record Alignment
                    s = ReadStringFromSection(config, "Compiler", "A", "8");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$A-");
                    }
                    else if (s == "1")
                    {
                        if ((FileVersion == "<unknown>") | (FileVersion == "5.0"))
                        {
                            fileout.WriteLine("-$A+");
                        }
                        else
                        {
                            fileout.WriteLine("-$A" + s);
                        }
                    }
                    else
                    {
                        fileout.WriteLine("-$A" + s);
                    }

                    // Bool Eval
                    s = ReadStringFromSection(config, "Compiler", "B", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$B-");
                    }
                    else
                    {
                        fileout.WriteLine("-$B+");
                    }

                    // Assertions
                    s = ReadStringFromSection(config, "Compiler", "C", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$C-");
                    }
                    else
                    {
                        fileout.WriteLine("-$C+");
                    }

                    // DebugInfo
                    s = ReadStringFromSection(config, "Compiler", "D", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$D-");
                    }
                    else
                    {
                        fileout.WriteLine("-$D+");
                    }

                    // unknown, probably never used
                    s = ReadStringFromSection(config, "Compiler", "E", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$E-");
                    }
                    else
                    {
                        fileout.WriteLine("-$E+");
                    }

                    // unknown, probably never used
                    s = ReadStringFromSection(config, "Compiler", "F", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$F-");
                    }
                    else
                    {
                        fileout.WriteLine("-$F+");
                    }

                    // ImportedData
                    s = ReadStringFromSection(config, "Compiler", "G", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$G-");
                    }
                    else
                    {
                        fileout.WriteLine("-$G+");
                    }

                    // LongStrings
                    s = ReadStringFromSection(config, "Compiler", "H", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$H-");
                    }
                    else
                    {
                        fileout.WriteLine("-$H+");
                    }

                    // IOChecking
                    s = ReadStringFromSection(config, "Compiler", "I", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$I-");
                    }
                    else
                    {
                        fileout.WriteLine("-$I+");
                    }

                    // WritableConsts
                    s = ReadStringFromSection(config, "Compiler", "J", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$J-");
                    }
                    else
                    {
                        fileout.WriteLine("-$J+");
                    }

                    // Unknown, probably never used
                    s = ReadStringFromSection(config, "Compiler", "K", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$K-");
                    }
                    else
                    {
                        fileout.WriteLine("-$K+");
                    }

                    // LocalDebugSymbols
                    s = ReadStringFromSection(config, "Compiler", "L", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$L-");
                    }
                    else
                    {
                        fileout.WriteLine("-$L+");
                    }

                    // RuntimeTypeInfo
                    s = ReadStringFromSection(config, "Compiler", "M", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$M-");
                    }
                    else
                    {
                        fileout.WriteLine("-$M+");
                    }

                    // Unknown, probably never used
                    s = ReadStringFromSection(config, "Compiler", "N", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$N-");
                    }
                    else
                    {
                        fileout.WriteLine("-$N+");
                    }

                    // Optimization
                    s = ReadStringFromSection(config, "Compiler", "O", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$O-");
                    }
                    else
                    {
                        fileout.WriteLine("-$O+");
                    }

                    // OpenStringParams
                    s = ReadStringFromSection(config, "Compiler", "P", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$P-");
                    }
                    else
                    {
                        fileout.WriteLine("-$P+");
                    }

                    // IntegerOverflowChecking
                    s = ReadStringFromSection(config, "Compiler", "Q", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$Q-");
                    }
                    else
                    {
                        fileout.WriteLine("-$Q+");
                    }

                    // RangeChecking
                    s = ReadStringFromSection(config, "Compiler", "R", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$R-");
                    }
                    else
                    {
                        fileout.WriteLine("-$R+");
                    }

                    // Unknown, probably never used
                    s = ReadStringFromSection(config, "Compiler", "S", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$S-");
                    }
                    else
                    {
                        fileout.WriteLine("-$S+");
                    }

                    // Typed @ operator
                    s = ReadStringFromSection(config, "Compiler", "T", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$T-");
                    }
                    else
                    {
                        fileout.WriteLine("-$T+");
                    }

                    // PentiumSaveDivide
                    s = ReadStringFromSection(config, "Compiler", "U", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$U-");
                    }
                    else
                    {
                        fileout.WriteLine("-$U+");
                    }

                    // StrictVarStrings
                    s = ReadStringFromSection(config, "Compiler", "V", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$V-");
                    }
                    else
                    {
                        fileout.WriteLine("-$V+");
                    }

                    // GenerateStackFrames
                    s = ReadStringFromSection(config, "Compiler", "W", "0");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$W-");
                    }
                    else
                    {
                        fileout.WriteLine("-$W+");
                    }

                    // ExtendedSyntax
                    s = ReadStringFromSection(config, "Compiler", "X", "1");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$X-");
                    }
                    else
                    {
                        fileout.WriteLine("-$X+");
                    }

                    // SymbolReferenceInfo
                    s = ReadStringFromSection(config, "Compiler", "Y", "2");
                    if (s == "0")
                    {
                        fileout.WriteLine("-$Y-");
                    }
                    else if (s == "1")
                    {
                        fileout.WriteLine("-$YD");
                    }
                    else
                    {
                        fileout.WriteLine("-$Y+");
                    }

                    // Minimum Size of Enum
                    s = ReadStringFromSection(config, "Compiler", "Z", "1");
                    fileout.WriteLine("-$Z" + s);

                    // -- no "$" options

                    // MapFile
                    s = ReadStringFromSection(config, "Linker", "MapFile", "0");
                    if (s == "1")
                    {
                        fileout.WriteLine("-GS"); // with segements;
                    }
                    else if (s == "2")
                    {
                        fileout.WriteLine("-GP"); // with publics;
                    }
                    else if (s == "3")
                    {
                        fileout.WriteLine("-GP"); // detailed;
                    }
                    else
                    {
                        ; // no map file
                    }
                    // OutputObjs
                    s = ReadStringFromSection(config, "Linker", "OutputObjs", "0");
                    if (s == "9")
                    {
                        fileout.WriteLine("-J"); // C object files;
                    }
                    else if (s == "10")
                    {
                        fileout.WriteLine("-JP"); // C++ object files;
                    }
                    else if (s == "14")
                    {
                        fileout.WriteLine("-JPN"); // C++ object files + Namespaces;
                    }
                    else if (s == "30")
                    {
                        fileout.WriteLine("-JPNE"); // C++ object files + Namespaces + all symbols;
                    }
                    else if (s == "26")
                    {
                        fileout.WriteLine("-JPE"); // C++ object files + all symbols;
                    }
                    else
                    {
                        ; // no object files
                    }
                    // ConsoleApp (dcc help output seems to be wrong)
                    s = ReadStringFromSection(config, "Linker", "ConsoleApp", "1");
                    if (s == "1")
                    {
                        fileout.WriteLine("-cg");
                    }
                    else
                    {
                        fileout.WriteLine("-cc");
                    }

                    // remote debug info
                    s = ReadStringFromSection(config, "Linker", "RemoteSymbols", "0");
                    if (s == "1")
                    {
                        fileout.WriteLine("-vr");
                    }

                    // UnitAliases
                    s = ReadStringFromSection(config, "Compiler", "UnitAliases", "");
                    fileout.WriteLine("-A" + s);

                    // ShowHints
                    s = ReadStringFromSection(config, "Compiler", "ShowHints", "1");
                    if (s == "1")
                    {
                        fileout.WriteLine("-H+");
                    }

                    // ShowWarnings
                    s = ReadStringFromSection(config, "Compiler", "ShowWarnings", "1");
                    if (s == "1")
                    {
                        fileout.WriteLine("-W+");
                    }

                    // Make modified units - seems to be always there
                    fileout.WriteLine("-M");

                    // StackSize (also -$M)
                    s = ReadStringFromSection(config, "Linker", "MinStackSize", "16384");
                    s = s + "," + ReadStringFromSection(config, "Linker", "MaxStackSize", "1048576");
                    fileout.WriteLine("-$M" + s);

                    // ImageBase
                    s = ReadStringFromSection(config, "Linker", "ImageBase", "4194304");
                    fileout.WriteLine(string.Format("-K${0,8:X8}", Convert.ToInt32(s)));

                    // (Exe)OutputDir
                    //s = ReadStringFromSection(config, "Directories", "OutputDir", "");
                    s = Application.StartupPath;
                    fileout.WriteLine("-E\"" + s + "\"");

                    // UnitOutputDir
                    s = ReadStringFromSection(config, "Directories", "UnitOutputDir", "");
                    fileout.WriteLine("-N\"" + s + "\"");

                    // BplOutputDir
                    s = ReadStringFromSection(config, "Directories", "PackageDLLOutputDir", "");
                    fileout.WriteLine("-LE\"" + s + "\"");

                    // DcpOutputDir
                    s = ReadStringFromSection(config, "Directories", "PackageDCPOutputDir", "");
                    fileout.WriteLine("-LN\"" + s + "\"");

                    // Unit directories
                    s = ReadStringFromSection(config, "Directories", "SearchPath", "");
                    s = s.Replace("$(DELPHI)", this._rootDir);
                    fileout.WriteLine("-U\"" + s + "\"");

                    // Object directories
                    s = ReadStringFromSection(config, "Directories", "SearchPath", "");
                    s = s.Replace("$(DELPHI)", this._rootDir);
                    fileout.WriteLine("-O\"" + s + "\"");

                    // IncludeDirs
                    s = ReadStringFromSection(config, "Directories", "SearchPath", "");
                    s = s.Replace("$(DELPHI)", this._rootDir);
                    fileout.WriteLine("-I\"" + s + "\"");

                    // look for 8.3 filenames - never used
                    // fileout.WriteLine("-P");

                    // Quiet compile - never used
                    // fileout.WriteLine("-Q");

                    // Resource directories
                    s = ReadStringFromSection(config, "Directories", "SearchPath", "");
                    s = s.Replace("$(DELPHI)", this._rootDir);
                    fileout.WriteLine("-R\"" + s + "\"");

                    // Conditionals
                    s = ReadStringFromSection(config, "Directories", "Conditionals", "");
                    fileout.WriteLine("-D" + s);

                    // DebugInfo in exe
                    s = ReadStringFromSection(config, "Linker", "DebugInfo", "0");
                    if (s == "1")
                    {
                        fileout.WriteLine("-vn");
                    }

                    // Output "never build" DCPs - (not supported, cannot be read from .dof)
                    // fileout.WriteLine("-Z");

                    // -- Runtime package support
                    s = ReadStringFromSection(config, "Directories", "UsePackages", "");
                    if (s == "1")
                    {
                        s = ReadStringFromSection(config, "Directories", "Packages", "");
                        fileout.WriteLine("-LU" + s);
                    }

                    fileout.WriteLine("-U\"" + this.UnitDirectories + "\"");
                    fileout.WriteLine("-R\"" + this.ResourceDirectories + "\"");
                    fileout.WriteLine("-I\"" + this.IncludeDirectories + "\"");

                    //    cfg.WriteBOM = False;
                    //Cfg.SaveToFile(CfgFn);
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
Example #24
0
		public ConfigWrapper(SharpConfig.Configuration config, string filename)
		{
			Config = config;
			File = filename;
		}
Example #25
0
        /// <summary>
        /// Populate the list of available ships and set the current selection
        /// and set the appropriate values.
        /// </summary>
        /// <param name="refreshList">Set to true to refresh the drop down list.</param>
        public void SetShipList(bool refreshList = false)
        {
            if (refreshList)
            {
                validConfigs = SetAvailableShips();

                cboCommandersShips.Items.Clear();
                cboCommandersShips.ClearSeparators();

                foreach (ComboBoxItem item in validConfigs)
                {
                    cboCommandersShips.Add(item);
                }

                int index = ((ShipSection)ConfigurationManager.GetSection("ships"))
                            .ShipSettings
                            .Cast <ShipConfig>()
                            .Count();

                if (index < cboCommandersShips.Items.Count)
                {
                    cboCommandersShips.SetSeparator(cboCommandersShips.Items.Count - index);
                }
            }

            TDSettings settings = settingsRef;

            SharpConfig.Configuration config = GetConfigurationObject();
            string shipType = string.Empty;

            bool hasSection = config.FirstOrDefault(x => x.Name == settings.LastUsedConfig) != null;

            if (hasSection)
            {
                settings.Capacity  = GetConfigSetting(config, settings.LastUsedConfig, "Capacity");
                settings.Insurance = GetConfigSetting(config, settings.LastUsedConfig, "Insurance");
                settings.LadenLY   = GetConfigSetting(config, settings.LastUsedConfig, "LadenLY");
                settings.Padsizes  = ContainsPadSizes(config[settings.LastUsedConfig]["Padsizes"].StringValue);
                settings.UnladenLY = GetConfigSetting(config, settings.LastUsedConfig, "UnladenLY");
                shipType           = config[settings.LastUsedConfig]["ShipType"].StringValue;
            }
            else
            {
                settings.Capacity  = 1;
                settings.Insurance = 0;
                settings.LadenLY   = 1;
                settings.Padsizes  = string.Empty;
                settings.UnladenLY = 1;
            }

            cboCommandersShips.SelectedIndex
                = !string.IsNullOrEmpty(settings.LastUsedConfig)
               ? cboCommandersShips.FindStringExact(GetShipNameFromConfigSection(settings.LastUsedConfig))
               : 0;

            if (!string.IsNullOrEmpty(shipType))
            {
                ShipConfig ship = ((ShipSection)ConfigurationManager.GetSection("ships"))
                                  .ShipSettings.Cast <ShipConfig>()
                                  .FirstOrDefault(x => x.ShipType == shipType);

                if (ship != null &&
                    decimal.TryParse(ship.MaxCapacity, out decimal maxCapacity))
                {
                    numRouteOptionsShipCapacity.Maximum = maxCapacity;
                }
            }

            numRouteOptionsShipCapacity.Value = settings.Capacity;
            numShipInsurance.Value            = Math.Max(settings.Insurance, numShipInsurance.Minimum);
            numLadenLy.Value   = Math.Max(settings.LadenLY, numLadenLy.Minimum);
            txtPadSize.Text    = settings.Padsizes;
            numUnladenLy.Value = Math.Max(settings.UnladenLY, numUnladenLy.Minimum);
            numRouteOptionsShipCapacity.Maximum = Decimal.MaxValue;
        }