Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 506

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Меня очень интересует такой вопрос: Возможно-ли загрузить данные из неизвестной или частично известной сееции при помощи TINIFiles, либо есть может альтернатива?

Приложение:
  1.  
  2.  
  3.  


Programme® Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Programme® (статус: 1-ый класс)
Вопрос отправлен: 20 апреля 2007, 16:51
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Вадим К

Ну если вы не знаете имя секции, с которой вы хотите загрузиться, то ничего вам не поможет. Но если вы знаете, как она приблезительно выглядит или вам нужен список всех секций, а пользователь пусть выбирает, то так можно. Нижеприведённы код загрузит в мемо список секций.
var ini:TInifile;
begin
...
Ini:=TIniFile.Create('test.ini');
ini.ReadSections(Memo1.lines);
ini.free;

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 20 апреля 2007, 20:07
Оценка за ответ: 5

Комментарий к оценке: А я не знал как пользоваться ReadSections(), думал надо смому задавать список секций:-) Я подправил приложение, теперь будет понятнее.
Это уже кое-то, теперь можно отделить числовые символы. Огромное спасибо)

Ответ #2. Отвечает эксперт: min@y™

Добавлю от себя.
Далее можно воспользоваться методом TIniFile.ReadSection(const Section: String; Strings: TStrings) для получения списка ИМЁН параметров (то, что стоит СЛЕВА от "="). Затем прочитать нужные или всё с помощью ReadString(), затем распознать, что прочитал (ну, там, число, число с плав. точкой, строка, и т.д.).

Вместо ReadSection() можно также юзать метод TIniFile.ReadSectionValues(const Section: String; Strings: TStrings). Он заполняет список Strings не только именами, но и значениями параметров, т.е. в данном случае в списке будет:

параметр1=ХХХ
Параметр2=ХХХ

У TStrings (TStringList) есть свойства NameValueSeparator, Names[Index] и Values[Index], с помощью которых можно разложить каждую строку списка на пару [Параметр, значение].

З.Ы. Стандартный Хэлп из дистрибутива Delphi - великая весчь!

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 23 апреля 2007, 08:25


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 20 апреля 2007, 20:43; участников в обсуждении: 1.
Programme®

Programme® (статус: 1-ый класс), 20 апреля 2007, 20:43 [#1]:

[Page_0\Photo_2]
параметр1=ХХХ
Параметр2=ХХХ

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:31
Выполнено за 0.03 сек.