Показать сообщение отдельно
  #10  
Старый 01.07.2013, 10:17
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlexandrV
Можно ли както из ини загрузить все секции. Не то что в секциях а имена секций и имена ключей. помогите а то не могу найти.
А куда вы их хотите грузить? Точнее говоря - в каком виде вы их хотите видеть в итоге?
Я так понимаю, что если есть *.ini :
Код HTML:
[public] one=1 two=2 three=3 [private] five=5
то в итоге вы хотите увидеть массив вида :
Код HTML:
m[1] = public:one m[2] = public:two m[3] = public:three m[4] = private:five
Т.е. имя секции, и имя параметра, через разделитель, чтобы понимать к какой секции относится тот, или иной параметр? В данном случае поможет велосипед :
Код:
procedure MyForm.ReadMyIni();
var
  F : TextFile;
  i : Integer;
  S,Header,Value : String;
begin
  Header := "";
  AssignFile(F,'c:\config.ini');
  Reset(F);
  while NOT EoF(F) do begin
    ReadLn(F,S);
    if (Pos('[',S) <> 0) AND (Pos(']',S) <> 0) then begin
      Header := Copy(S,2,Length(S) - 2);
      ReadLn(F,S);
    end;
    if (Pos('=',S) <> 0) AND (Header <> "") then begin 
      Value := Copy(S,1,Pos('=',S) - 1);
      ListBox1.Items.Add(Header + ' : ' + Value);
    end;
  end;
  CloseFile(F);
end;

Это будет работать с любым ini не содержащим ошибок, когда секции заключены в [].
Ответить с цитированием