public static void SaveConfig(ConfigClass _config) { Configuration cfg = Configuration.LoadFromFile(configFile); cfg["MAIN"].GetValuesFrom(_config); cfg.SaveToFile("CaptureFS.cfg"); }
/// <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; } }
public static ConfigClass LoadConfig(string _section) { Configuration cfg = Configuration.LoadFromFile(configFile); cfg = Configuration.LoadFromFile(configFile); return(cfg[_section].ToObject <ConfigClass>()); }
/// <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); }
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; } }
/// <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); }
/// <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")); }
/// <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); }
/// <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); }
private static void SetupEntries(SharpConfig.Configuration config, IEnumerable <ConfigEntry> entries) { foreach (var cfg in entries) { if (!cfg.Exists()) { continue; } cfg.Setup(config.Get(cfg)); } }
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("<", "<").Replace(">", ">"); DbTypeEntity model = new DbTypeEntity(); model.Name = Name; model.To = To; list.Add(model); } } }
/// <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); }
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); } } }
/// <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("配置文件不存在"); }
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); } }
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(); } }
/// <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); }
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()); }
/// <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()); } }
/// <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); }
/// <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); } }
public ConfigWrapper(SharpConfig.Configuration config, string filename) { Config = config; File = filename; }
/// <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; }