Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
║XLR8║
904 / 784 / 238
Регистрация: 25.07.2009
Сообщений: 3,885
Записей в блоге: 5
1

Дописать новый ключ в сектор *.ini файла на подобии WritePrivateProfileString

09.02.2011, 22:03. Просмотров 2893. Ответов 2
Метки нет (Все метки)

Нужно конфигурировать файл настроек програмы на лету, и если его нет его нужно создать, причем заранее не известно количество и названия секторов и ключей, все делается динамически.

Ближе к проблеме: WritePrivateProfileString записывает значение ключа в сектор, если сектор и ключ существуют. Нужно дописать метод что-бы в случае если ключа или сектора нет производилась запись сектора и ключа, после чего еще раз проводилась попытка записи значения ключа.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
IniFile settings = new IniFile(path).Write("Progress", "Level", "0"); // вызов метода записи функции
 
class IniFile
{
    public string path;
 
    [DllImport("kernel32.dll", EntryPoint = "WritePrivateProfileString")]
    private static extern bool WritePrivateProfileString(string lpAppName, 
        string lpKeyName, string lpString, string lpFileName);
 
    public IniFile(string INIPath)
    {
        path = INIPath;
    }
 
    public bool Write(string Section, string Key, string Value) // нужно модифицировать
    {
        return WritePrivateProfileString(Section, Key, Value, this.path);
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2011, 22:03
Ответы с готовыми решениями:

Внести коррективы в системный файл Win.ini, создать новый ключ с любым названием
Доброго времени суток. Можете помочь с кодом для WinAPI: Внести коррективы в системный файл...

Как создать Полукруг/Сектор круга/Кольцо/Сектор кольца
Кто-нибудь знает как создать в WPF Полукруг/Сектор круга/Кольцо/Сектор кольца? Круг создаю из...

Должен ли Киотский Протокол быть распространен на аграрный сектор и сектор аграрной промышленности?
Должен ли Киотский Протокол быть распространен на аграрный сектор и сектор аграрной промышленности,...

Выбрать из файла содержащую заданный ключ строку и следующие за ней строки до строки, содержащей другой ключ
Добрый день! Нужно написать регулярное выражение которое из файла выбирает строку и следующие за...

2
Почетный модератор
Эксперт .NET
8663 / 3615 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
09.02.2011, 23:39 2
Цитата Сообщение от outoftime Посмотреть сообщение
WritePrivateProfileString записывает значение ключа в сектор, если сектор и ключ существуют
Неправда. Проверено - всё создаётся.
Цитата Сообщение от MSDN
If the section does not exist, it is created.
...
If the key does not exist in the specified section, it is created.
Цитата Сообщение от outoftime Посмотреть сообщение
Нужно дописать метод что-бы в случае если ключа или сектора нет производилась запись сектора и ключа, после чего еще раз проводилась попытка записи значения ключа.
Вот этого не понял. Зачем 2 раза писать?

Чтобы получить все секции в файле, вызови GetPrivateProfileString с 1м параметром == null.
Чтобы получить все параметры в секции, вызови GetPrivateProfileString со 2м параметром == null.
1
║XLR8║
904 / 784 / 238
Регистрация: 25.07.2009
Сообщений: 3,885
Записей в блоге: 5
10.02.2011, 00:08  [ТС] 3
Цитата Сообщение от SSTREGG Посмотреть сообщение
Неправда. Проверено - всё создаётся.
У меня не создается, также проверял. А понял смотри:
C#
1
2
3
4
5
            if (!File.Exists(this.iniPath))
            {
                File.Create(this.iniPath);
                this.settings.Write("Progress", "Level", "0");
            }
Мне не надо было создавать файл, если его нет, то он создаться (: Спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2011, 00:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Запись файла в определенный сектор
на винчестере есть поврежденные сектора. при записи и последующем считывании не все файлы...

Перезаписывает ли win 10 новый ключ в efi?
Собственно от win8 был ключ вшит в материнку, делает ли то же самое win10??? P.S. было муторно...

Поиск на компьютере INI-файла и копирование найденного файла в папку определенного пользователя
Нужна ваша помощь! Нужно найти файл с расширением .ini и скопировать его в папку Пользователи\(имя...

Слить две таблицы в одну, создав новый serial ключ
Сделал две связанных таблицы по ключу, но там записи вида 1к1, поэтому решил теперь их слить в одну...

Создание файла INI из файла cmd/bat итд
Доброго времени суток. Есть задача - Создать файл с указанием параметра Х Есть пусть к файлу...

Записать в тексте вместо пробелов дефис и дописать в новый файл
Дан текстовый файл. Записать вместо пробелов дефис и дописать в новый файл.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.