PDA

Просмотр полной версии : [Помогите!] Как сохранить настройки программы в *.ini?


0xFF
01.07.2010, 16:35
Вопрос прост: необходимо сохранить, к примеру, значения текстовых полей в ини, а при следующем запуске загрузить их оттуда. Как это сделать? Язык - C#

Dardrin
02.07.2010, 03:48
Ну а так, при инициализации программы, считать информацию из ини файла нельзя?
А при закрытии сохранить все в файл?
Есть же стандартные функции в языке(как в с++ потоковый ввод/вывод)

Язык не знаю=)

Leo_ня
02.07.2010, 07:37
[Ссылки могут видеть только зарегистрированные и активированные пользователи](v=VS.85).aspx

Смотри ниже функции типа GetPrivateProfile* и WritePrivateProfile*.
Да, это WinAPI. Для своего языка - гугли.

Kitsune
03.07.2010, 10:55
0xFF, зачем так мудрить? ini для .net не родное.

Используй xml.
1. Самый простой вариант родной класс Settings [Ссылки могут видеть только зарегистрированные и активированные пользователи](VS.80).aspx
2. Свой парсер xml файлов(тоже довольно просто) (гугл на тему c# xmldocument)
3. хмл сериализация (тоже просто) (гугл на тему c# xml serialization)

Если конечно надо именно в ini, то дерзай [Ссылки могут видеть только зарегистрированные и активированные пользователи] уже готовый класс по работе с ini файлами, а так же статья.

Leo_ня
04.07.2010, 10:30
Там и используются те функции, на которые я дал ссылку :)

0xFF
04.07.2010, 15:06
Нет, именно ини мне не надо, мне нужно только, чтобы ее настройки сохранялись при нажатии на кнопку/при закрытии программы. Попробую пока первый вариант от TBX1n. Спасибо.

P.S - есть ли простой способ хранить настройки в самой программе, не создавая доп. файлов?

Leo_ня
04.07.2010, 19:01
P.S - есть ли простой способ хранить настройки в самой программе, не создавая доп. файлов?
Простого способа нет. Придётся переименовывать EXE'шник во временное имя, копировать его в оригинальное имя, вносить изменения (что, кстати, тоже интересная тема), а при следующем запуске - удалить временный файл.
Хотя, можно воспользоваться API для записи данных прямо на диск. Но тебе будет проще лишний файл таскать.