Odczyt wszystkich elementów z INI

0

Witam :-P

Mam nasztępujący problem:

Jest sobie plik INI - ma dwie sekcje, ale w każdej ilość elementów jest nieznana i może być dowolna. Na formie mam dwa ComboBox-y. Do jednego muszą trafić wszystkie wartości elementów z sekcji pierwszej, a do drugiego wszystkie wartości elementów sekcji drugiej. Pytanie: jak to zrobić nie znając ilości elementów w każdej z sekcji?

Z góry dzięki za ew. podpowiedzi jak to nadgryźć ;)

Pozdrawiam :d

0

TINIFile.ReadSection()
TINIFile.ReadSectioValues()

Te dwie metody klasy TINIFile działają na obiektach typu TStrings o ile pamiętam. TComboBox.Items jest właśnie tego tpu. Odczytanie wszystkich kluczy z sekcji jest zatem proste:

INIFile.ReadSectionValues('foo', ComboBox.Items);
0

Dzięki za odp.

Niestety nieco chyba nieprecyzyjnie to wyjaśniłem - powyższą funkcję już próbowałem - rzecz w tym, że odczytuje klucz razem z jego wartością, a ja muszę wydłubać samą wartość.

Czyli innymi słowy jak mam:

[Nazwa]
1=coś tam
2=coś innego

To w ComboBoxie muszę zobaczyć

coś tam
coś innego

To INI.ReadSectionValues byłoby OK, ale jeśli da się zapisać INI tak z poziomu Delphi:

[Nazwa]
coś tam
coś innego

Da się tak zapisać bez nazwy klucza (czyli tego przed "=")? Wtedy problem rozwiązany ;)

Dzięki za dotychczasową pomoc [browar]

0

To wczytaj ReadSectionValues do jakiegoś tymczasowego TStringList, a potem dla każdego elementu tego tymczasowego czegoś zrób tak:

// fooString zamień na s[0] czy jak tam się dany element TStringList będzie nazywał
fooString := Delete(fooString, 0, Pos('=', fooString)); // być może powinno być 1, nie mam Delphi, nie sprawdzę

i zrobione. Powinno działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0