Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50

Работа с INI файлами

30.04.2016, 21:44. Показов 3606. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли использовать ini файл без создания классов?
Раньше всё делал через Borland C++
Теперь же VS 2015 C#

Было раньше просто
C++
1
2
3
String Patch = ExtractFilePath(ParamStr(0), "\\.", "", TReplaceFlags() << rfReplaceAll);
TIniFile *ini = new TIniFile(Patch+"options.ini");
int n = ini->ReadInteger("Maps", "n",n);
Теперь что-то типа этого, но не запускается
C#
1
2
3
4
5
6
private void button4_Click(object sender, EventArgs e)
{
     string patch = Application.StartupPath;
     INIFile ini = new INIFile(patch + "\test.ini");
     ini.IniWriteValue("main", "x", "abracadabra");
}
(знаю, что тут write, там read, просто пример)
ошибка:"Не удалось найти тип или имя пространства имен "INIFile" (возможно, отсутствует директива using или ссылка на сборку)."

Или может надо на xml сделать?
Для проекта бы, конечно, идеально подошёл ini файл, но может есть и другие варианты?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.04.2016, 21:44
Ответы с готовыми решениями:

Работа с Ini файлами
Доброго времени суток форумчане! Есть класс для работы с ini файлами Подключаю using System.Runtime.InteropServices; ...

Работа с ini файлами
Приветствую. Есть необходимость работать с ini. Пример кода private void button1_Click(object sender, EventArgs e) { ...

пользование INI файлами
как пользоваться ini файлами? очень нужен образец считывания параметров a1 a2 из ini файла типа string, а так же самого файла

4
Эксперт .NET
 Аватар для Rius
13018 / 7584 / 1660
Регистрация: 25.05.2015
Сообщений: 23,041
Записей в блоге: 14
30.04.2016, 22:06
Полный класс для работы с INI-файлами (поддерживает Юникод)
Цитата Сообщение от Strelok372 Посмотреть сообщение
Или может надо на xml сделать?
Для проекта бы, конечно, идеально подошёл ini файл, но может есть и другие варианты?
XML однозначно (imho). XDocument и Linq to Xml.
А INI лучше оставить только для поддержки старого софта, когда переписать и исправить его уже нельзя.

Не по теме:

Кстати, не patch, а path.

0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
30.04.2016, 22:07  [ТС]
Не подскажете как сделать тогда то, что я хочу? Голова уже плывёт
Если по аналогии с INI

private void button4_Click(object sender, EventArgs e)
{
string patch = Application.StartupPath;
INIFile ini = new INIFile(patch + "\test.ini"); Как открыть xml в той же папке?
ini.IniWriteValue("main", "x", "abracadabra"); И затем вписать туда строку?
}
0
Эксперт .NET
 Аватар для Rius
13018 / 7584 / 1660
Регистрация: 25.05.2015
Сообщений: 23,041
Записей в блоге: 14
30.04.2016, 22:17
Лучший ответ Сообщение было отмечено Strelok372 как решение

Решение

Цитата Сообщение от Strelok372 Посмотреть сообщение
Как открыть xml в той же папке?
К INI или XML никакого отношения не имеет.
C#
1
2
3
4
5
6
7
8
private string GetExeDirectory()
        {
            string codeBase = Assembly.GetExecutingAssembly().CodeBase;
            UriBuilder uri = new UriBuilder(codeBase);
            string path = Uri.UnescapeDataString(uri.Path);
            path = Path.GetDirectoryName(path);
            return path;
        }
(Application.StartupPath в кое-каких случаях не работает).

Путь к файлу:
C#
1
string filename = path.Combine(GetExeDirectory(), "test.xml");
Загрузка документа:
C#
1
2
3
4
            using (StreamReader reader = new StreamReader(filename))
            {
                XDocument document = XDocument.Load(reader);
            }
Или создание документа:
C#
1
2
3
4
5
XDocument document = new XDocument(
  new XDeclaration("1.0", "UTF-8", null),
  new XElement("root",
    new XElement("main",
      new XElement("x", "abracadabra)))));
Вписать строку:
C#
1
document.Root.Element("main").SetValue("x", "abracadabra");
Ещё есть вариации на тему проверки наличия полей, обращения по пути, поиск элементов, операции над ними, преобразования данных... См. документацию на XDocument, XElement, Linq to Xml и пр.
Копипаста не поможет. Вам нужно будет подумать.
2
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,095
01.05.2016, 13:46
An INI file handling class using C#
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.05.2016, 13:46
Помогаю со студенческими работами здесь

Как работать с ini-файлами
Кто-нибудь работал с ini файлами и реестром в C#? Я что-то не могу найти классов для этого, как в Delphi (Tinifile, TRegistry).

Работа с INI: некорректная работа пользовательской функции
Ранее нашел код для работы с ini-файлами: public class INI { /// &lt;summary&gt; /// Чтение...

Работа с ini файлами
Всем привет! В папке с программой у меня хранятся ini файлы. Ребят, можно ли как-то сделать, чтобы по нажатию кнопки необходимые мне ini...

Работа ini файлами
Делаю программу по визуальным компонентам, нужно чтобы изменения в программе сохранялись, пишет ошибку что не подходят типы данных. ...

Работа с INI файлами
Кто может показать рабочий пример работы с ini файлом(тоесть открыть, считать, изменить и закрыть) вот что в инике: znachenie=1 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru