Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: C# & INI file  (Прочитано 17807 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Игорь IL
Гость
« : 06-09-2004 13:57 » 

Подскажите, пожалуйста, как на C# можно работать с INI файлами .
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 06-09-2004 15:45 » 

не совсем понятно.

1) Если надо работать с имеющимися файлами - не знаю.
2) В .NET каждое приложение имеет config файл, представляющий собой XML, куда можно параметры записывать произвольные и читать их (есть специальный класс, если правильно помню, ApplicationSettings называется, хотя могу сейчас и напутать.

Если 2-й вариант нужен - могу подробнее рассказать.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Alf
Гость
« Ответ #2 : 06-09-2004 20:32 » 

Цитата: Игорь IL
Подскажите, пожалуйста, как на C# можно работать с INI файлами .

Готовых средств для работы с файлами .ini в .NET Framework я не увидел. Microsoft настоятельно требует хранить информацию о конфигурации программ в реестре и считает .ini пережитками 16-разрядных систем, хотя во многих случаях весьма удобно было бы ими пользоваться.

Самый простой выход, я считаю, состоит в использовании функции API GetPrivateProfileString, которая все же оставлена для совместимости с Win16. Описание параметров и примеры использования функции нетрудно найти в MSDN.

Ранее в данном разделе уже было обсуждение, как вызывать функции Win32 API из управляемого приложения .NET. Если с этим будут проблемы, можно будет поискать либо здесь, либо в разделе FAQ.
Записан
Игорь IL
Гость
« Ответ #3 : 08-09-2004 09:47 » 

Всем спасибо за ответ!
Я имел ввиду старые добрые INI файлы Win16.
Нужно самому оперативно править параметры программы и user к этому отношения не имеет. Зачем писать мудреные интерфейсы если можно нажать кнопку "reload" (к примеру).
Записан
Alf
Гость
« Ответ #4 : 08-09-2004 10:21 » 

Игорь IL, функция GetPrivateProfileString именно с ini-файлами Win16 и работает, так что никаких премудростей не понадобится.
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 08-09-2004 10:55 » 

Игорь IL, как правильно сказал Alf, для совместимости с предыдущими версиями Windows были сохранены функции работы с .ini файлами

GetPrivateProfileInt
GetPrivateProfileSection
GetPrivateProfileSectionNames
GetPrivateProfileString
GetPrivateProfileStruct
WritePrivateProfileSection
WritePrivateProfileString
WritePrivateProfileStruct

Вот ссылка на то, как сделать эти функции доступными в С#
http://custom.programming-in.net/articles/art9-1.asp?f=GetPrivateProfileInt
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
profil
Гость
« Ответ #6 : 27-09-2004 11:42 » 

используйте XML Serialization
http://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fIntlKB%2frussia%2farticles%2fru301%2f2%2f23.ASP
Записан
Dimyan
Гость
« Ответ #7 : 29-09-2004 10:25 » 

Я не мучаюсь с Win32, просто создаю класс с нужными мне полями, а после сереализую его при закрытии приложения и десереализую при загрузки, и не приходится заморачиваться  Ага
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines