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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.06.2013, 12:18
higimo higimo вне форума
Прохожий
 
Регистрация: 23.06.2013
Сообщения: 1
Версия Delphi: delphi 7
Репутация: 10
По умолчанию Чтение ini файла

Задача есть ini файл неопределенной длинны:
[file]
1=file1.txt
2=file2.txt

необходимо считать этот файл до конца и вывести названия всех файлов на экран.

Проблема: не могу найти как считывать этот файл пока он не кончится.
Ответить с цитированием
  #2  
Старый 23.06.2013, 12:33
Аватар для 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
Репутация: выкл
По умолчанию

ReadSection вроде бы.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


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

Можно так
Код:
uses... IniFiles;
...
Var ini:TInIFile;
...
Процедура например кнопка клик
var i:Integer;
begin
  ini:=TIniFile.Create('имя ини включая путь');
    For i := 1 to Максимум строк do begin
      Memo1.lines.add(Ini.readstring('Секция',inttostr(i),'Если строка не найдена'));
    end;
  ini.free;
end;

Это считывает строки где ключ равен от 1 до максимум строк

Я лично делаю так.

Сам ини

Код:
[Секция]
MaxKey=3
key0=0
key1=0
key2=0
key3=0

Вот считывание
Код:
uses... IniFiles;
...
Var ini:TInIFile;
...
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
  ini:=TIniFile.Create('имя ини включая путь');
    For i := 1 to ini.readinteger('Секция','MaxKey',7) do begin
      Memo1.lines.add(inttostr(i)+' Строка = '+Ini.readstring('Секция','Key'+inttostr(i),'Если строка не найдена'));
    end;
  ini.free;
end;

Последний раз редактировалось AlexandrV, 23.06.2013 в 13:06.
Ответить с цитированием
  #4  
Старый 23.06.2013, 12:57
Аватар для 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
Репутация: выкл
По умолчанию

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


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 23.06.2013 в 13:02.
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
alexusankov (24.06.2013)
  #5  
Старый 24.06.2013, 08:07
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

ТС, если нужно усложнить код, пританцовывая с бубном, то рекомендую : регулярные выражения
Если же нет, то все гораздо проще :
Код:
var F : TextFile;
    S : String;
begin
  AssignFile(F,'c:\dd.ini');
  Reset(F);   // Читаем файл построчно, в цикле , где :
  while NOT EoF(F) do begin   // EoF - конец файла, (End Of File). В цикле -
    ReadLn(F,S);  // берем строку, и
    if Pos('=',S) <> 0 then ListBox1.Items.Add( Copy( S, Pos( '=',S ) + 1, Length(S) - Pos('=',S) ) ); //если в ней есть символ '=', то копируем часть строки ПОСЛЕ симовла '='   
  end;
CloseFile(F);
end;

Последний раз редактировалось alexusankov, 24.06.2013 в 09:00.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter