HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Почему не работает цикл?
  #1  
Старый 18.11.2009, 15:58
SultanOFF
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
С нами: 8913664

Репутация: 0
Angry Почему не работает цикл?

Здравствуйте. Делаю цикл:
Код:
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
 
Ответить с цитированием

  #2  
Старый 18.11.2009, 16:07
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

эммм тупо щитаем begin-ы 3 штуки end; две штуки
слушай есть этикет программистов http://pers.narod.ru/study/pascal/p6.html

оформляй код по человеческому блин
 
Ответить с цитированием

  #3  
Старый 18.11.2009, 17:44
SultanOFF
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
С нами: 8913664

Репутация: 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;
но все равно не получается! Отчего?
 
Ответить с цитированием

  #4  
Старый 20.11.2009, 03:33
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
С нами: 8694756

Репутация: 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..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает автооплата на веб мани. }{OT@b PHP 3 16.02.2009 20:23
Почему не работает nsd.ru ? -=lebed=- Болталка 9 03.03.2007 02:51



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.