SultanOFF
18.11.2009, 15:58
Здравствуйте. Делаю цикл:
procedure TForm1.Button1Click(Sender: TObject);
var
ho: integer;
sv:string;
Reg2: TRegExpr;
begin
Reg2 := TRegExpr.Create;
Reg2.Expression:= '-?\d+';
for ho := 0 to memo2.Lines.Count - 1 do
begin
if Reg2.Exec(memo2.Lines[ho]) then
begin
Reg2.ExecNext;
sv:= 'c:\xxx\'+reg2.Match[0]+'.zip';
DownloadFile(memo2.Lines[ho], sv);
Zip1.FileName:=sv;
Zip1.OpenArchive;
Zip1.DeleteFiles('*.html*', faAnyFile, '.rtf');
Zip1.Comment:='BLABLABLA;
Zip1.CloseArchive;
Reg2.Expression:= '<title>(.*?)</title>.*?description" content="(.*?)">';
downloadurl(memo1.Lines[ho]);
if Reg2.Exec(memo3.Text) then //исходный код html загружается в memo3
begin
label1.caption:=(reg2.Match[1]);
label2.caption:=(reg2.Match[2]);
end;
memo3.Clear;
end;
end;
но цикл выполняется только для первого файла, дальше не работает :( Отчего и почему? Да кстати если сделать просто вот так:
procedure TForm1.Button1Click(Sender: TObject);
var
ho: integer;
sv:string;
Reg2: TRegExpr;
begin
Reg2 := TRegExpr.Create;
Reg2.Expression:= '-?\d+';
for ho := 0 to memo2.Lines.Count - 1 do
begin
if Reg2.Exec(memo2.Lines[ho]) then
begin
Reg2.ExecNext;
sv:= 'c:\marsel\'+reg2.Match[0]+'.zip';
DownloadFile(memo2.Lines[ho], sv);
Zip1.FileName:=sv;
Zip1.OpenArchive;
Zip1.DeleteFiles('*.html*', faAnyFile, '.rtf');
Zip1.Comment:='Marsel';
Zip1.CloseArchive;
end;
end;
то работает smile
procedure TForm1.Button1Click(Sender: TObject);
var
ho: integer;
sv:string;
Reg2: TRegExpr;
begin
Reg2 := TRegExpr.Create;
Reg2.Expression:= '-?\d+';
for ho := 0 to memo2.Lines.Count - 1 do
begin
if Reg2.Exec(memo2.Lines[ho]) then
begin
Reg2.ExecNext;
sv:= 'c:\xxx\'+reg2.Match[0]+'.zip';
DownloadFile(memo2.Lines[ho], sv);
Zip1.FileName:=sv;
Zip1.OpenArchive;
Zip1.DeleteFiles('*.html*', faAnyFile, '.rtf');
Zip1.Comment:='BLABLABLA;
Zip1.CloseArchive;
Reg2.Expression:= '<title>(.*?)</title>.*?description" content="(.*?)">';
downloadurl(memo1.Lines[ho]);
if Reg2.Exec(memo3.Text) then //исходный код html загружается в memo3
begin
label1.caption:=(reg2.Match[1]);
label2.caption:=(reg2.Match[2]);
end;
memo3.Clear;
end;
end;
но цикл выполняется только для первого файла, дальше не работает :( Отчего и почему? Да кстати если сделать просто вот так:
procedure TForm1.Button1Click(Sender: TObject);
var
ho: integer;
sv:string;
Reg2: TRegExpr;
begin
Reg2 := TRegExpr.Create;
Reg2.Expression:= '-?\d+';
for ho := 0 to memo2.Lines.Count - 1 do
begin
if Reg2.Exec(memo2.Lines[ho]) then
begin
Reg2.ExecNext;
sv:= 'c:\marsel\'+reg2.Match[0]+'.zip';
DownloadFile(memo2.Lines[ho], sv);
Zip1.FileName:=sv;
Zip1.OpenArchive;
Zip1.DeleteFiles('*.html*', faAnyFile, '.rtf');
Zip1.Comment:='Marsel';
Zip1.CloseArchive;
end;
end;
то работает smile