Полезный класс для работы с ini файлами

Август 12th, 2011 § 4 comments

В общем-то, на дворе 21 век, и все уже перешли на xml и ini силами так же самого Microsoft’а отмирает. Может и так, но я думаю, что для небольших настроек лучше ini, xml это из “пушки по воробьям”. В C# встроенное поддержке ini не предусмотрено, но нам ничего не мешает воспользоваться WinAPI. Ниже приведен класс для работы с ini использующий WinAPI.


using System.Text;
using System.Runtime.InteropServices;


 public class IniFile
 {
 public string path;

 [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 IniFile(string INIPath)
 {
 path = INIPath;
 }

 public void IniWriteValue(string Section, string Key, string Value)
 {
 WritePrivateProfileString(Section, Key, Value, this.path);
 }


 public string IniReadValue(string Section, string Key)
 {
 StringBuilder temp = new StringBuilder(255);
 int i = GetPrivateProfileString(Section, Key, "", temp,
 255, this.path);
 return temp.ToString();

 }
 }

§ 4 Responses to Полезный класс для работы с ini файлами"

  • Dark Lord пишет:

    Так как это WinAPI, то это не будет работать на других системах Linux (Mono/Wine), iOs или Android (если вы слышали про Xamarin то знаете что писать аппы можно уже даже для них)
    Нашел полноценный вариант. Он собсно настоящий парсер ini-файлов: http://agehack.pro/proini.html

  • STTR пишет:

    ну xml для храниния параметров очень даже ничего)

    $xmldata=(Get-Content ‘C:\App32\ColorPic 4.1\palettes.xml’)
    $xmldata.SelectNodes(“/Palettes/Palette/Color/@COLOR”)

  • Оксана пишет:

    Спасибо за написанный вами класс.
    Пожалуйста, подскажите, как средствами C# считать из заданной секции массив строк (без ключей) и как записать этот массив.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Смотреть фильмы онлайн