|
Вопрос # 506/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Меня очень интересует такой вопрос: Возможно-ли загрузить данные из неизвестной или частично известной сееции при помощи TINIFiles, либо есть может альтернатива?
 |
Вопрос задал: 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® (статус: 1-ый класс), 20 апреля 2007, 20:43 [#1]:
[Page_0\Photo_2]
параметр1=ХХХ
Параметр2=ХХХ
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|