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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2010, 20:44   #1
Lone Hyena
Новичок
Джуниор
 
Аватар для Lone Hyena
 
Регистрация: 04.07.2010
Сообщений: 3
По умолчанию Очистка секции в ini файле

Здравствуйте.

У меня вот такой вопрос.
Есть ListBox, все итемы в цикле записываются в ini

Код:
for i := 0 to ListBox1.Items.Count - 1 do
    Ini.WriteString('ListBox', 'Item' + IntToStr(i), ListBox1.Items.Strings[i]);
получается следующее:

Код:
[ListBox]
Item0=1
Item1=2
Item2=3
Item3=4
Далее. Если я удаляю предпоследний итем из листбокса и сохраняю, то получается следующее:

Код:
[ListBox]
Item0=1
Item1=2
Item2=4
Item3=4
Вот мне пришлось циклом, перед записью удалять все итемы, что бы избежать этой проблемы.

Код:
  Items := TStringList.Create;
  Ini.ReadSection('ListBox', Items);
  for i := 0 to Items.Count - 1 do
    Ini.DeleteKey('ListBox', 'Item'+IntToStr(i));
  Items.Destroy;
Можно как нибудь иначе удалить всё из секции?
Lone Hyena вне форума Ответить с цитированием
Старый 04.07.2010, 20:56   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx

Цитата:
lpKeyName [in]
The name of the key to be associated with a string. If the key does not exist in the specified section, it is created. If this parameter is NULL, the entire section, including all entries within the section, is deleted.
BOBAH13 вне форума Ответить с цитированием
Старый 04.07.2010, 21:14   #3
Lone Hyena
Новичок
Джуниор
 
Аватар для Lone Hyena
 
Регистрация: 04.07.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
То есть место того значения которое было я должен послать null?
Не понятно.
Lone Hyena вне форума Ответить с цитированием
Старый 04.07.2010, 21:26   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от Lone Hyena Посмотреть сообщение
То есть место того значения которое было я должен послать null?
Не понятно.
Попробуйте подставить, ваш ПК взорвется если ошибетесь ?
BOBAH13 вне форума Ответить с цитированием
Старый 04.07.2010, 22:04   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Нет случайно процедуры/функции EraseSection?
Должно быть что-то вроде:
Код:
Ini.EraseSection('ListBox');
pu4koff вне форума Ответить с цитированием
Старый 04.07.2010, 22:21   #6
Lone Hyena
Новичок
Джуниор
 
Аватар для Lone Hyena
 
Регистрация: 04.07.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Нет случайно процедуры/функции EraseSection?
Должно быть что-то вроде:
Код:
Ini.EraseSection('ListBox');
Спасибо большое. Именно это и нужно было.
Lone Hyena вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как пересмотреть все секции в INI.ini ? iskurt Помощь студентам 1 31.01.2010 07:48
Непонятная строка в ini файле ZuBy Общие вопросы Delphi 11 11.12.2009 08:59
Пути к файлам в INI файле Shouldercannon Общие вопросы Delphi 1 17.12.2008 18:46
Секции в ини файле russian-stalker Общие вопросы Delphi 1 02.09.2008 19:04
Form1.Caption в ini файле AngelOfDeath Общие вопросы Delphi 1 12.04.2008 10:33