0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
1

Загрузка config файла

04.11.2021, 20:06. Показов 1020. Ответов 22
Метки нет (Все метки)

Требуется построить парсер config-файла с операциями чтения значения по имени параметра и возможностью комметариев.
Комментарии задаются от символа # до конца строки. Содержательные строки имеют вид:
имя = значение
имя + значение
Имя параметра не содержит пробелов и знака =, значение - это оставшаяся часть строки после знака равенства, исключая пробельные символы в начале и конце. В первом случае значение сопоставляется указанному имени, а во втором - добавляется в конец ранее сопоставленного значения.
Реализация класса должна поддерживать следующие возможности:
- загрузка параметров из указанного config-файла
- получение строк с диагностикой возможных ошибок при разборе входного файла
- получение строки-значения, соответствующей имени параметра
- объединение с множеством параметров, хранящихся в другом аналогичном классе

Так же задача требует реализации списочных структур

Не понятно как определить такой класс. Как он должен примерно выглядеть?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2021, 20:06
Ответы с готовыми решениями:

Почему приложение ищет ИмяСборки.exe.config вместо app.config?
Вот с какого перепугу приложение ищет ИмяСборки.exe.config вместо app.config?

Откуда сначал берутся настройки приложения, из user.config или App.config?
Собственно в чём проблема. Есть данные которые я хочу сохранить в файле настроек приложения. Я...

SQLite+Entity Framework+NET4.0 Без ADO NET, и App.config, packages.config
Тема не простая SQLite+Entity Framework Без ADO NET, и App.config, packages.config Вся Сборка...

Отправьте C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config данный файл
Из-за отсутствия данного файла не работают приложения. Буду благодарен за помощь. Прикрепите...

22
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 20:14 2
Цитата Сообщение от dsfds Посмотреть сообщение
Так же задача требует реализации списочных структур

Не по теме:

Раньше было модно тся и ться путать, сейчас настал период так же...


Зачем здесь списочные структуру, тем более самодельной реализации? Тут самое место мапке полем класса (приватным для параноиков). Или стд-коллекции нельзя и надо обязательно костылить свои?
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
04.11.2021, 20:19  [ТС] 3
Цитата Сообщение от _Ivana Посмотреть сообщение
надо обязательно костылить свои?
Да, необходимо делать свои, так как задача расчитана именно на освоение списков
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 20:26 4
Ох... Тогда ответ на вопрос
Цитата Сообщение от dsfds Посмотреть сообщение
Как он должен примерно выглядеть?
таков - должно быть 2 класса (минимум, архитектурные астронавты могут наворотить фабрик абстрактных фабрик по вкусу):

класс, обеспечивающий работу с парами имя/значение параметра (через ваши списки), с методами получения, добавления, обновления параметра по имени и объединения с другим таким же списком

класс, абстрагирующий чтение файла/заполнение этого списка и публичные методы апи, и содержащий поле (для плюсовиков наверное член) - класс описанный выше

ЗЫ рекомендую начать с реализации первого класса
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
04.11.2021, 20:40  [ТС] 5
Цитата Сообщение от _Ivana Посмотреть сообщение
публичные методы апи
Можете пояснить, что здесь из себя редставляют методы апи?

И еще, получается в первый класс записывается весь файл? тогда с чем этот класс объединять, если вся информация в одном классе? Или счтывание должно происходить по-другому?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 21:02 6
Цитата Сообщение от dsfds Посмотреть сообщение
Можете пояснить, что здесь из себя редставляют методы апи?
Ровно то, что написано пунктами в вашем задании

Цитата Сообщение от dsfds Посмотреть сообщение
если вся информация в одном классе?
читайте русским по монитору
Цитата Сообщение от dsfds Посмотреть сообщение
хранящихся в другом аналогичном классе
ЗЫ хотя с точки зрения филолога написано по-дебильному, да. Надо "хранящихся в другом объекте того же класса"
0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
04.11.2021, 21:23  [ТС] 7
Цитата Сообщение от _Ivana Посмотреть сообщение
читайте русским по монитору
Все равно не понимаю, как именно мы тогда записываем наш файл, если не в один объект класса?То есть записываем не в один список?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 21:26 8
В один. А другой файл - в другой. А потом хотим объединить настройки, добавив данные второго в первый.
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
04.11.2021, 21:31  [ТС] 9
Цитата Сообщение от _Ivana Посмотреть сообщение
класс, абстрагирующий чтение файла/заполнение этого списка и публичные методы апи, и содержащий поле (для плюсовиков наверное член) - класс описанный выше
Еще один, возможно, глупый вопрос, зачем нам второй класс? Он просто содержит поле с объектом первого класса?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 21:38 10
Да, только не просто, а сложно. Именно второй класс абстрагирует ваше апи и морочится с чтением/загрузкой файла (можно конечно работу с файлом запихнуить и в первый класс, но имхо это плохая декомпозиция и архитекткра). А первый класс уже "просто" делает то, что я написал в соответствующем сообщении, и не знает ничего про файлы.
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
04.11.2021, 21:48  [ТС] 11
Получается второй класс считывает с файла данные в объект первого класса и заполняет файл из этого объекта первого класса, а первый класс работает с самими значениями и параметрами, которые записались в него благодаря второму классу?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 21:50 12
Именно так. Потом вы можете расширить второй класс до возможности запрашивать недостающие настройки у прользователя прямо при запуске программы, а первый класс не потребует никаких изменений.

Да, для чего все это делается - чтобы вы в вашей программе могли легко заменить написанный вами первый класс на стд::мап из стандартной библиотеки, который уже из коробки умеет все что нужно, причем гораздо эффективнее. Чтобы архитектура вашей программы была модульная, и вы могли менять одни классы на другие, если их интерфейсы (требуемые в данном контексте) совпадают.
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
04.11.2021, 21:55  [ТС] 13
Цитата Сообщение от _Ivana Посмотреть сообщение
Потом вы можете расширить второй класс до возможности запрашивать недостающие настройки у прользователя прямо при запуске программы
Что вы имеете ввиду под недостающими настройками?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
04.11.2021, 21:57 14
Цитата Сообщение от dsfds Посмотреть сообщение
Что вы имеете ввиду под недостающими настройками?
Можете не думать об этом без ущерба для решения вашей задачи. Может начнете уже писать реализацию первого класса, а не отвлеченные посты на форуме?
0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
05.11.2021, 16:13  [ТС] 15
Цитата Сообщение от dsfds Посмотреть сообщение
Все равно не понимаю, как именно мы тогда записываем наш файл, если не в один объект класса?То есть записываем не в один список?
Цитата Сообщение от _Ivana Посмотреть сообщение
В один. А другой файл - в другой. А потом хотим объединить настройки, добавив данные второго в первый.
Тогда мы же получим класс имеющий параметры двух файлов, но что потом с этим делать? Не создавать же новый файл, где будут уже объединенные параметры?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
05.11.2021, 17:12 16
Цитата Сообщение от dsfds Посмотреть сообщение
Тогда мы же получим класс имеющий параметры двух файлов, но что потом с этим делать?
Испытывать радость и счастье от того, что все получилось правильно, и обращаться к одному объекту класса за настройками, считанными хоть из 10 файлов.

Цитата Сообщение от dsfds Посмотреть сообщение
Не создавать же новый файл, где будут уже объединенные параметры?
Файлы создавать вообще не надо. Более того - файлы нам нахер не нужны, после того как прочитаны - это только способ заполнить данные объекта класса нужными настройками. Не понимаю, зачем вы их постоянно упоминаете. Фаайлы - ничто, объекты - всё! (С)
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
05.11.2021, 17:49  [ТС] 17
И получается второй класс надо делать дружественным для первого?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
05.11.2021, 18:18 18
Какой же ход мысли мог привести к такому неожиданному выводу?
0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 136
05.11.2021, 18:55  [ТС] 19
Цитата Сообщение от _Ivana Посмотреть сообщение
Какой же ход мысли мог привести к такому неожиданному выводу?
Не понял, вывод очевиден или неправилен?
0
4813 / 2273 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
05.11.2021, 19:00 20
Цитата Сообщение от dsfds Посмотреть сообщение
Не понял, вывод очевиден или неправилен?
Предлагаете поиграть в еврейскую народную игру - вопрос на вопрос?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2021, 19:00
Помогаю со студенческими работами здесь

Экспорт файла about:config
Добрый вечер! Подскажите, пожалуйста, как можно экспортировать изменённый файл ABOUT:CONFIG из...

Парсинг config-файла на C++
Привет! Дали итоговое задание в универе. Всё написал. Осталось припаять парсер config-файла (это...

Подключение файла App.Config
Как в WEB WPF приложении работать с App.Config. В нем нужно хранить для задачки,инфу о...

Защищаем данные файла wp-config.php
Здравствуйте, вот вопрос. Зачем закрывать файл wp-config.php WordPress путем дополнений .htaccess?...

Как изменить настройки config файла?
Как зменить настройки config файла вот такой структуры <configuration> <add key = "" Value...

Какие преимущества у файла app.config
Какие преимущества у файла app.config. Можно же хранить всё в самом коде. Так чем же удобнее xml?

Программное изменение файла App.config
Не могу ничего поменять в файле App.config программно ни вот это: Configuration config =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru