program Project1;
uses
SysUtils,
classes,
windows;
var list:TStringList;
i:integer;
procedure pars(str:string);
var l:TstringList;
buf:string;
begin
l:=TStringList.Create;
l.LoadFromFile(str);
buf:=l.Text;
repeat
if pos('<td> <i class=\"muted\" style=\"font-size:small\">',buf)=0 then break;
delete(buf,1,pos('<td> <i class=\"muted\" style=\"font-size:small\">',buf)+45);
delete(buf,1,pos('href=\"/node/',buf)+11);
list.Add(copy(buf,1,pos('\"',buf)-1));
until false;
l.Free;
end;
procedure obxod1(path:string);
var
FD : TWin32FindData;
FH : THandle;
begin
FH := FindFirstFile(PChar(path+'*.*'), FD);
repeat
if (FH<>INVALID_HANDLE_VALUE) and (FD.cFileName<>string('.')) and (FD.cFileName<>string('..')) then
begin
if (FD.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY then
begin
obxod1(path+FD.cFileName+'\');
end
else pars(path+FD.cFileName);
end;
until FindNextFile(FH, FD) = false;
end;
begin
list:=TStringList.Create;
obxod1('folder1\');
list.SaveToFile('result.txt');
list.Free;
end.
перебираю все файлы в папке, каждый файл гружу в стринглист [l], выдираю из него нужное и это нужное записываю в результирующий стринглист [list]. Но уже при 100к строк программе не хватает памяти, причем одна строка в стрингисте [list] - это максимум 20 символов. Подскажите где наврал?