I'm trying to use some methods to store my settings in a plain text file, and I found a better way:
stored in the application folder, for use, settings.txt : (comments are approved inside the settings file, try // comment)
// to get the settings value
Settings.Get("name", "Ivan");
// to set the value of the settings
Settings.Set("name", "John");
via:
using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms;
// you can also save the section name to simply add the name to the Set (sector_name, name, value) and Get (section_name, name, value) sections
public static class Settings { private static string SECTION = typeof(Settings).Namespace;//"SETTINGS"; private static string settingsPath = Application.StartupPath.ToString() + "\\settings.txt"; [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); public static String GetString(String name) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(SECTION,name,"",temp,255,settingsPath); return temp.ToString(); } public static String Get(String name, String defVal) { return Get(SECTION,name,defVal); } public static String Get(string _SECTION, String name, String defVal) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(_SECTION, name, "", temp, 255, settingsPath); return temp.ToString(); } public static Boolean Get(String name, Boolean defVal) { return Get(SECTION, name, defVal); } public static Boolean Get(string _SECTION, String name, Boolean defVal) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(_SECTION,name,"",temp,255,settingsPath); bool retval=false; if (bool.TryParse(temp.ToString(),out retval)) { return retval; } else { return retval; } } public static int Get(String name, int defVal) { return Get(SECTION, name, defVal); } public static int Get(string _SECTION, String name, int defVal) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(SECTION,name,"",temp,255,settingsPath); int retval=0; if (int.TryParse(temp.ToString(),out retval)) { return retval; } else { return retval; } } public static void Set(String name, String val) { Set(SECTION, name,val); } public static void Set(string _SECTION, String name, String val) { WritePrivateProfileString(_SECTION, name, val, settingsPath); } public static void Set(String name, Boolean val) { Set(SECTION, name, val); } public static void Set(string _SECTION, String name, Boolean val) { WritePrivateProfileString(_SECTION, name, val.ToString(), settingsPath); } public static void Set(String name, int val) { Set(SECTION, name, val); } public static void Set(string _SECTION,String name, int val) { WritePrivateProfileString(SECTION, name, val.ToString(), settingsPath); } }