![]() |
|
|
#1
|
|||
|
|||
|
Задача есть ini файл неопределенной длинны:
[file] 1=file1.txt 2=file2.txt необходимо считать этот файл до конца и вывести названия всех файлов на экран. Проблема: не могу найти как считывать этот файл пока он не кончится. |
|
#2
|
||||
|
||||
|
ReadSection вроде бы.
|
|
#3
|
||||
|
||||
|
Можно так
Код:
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
|
||||
|
||||
|
ReadSection и делает то же, что и твой
Последний раз редактировалось M.A.D.M.A.N., 23.06.2013 в 13:02. |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
alexusankov (24.06.2013)
| ||
|
#5
|
||||
|
||||
|
ТС, если нужно усложнить код, пританцовывая с бубном, то рекомендую : регулярные выражения
Если же нет, то все гораздо проще : Код:
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. |