IniFile.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Text;
  2. using System.Runtime.InteropServices;
  3. namespace MPE
  4. {
  5. static class IniFile
  6. {
  7. static string Path; //Имя файла настроек
  8. [DllImport("kernel32", CharSet = CharSet.Unicode)] // Подключаем kernel32.dll и описываем его функцию WritePrivateProfilesString
  9. static extern long WritePrivateProfileString(string Section, string Key, string Value, string FilePath);
  10. [DllImport("kernel32", CharSet = CharSet.Unicode)] // Еще раз подключаем kernel32.dll, а теперь описываем функцию GetPrivateProfileString
  11. static extern int GetPrivateProfileString(string Section, string Key, string Default, StringBuilder RetVal, int Size, string FilePath);
  12. public static void Init(ref string IniPath)
  13. {// С помощью конструктора записываем пусть до файла и его имя.
  14. Path = new System.IO.FileInfo(IniPath).FullName.ToString();
  15. DataHelper.loadSettings();//Загрузка настроек из ini-файла
  16. }
  17. public static string Read(string Section, string Key)
  18. {// Читаем ini-файл и возвращаем значение указного ключа из заданной секции.
  19. var RetVal = new StringBuilder(255);
  20. GetPrivateProfileString(Section, Key, "", RetVal, 255, Path);
  21. return RetVal.ToString();
  22. }
  23. public static void Write(string Section, string Key, object Value)
  24. {// Записываем в ini-файл. Запись происходит в выбранную секцию в выбранный ключ.
  25. WritePrivateProfileString(Section, Key, Value.ToString(), Path);
  26. }
  27. }
  28. }