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

Как правильно описать работу с INI?

11.04.2021, 13:42. Показов 1552. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. В Интернете много всяких статей про использование INI-файлов, но я до сих пор много чего не понял...

Пример статьи на эту тему

У меня сразу несколько вопросов по статье...
1. Зачем создавать 2 CS-файла, нельзя всё впихнуть в 1? Если нельзя, как между этими файлами установить связь? Форма же должна понимать, откуда брать описание работы с INI, как читать и записывать...
2. Зачем создавать новый класс? Недостаточно подключить DLL-библиотеку в уже существующем классе Form и описать функции записи и чтения там?
3. Многие записи в IniFiles.cs в статье я не понимаю... Я понимаю только строку подключения DLL и общий принцип работы. Я понимаю, что в одном из пунктов описывается функция записи переменной. Но вот строки самого описания я понять не могу. Не совсем понятно, почему ни один автор подобных статей не может рассказать подробно процесс описания работы с INI...

Буду рад, если кто-то мне поможет во всём разобраться... Заранее спасибо!!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2021, 13:42
Ответы с готовыми решениями:

Как правильно составить .ini?
name = generals username = mysql passwd = mysql options = PDO::ERRMODE_EXCEPTION options = false ...

Как правильно записать в ini файл из поля Memo.
Делаю небольшой шаблон для тестированмя, произвожу запись с поля Memo.В coзданный ini файл но проблема он перезаписывает старую запись а...

Как правильно указать вторую операционку в Boot.ini
Добрый вечер всем. У меня такая проблема, на компьютере имеются два жестких, на первом стояла ХР, на втором была поставлена по карявому из...

8
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
11.04.2021, 13:49
Лучший ответ Сообщение было отмечено ZElektro как решение

Решение

Цитата Сообщение от ZElektro Посмотреть сообщение
Зачем создавать 2 CS-файла, нельзя всё впихнуть в 1?
Зачем создавать столько папок на диске? Нельзя чтоли все файлы в одной папке держать?
Чтобы бардак не разводить.

Цитата Сообщение от ZElektro Посмотреть сообщение
как между этими файлами установить связь?
Она автоматом установится, максимум надо будет using прописать, если пространства разные.

Цитата Сообщение от ZElektro Посмотреть сообщение
Зачем создавать новый класс? Недостаточно подключить DLL-библиотеку в уже существующем классе Form и описать функции записи и чтения там?
Достаточно, но смотрите ответ на первый вопрос.
Завтра вы захотите использовать ini-файл в консольном приложении и что будете делать? Выдирать нужное из класса формы, молясь чтобы выдрать все что нужно и не выдрать лишнего?

Цитата Сообщение от ZElektro Посмотреть сообщение
3.
А какой вопрос?
1
For i:=0 to 150 do
 Аватар для El41
225 / 105 / 108
Регистрация: 05.01.2012
Сообщений: 287
11.04.2021, 13:50
Можно впихнуть, но это плохой тон. Форма не отвечает за INI файл это не её ответственность. Поэтому выделяется отдельный файл для работы с Ini файлами. Это просто удобно, если у вас будет несколько разных форм которые используют ini файлы. Или вы будете дублировать один и тот же код по разным формам?
1
 Аватар для ZElektro
0 / 0 / 0
Регистрация: 03.02.2019
Сообщений: 137
11.04.2021, 15:16  [ТС]
kolorotur, конкретно неясно:
C#
1
2
3
4
5
[DllImport("kernel32")] // Подключаем kernel32.dll и описываем его функцию WritePrivateProfilesString
static extern long WritePrivateProfileString (string Section, string Key, string Value, string FilePath);
 
[DllImport("kernel32")] // Еще раз подключаем kernel32.dll, а теперь описываем функцию GetPrivateProfileString
static extern int GetPrivateProfileString (string Section, string Key, string Default, StringBuilder RetVal, int Size, string FilePath);
static extern long - что означает это? Аналогично, строка с int...
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
11.04.2021, 15:58
Цитата Сообщение от ZElektro Посмотреть сообщение
static extern long - что означает это?
Метод, принадлежащий типу, а не экземпляру, возвращающий экземпляр long. Реализация метода предоставляется внешней сборкой, в данном случае kernel32.dll.
1
 Аватар для ZElektro
0 / 0 / 0
Регистрация: 03.02.2019
Сообщений: 137
11.04.2021, 18:11  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
Метод, принадлежащий типу, а не экземпляру, возвращающий экземпляр long
А сможете более просто объяснить? Не совсем ясно, что за термин такой - экземпляры...
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
11.04.2021, 18:29
Цитата Сообщение от ZElektro Посмотреть сообщение
Не совсем ясно, что за термин такой - экземпляры...
Не пытаюсь обидеть, но вы сначала попросили объяснить решение интегрального уравнения, а потом оказалось что вы не знаете что такое сложение/вычитание.
Я не имею ни возможности, ни умения написать персональный учебник по программированию в границах форумного поста.
Могу только порекомендовать почитать любой существующий букварь по C# и ООП — там очень подробно объясняется что такое экземпляры, переменные, значения, ссылки и пр. — самые азы.
Без наличия базовых знаний любое объяснение у вас будет только вызывать еще больше вопросов.
2
 Аватар для ZElektro
0 / 0 / 0
Регистрация: 03.02.2019
Сообщений: 137
11.04.2021, 20:39  [ТС]
kolorotur, я почему спрашиваю.... Я же из Delphi пришёл... Там просто с таким не сталкивался, там многое упрощено, и та же работа с INI. В C# многое иначе. Кстати, во многих учебниках очень непонятно пишут. Это как слово void - вроде должно быть всё просто, но ни один нормально объяснить не может...

В Дельфях я и get-запросы делал, и с сканированием пикселей работал, не одну программу написал. Пришёл в C# (того потребовала моя программа), и тут всё иначе. По сути, всё заново. Многое непонятно, и нормальное объяснение порой не отыщешь
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
11.04.2021, 21:50
Зачем вообще ini в 2021 году? Есть встроенные средства для сохранения настроек, если их недостаточно то можно использовать json/xml сериализацию... Тут тебе и строгая типизация настроек и многие другие плюшки...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2021, 21:50
Помогаю со студенческими работами здесь

Как правильно считать с INI файла, в данном случае?
Как правильно считать с INI файла, в данном случае? INI файл: Test=Gnom Программа: uses

как правильно описать if
Почему все равно программа идет дальше если не заполнены текст боксы if (textBox1.Text != "") if...

Как правильно организовать работу в Scilab?
Здравствуйте. Родственник попросил в авральном режиме решить ему уравнение в Scilab, установила Scilab 5.5.2. Программу вижу впервые. Но...

Как правильно организовать работу с потоками?
Имеется процесс, который может выполняться длительное время. Он выделен в отдельный класс. Вызывается с кнопки в MainWindow. Также в...

Как правильно организовать работу скриптов?
Скажу сразу скрипты уже написаны, хотя в VBA я дуб дубом в отличии от VB6 поэтому возник вопрос. Вопрос про VBA для Word 2003. Решил...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru