Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

18.11.2009, 15:58
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме: 840493
Репутация:
0
|
|
Почему не работает цикл?
Здравствуйте. Делаю цикл:
Код:
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
|
|
|

18.11.2009, 16:07
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
эммм тупо щитаем begin-ы 3 штуки end; две штуки
слушай есть этикет программистов http://pers.narod.ru/study/pascal/p6.html
оформляй код по человеческому блин
|
|
|

18.11.2009, 17:44
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме: 840493
Репутация:
0
|
|
хм исправил на вот так
Код:
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';
end;
DownloadFile(memo2.Lines[ho], sv);
Zip1.FileName:=sv;
Zip1.OpenArchive;
Zip1.DeleteFiles('*.html*', faAnyFile, '.rtf');
Zip1.Comment:='Marsel';
Zip1.CloseArchive;
Reg2.Expression:= '<title>(.*?)</title>.*?description" content="(.*?)">';
downloadurl(memo1.Lines[ho]);
if Reg2.Exec(memo3.Text) then
begin
showmessage(reg2.Match[1]);
showmessage(reg2.Match[2]);
end;
memo3.Clear;
end;
end;
но все равно не получается! Отчего? 
|
|
|

20.11.2009, 03:33
|
|
Banned
Регистрация: 03.11.2009
Сообщений: 112
Провел на форуме: 98006
Репутация:
17
|
|
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';
end; <---убери, и поставь в конце
DownloadFile(memo2.Lines[ho], sv);
Zip1.FileName:=sv;
Zip1.OpenArchive;
Zip1.DeleteFiles('*.html*', faAnyFile, '.rtf');
Zip1.Comment:='Marsel';
Zip1.CloseArchive;
Reg2.Expression:= '<title>(.*?)</title>.*?description" content="(.*?)">';
downloadurl(memo1.Lines[ho]);
if Reg2.Exec(memo3.Text) then
begin
showmessage(reg2.Match[1]);
showmessage(reg2.Match[2]);
end;
memo3.Clear;
end;
end;
Последний раз редактировалось DeaD_MoroZ; 20.11.2009 в 03:46..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|