Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2014, 15:30   #1
Ariomex
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 11
По умолчанию Delphi. TIniFile без секций

Доброго времени суток!

Написал небольшой конфигуратор на TIniFile для изменения некоторых параметров ini-шника чужого приложения. Потестил на небольшом примере (одна секция, несколько параметров) и всё работало отлично.
Но в том самом конкретном ini-шнике, для которой и писался конфигуратор, нет секций. И если их вписать - то программа отказывается с ним работать.
А TIniFile для обращения к параметру обязательно требует указывать имя секции... Например:
Цитата:
IniFile.WriteString(const Section, Ident, Value: string);
Знает ли кто-нибудь решение проблемы?
Ariomex вне форума Ответить с цитированием
Старый 25.05.2014, 15:41   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Но в том самом конкретном ini-шнике, для которой и писался конфигуратор, нет секций.
Если нет секций, то это, по сути, не инишник, а обычный текстовик с расширением ini.
Цитата:
А TIniFile для обращения к параметру обязательно требует указывать имя секции
Если Вы используете свой формат файла, то лучше написать класс специально для работы с этим форматом.
.
Streletz вне форума Ответить с цитированием
Старый 25.05.2014, 15:50   #3
Ariomex
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Если нет секций, то это, по сути, не инишник, а обычный текстовик с расширением ini..
Вообще это конфиг с расширением .cfg и конфигуратор с ним прекрасно работает, если просто первой строчкой вписать какую-нибудь секцию.
Цитата:
Сообщение от Streletz Посмотреть сообщение
Если Вы используете свой формат файла, то лучше написать класс специально для работы с этим форматом.
.
К сожалению моих познаний для этого недостаточно...
Ariomex вне форума Ответить с цитированием
Старый 25.05.2014, 15:59   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
TIniFile без секций
Не прокатит. TStringList
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.05.2014, 18:26   #5
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
К сожалению моих познаний для этого недостаточно
Наверное поэтому ты и создал тему. Логично? Согласен с Аватар. StringList в помощь.
doktor255 вне форума Ответить с цитированием
Старый 25.05.2014, 18:29   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
это конфиг с расширением .cfg
тогда с какого перепуга вы за TIniFile схватились? больше не за что было?
eval вне форума Ответить с цитированием
Старый 25.05.2014, 19:49   #7
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Если Вы используете свой формат файла, то лучше написать класс специально для работы с этим форматом.
.
Тут зависит от содержимого. Если в файле текст, то его можно открыть даже блокнотом. Обычно это надо делать с помощью AssignFile.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 25.05.2014, 21:18   #8
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Тут зависит от содержимого. Если в файле текст, то его можно открыть даже блокнотом.
Содержимое в физическом плане может быть одинаковым. Те же ini и txt в физическом отношении. В чём отличие, кроме расширения? Форматом содержимого.
Streletz вне форума Ответить с цитированием
Старый 26.05.2014, 01:22   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

<offtop>
Самое смешное будет если ТС придумает таки "простое" решение из двух действий для того чтобы его программа могла работать с этим файлом как с INI, а другая программа не как с INI. А такое решение есть.
</offtop>
northener вне форума Ответить с цитированием
Старый 26.05.2014, 19:39   #10
Ariomex
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
<offtop>
Самое смешное будет если ТС придумает таки "простое" решение из двух действий для того чтобы его программа могла работать с этим файлом как с INI, а другая программа не как с INI. А такое решение есть.
</offtop>
Самое простое, что можно придумать - перед открытием файла вписывать в него блокнотом первой строчкой секцию и после этого можно открывать и редактировать. После сохранения открыть блокнотом, удалить секцию и готово... Так всё работает.
А вот можно ли это как-то просто реализовать, чтобы программа сама это делала - для меня вопрос...
Ariomex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. TIniFile без перезаписи Человек_Борща Общие вопросы Delphi 12 02.01.2020 09:47
TMemo и TIniFile Volkogriz Общие вопросы Delphi 11 29.12.2012 08:29
TStringList и TIniFile -Jack- Общие вопросы Delphi 3 16.10.2012 09:56
Имена всех секций всех ini-файлов (DELPHI) Dj_SheLL Помощь студентам 7 10.10.2010 17:44
TIniFile matus Общие вопросы Delphi 6 21.02.2008 13:59