Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.06.2013, 16:19
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию Вопросы по ini

Можно ли както из ини загрузить все секции. Не то что в секциях а имена секций и имена ключей. помогите а то не могу найти.
Ответить с цитированием
  #2  
Старый 30.06.2013, 16:42
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
ini.readsection
Был уже такой вопрос
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 30.06.2013, 16:47
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Мне надо считать имена секций просто какбы сказать предположим что я незнаю название секции и мне надо програмно узнать имена всех секций и ключей но не значений
Ответить с цитированием
  #4  
Старый 30.06.2013, 16:59
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Поищи в модуле, там есть чето типа EnumerateSections
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 30.06.2013, 18:07
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Интересно а коментарии понимает ини или нет. Просто из ини мне нужно считывать коментарии такие коментарии.
Код:
//
{}
(**)

тоесть все кометарии что в делфи
Ответить с цитированием
  #6  
Старый 30.06.2013, 18:35
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Вроде не понимает.
Он просто бежит по файлу, ему пофиг что там, для определения значения он на "=" ориентируется.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 30.06.2013, 22:18
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Не понимает без всяких вроде. Всё что выходит за рамки дозволенного придётся читать напрямую.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #8  
Старый 01.07.2013, 04:28
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

помоему я и так начел использовать ReadSection

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'LibxEdit.ini');
  Ini.ReadSections(ListBox2.Items);
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
  Ini.ReadSection(ListBox2.Items.Strings[listbox2.itemindex],ListBox1.Items);
end;
Ответить с цитированием
  #9  
Старый 01.07.2013, 07:19
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Парсить вручную, однозначно.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
alexusankov (01.07.2013)
  #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 не содержащим ошибок, когда секции заключены в [].

Последний раз редактировалось alexusankov, 01.07.2013 в 11:19.
Ответить с цитированием
  #11  
Старый 02.07.2013, 14:47
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Как проверить существует ли секция не считывая ее. В ини храниться русский и английский перевод. Каждый перевод в каждой секции. Надо проверить если секция есть то делаем кнопку для перевода активной. Еслиже нет то неактивной
Ответить с цитированием
  #12  
Старый 02.07.2013, 15:01
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Сложно внутри inifiles.pas посидеть поразбираться самому?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #13  
Старый 02.07.2013, 15:18
cmepthuk
 
Сообщения: n/a
По умолчанию

DELETED MESSAGE

Последний раз редактировалось cmepthuk, 19.07.2016 в 19:08.
Ответить с цитированием
Этот пользователь сказал Спасибо за это полезное сообщение:
AlexandrV (02.07.2013)
  #14  
Старый 02.07.2013, 15:22
cmepthuk
 
Сообщения: n/a
По умолчанию

DELETED MESSAGE

Последний раз редактировалось cmepthuk, 19.07.2016 в 19:08.
Ответить с цитированием
Этот пользователь сказал Спасибо за это полезное сообщение:
AlexandrV (02.07.2013)
  #15  
Старый 02.07.2013, 17:25
Аватар для Facepalm
Facepalm Facepalm вне форума
Прохожий
 
Регистрация: 03.02.2013
Сообщения: 40
Репутация: 2552
По умолчанию

Опа, нежданчик!
__________________
Ну ты понел ^_^.
Ответить с цитированием
Этот пользователь сказал Спасибо Facepalm за это полезное сообщение:
M.A.D.M.A.N. (02.07.2013)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter