Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/48: Рейтинг темы: голосов - 48, средняя оценка - 4.77
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267

Полный класс для работы с INI-файлами (поддерживает Юникод)

05.09.2015, 15:37. Показов 10343. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Полный класс для работы с INI-файлами (поддерживает Юникод)

Недавно столкнулся с проблемой запуска своей программы, написанной под русскоязычные системы и с сохранение и чтением настроек в\из файлов INI, на английских системах... Настройки содержали русский текст, который в английской системе просто выглядел как абракадабра и программа его не понимала... В итоге, не поленился, убил много времени, но написал полный класс для работы с INI файлами и сохранение в Юникоде... Никакие WinAPI не применял, все работает через коллекцию типа "словарь" Dictionary.

Особенности в том, что можно перемещать параметры между секциями, можно задавать свои разделители и скобки для обозначения секций, переименовывать секции и параметры, в общем смотрите Description...

Выкладывать код не стану, а и прикреплю как файл:
(комментариев минимум, но думаю там все просто и всем все понятно станет и без них)

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'*********************************************************************************************************
    '*                                  ПОЛНЫЙ КЛАСС ДЛЯ РАБОТЫ С INI-ФАЙЛАМИ                                *
    '*                                     Автор: Комар Юрий Александрович                                    *
    '*-------------------------------------------------------------------------------------------------------*
    '*  Dim INI As New Full_INI_Class - Присвоение класса переменной с именем "INI" (меняйте как вам удобно) *
    '*-------------------------------------------------------------------------------------------------------*
    '*  LoadFile()                  - Boolean функция, грузит файл, формируя в памяти Dictionary для работы     *
    '*  File_Name                   - String переменная, хранящая имя текущего файла(оставил как Read\Write) *
    '*  AutoSaveFile                - Boolean переменная, хранящая инфо об авто-сохранении при обновлении    *
    '*  SectionBrackets             - String переменная, хранящая брэкеты секций для загрузки и сохранения  *
    '*  ParameterSeparator          - String переменная, хранящая разделитель между Параметром и Значением     *
    '*  Get_Value()                 - String функция, получающая Значение нужного параметра                     *
    '*  Set_Value()                 - Метод, создает или обновляем значение нужного параметра                *
    '*  Get_ListOf_SectionKeys()    - Array функция, получающая список имён всех секций                         *
    '*  Get_ListOf_Parameters()     - Array функция, получающая список имён всех параметров в нужной секции    *
    '*  SectionsCount()             - Integer функция, получающая количество всех секций                    *
    '*  ParametersCount()           - Integer функция, получающая количество параметров в секции или в файле *
    '*  Rename_Section()            - Метод, переименовывающий секцию (если она отсутвует, создает новую)    *
    '*  Rename_Parameter()          - Метод, переименовывающий параметр (если она отсутвует, создает новый)    *
    '*  Delete_Section()            - Метод, удаляющий всю секцию целиком                                  *
    '*  Delete_Parameter()          - Метод, удаляющий параметр вместе с его значением из нужной секции       *
    '*  Move_Parameter_FromTo()     - Метод, перемещающий параметр с его значением из одной секции в другую    *
    '*  SaveFile()                  - Boolean функция, сохраняющая сделанные изменения в файл формата "UTF8" *
    '*-------------------------------------------------------------------------------------------------------*
    '*                                          September 2015                                               *
    '*                          Copyright © 2015 Komar Yury <komar.yury@gmail.com>                          *
    '*********************************************************************************************************
Вложения
Тип файла: zip Full_INI_Class.zip (4.5 Кб, 429 просмотров)
8
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2015, 15:37
Ответы с готовыми решениями:

Создать на панеле компонентов пимпу для работы с INI-файлами.
Прошу подсказать чайнику, как это сделать. Пытался сделать следующим образом: 1. Беру файл IniFiles.pas и копирую в отдельную...

Класс для работы с файлами
День добрый. Столкнулся со следующей проблемой. Задание: создать класс, инкапсулирующий работу с файлами через стандартную библиотеку...

Класс для работы с файлами
Люди добрые, подскажите в каком конце искать работу с файлами, такую как копирование, удаление, переименование Ну и если вы уже...

40
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
10.03.2016, 14:07
Студворк — интернет-сервис помощи студентам
edward_freedom, а пример на VB можно ( класс с нужными полями)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2016, 14:07

Нужен класс для работы с файлами
Требуется PHP класс работы с файлами: в первую очередь - синтаксис и алгоритмы. Готовая реализация - будет замечательно. Не смотря на...

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

Мой класс для работы с файлами
Здравствуйте! Я попробовал сделать свой класс для работы с файлами и показать его здесь с целью узнать, что я в нем сделал не так :) ...

Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private
#include &lt;ctime&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include...

Юникод/работа с файлами
Привет, всем! Необходимо написать программу, которая из входного файла брала слово, записывала коды букв этого слова и сохраняла их в...


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

Или воспользуйтесь поиском по форуму:
41
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru