|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|||||||||||||||||||||
.NET 4.x Имя ini файла в корневой директории23.07.2019, 16:49. Показов 4055. Ответов 21
Приветствую.
Для программы конвертирования текстового файла использую ini-файл, в котором пользователь может задать пути и имена входного и выходного текстовых файлов. Предполагается, что ini-файл будет лежать рядом с исполняемым файлом. Для работы с ini-файлом использую класс:
Работает только если указать весь путь, в данном случае это:
Как же сделать так, чтобы ini-шка искалась в том же каталоге, где лежит исполняемый файл? Поможите.
0
|
|||||||||||||||||||||
| 23.07.2019, 16:49 | |
|
Ответы с готовыми решениями:
21
Включение файла из корневой директории Создание ini файла в директории программы Как вытащить из ini-файла имя файла? |
|
Модератор
|
|||||||
| 23.07.2019, 18:52 | |||||||
Прочитайте Узнать путь к исполняемому файлу приложения
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
||
| 23.07.2019, 19:10 [ТС] | ||
|
Ошибка CS0117 "MediaTypeNames.Application" не содержит определение для "StartupPath". Digispot_to_PG И само StartupPath подчеркнуто.
0
|
||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|
| 23.07.2019, 20:44 [ТС] | |
|
Элд Хасп, Огромное спасибо за помощь, почему-то прямое указание имени файла без пути не работает в методе INIManage (сам класс INIManager я полностью процитировал в изначальном сообщении).
Но сработал метод от XIST из 5-го коммента. Добавлено через 1 минуту XIST, да, это сработало! Спасибо. Но я видел где-то, что могут быть исключения, в том случае, если домен будет указан вручную (не дефолтно), но моему (первому, кстати) приложению это, кажется, не грозит.
0
|
|
|
Модератор
|
||
| 23.07.2019, 21:06 | ||
Добавлено через 1 минуту Какой тип проекта приложения у вас?
0
|
||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|||||||
| 24.07.2019, 08:56 [ТС] | |||||||
|
Элд Хасп, консольное приложение.
Добавлено через 8 минут Элд Хасп wrote:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
||||||
| 24.07.2019, 09:40 [ТС] | ||||||
|
Элд Хасп, может быть дело в самом классе? Там такой код
А может быть дело в том, что я не умею использовать классы. В отдельном файле мне не получилось его подключить, так что я вставил его прямо в код основной программы.
0
|
||||||
|
Модератор
|
|||||||||||||||||
| 24.07.2019, 10:10 | |||||||||||||||||
|
Это может иметь значение только если в решении несколько сборок и они находятся в разных папках. Поэтому я и поинтересовался типом решения. Для одной сборки должно работать просто по имени без пути. Вы же прямо из VS запускаете? Могут быть нюансы, если запускать exe не из папки приложения. Но у вас, как я понял, не такой сценарий.Если проект небольшой - скиньте сюда его архив. Посмотрю в чём дело. P.S. Mаленький совет. У вас есть свойство Path. Переменная path используется только для хранения значения этого свойства. Не надо её использовать где-либо за пределами сеттера и геттера этого свойства.
Path. Если это свойство можно менять после создания экземпляра, то зачем этот конструктор? Можно создавать так
0
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|
| 24.07.2019, 10:41 [ТС] | |
|
Элд Хасп, Я только-только начал учить программирование и я половину из того, что вы мне сказали - не понимаю даже. А этот проектик, конвертор текстовых файлов, просто очень нужен был по работе, поэтому я сильно вперед забежал, чтобы сделать его. Полагаю, там жесть полная. Но работает. А инишку я добавил, так как у клиента пути могут не совпадать с расположением исполняемого файла, поэтому я предусмотрел возможность через ини-файл указывать пути. Но возникла проблема с путём к самому Ини-файлу
Класс для работы с ини файлами, как я это понимаю на своем теперяшном уровне, это не готовый класс от Микрософт (читал, что Микрософт не рекомендует работать с ини, а лучше с XML), а кем-то написанный, поэтому он и содержит разные методы, мне пригодился один, в другой раз пригодится другой и т.д. Универсальный класс. Поэтому я его и не трогал, не влазил в него. А просто использовал. В общем я не хочу никого ничем напрягать, вот лет через пять я подучусь и тогда... Но проект, конечно, прилагаю. Тоже интересно знать, почему без пути не работает.
0
|
|
|
|
|||||||
| 24.07.2019, 10:57 | |||||||
|
Без пути это так чтоль
Потому что он ищет в каталоге C:\Windows . Добавлено через 4 минуты GetPrivateProfileString function
И вообще, если не хотите проблем на пустом месте, всегда указывайте полные пути: Относительное зло
2
|
|||||||
|
Модератор
|
||
| 24.07.2019, 14:05 | ||
|
Это моя невнимательность! Не прочитал до конца код класса INIManager из начала темы.Имя файла передаётся в методы GetPrivateString и WritePrivateString. Они находятся в сборке kernel32.dll и относительный путь они будут вычислять относительно места локализации своей сборки.То есть, как и писал Rius, относительно C:\Windows
0
|
||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|
| 24.07.2019, 14:08 [ТС] | |
|
Элд Хасп, круто быть умным, должно быть. Но вот сейчас я хотя бы понимаю, о чем вы написали.
Еще раз спасибо.
0
|
|
|
Модератор
|
|||||||||||
| 24.07.2019, 14:53 | |||||||||||
|
Smolko, немного изменил ваш класс и перенёс его в отдельный проект, как вы, по-моему, и хотели. Этот отдельный проект (или его сборку) можно подключать к любому другому решению.
И обратите внимание как должны выглядеть комментарии. Такие комментарии будут всплывать при наведении.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|
| 24.07.2019, 14:57 [ТС] | |
|
Элд Хасп, это слишком великодушно с вашей стороны. Как только я смогу, я всё изучу и, возможно, задам вопросы, если не пойму что-либо.
Спасибо;
0
|
|
|
0 / 0 / 0
Регистрация: 23.07.2019
Сообщений: 9
|
|
| 25.07.2019, 10:42 [ТС] | |
|
Элд Хасп, Всё рассмотрел. С путем до ИНИ - так просто? С ума сойти
Про класс (в отдельной dll) - тоже теперь понятно. Теперь можно к другим проектам если что - подключать.Очень много спасибо. Rius, Простите, о какой именно функции речь?
0
|
|
| 25.07.2019, 10:42 | |
|
Помогаю со студенческими работами здесь
20
Получить имя директории текущего файла
Ошибка нахождения корневой директории Список файлов в корневой директории Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|