ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 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
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

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

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

  #3  
Старый 18.11.2009, 17:44
Аватар для SultanOFF
SultanOFF
Участник форума
Регистрация: 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;
но все равно не получается! Отчего?
 
Ответить с цитированием

  #4  
Старый 20.11.2009, 03:33
Аватар для DeaD_MoroZ
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
Провел на форуме:
98006

Репутация: 17
Отправить сообщение для DeaD_MoroZ с помощью ICQ
По умолчанию

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, PERL, MySQL, JavaScript 3 16.02.2009 20:23
Почему не работает nsd.ru ? -=lebed=- Болталка 9 03.03.2007 02:51
Плохо работает XMMS в FreeBSD je0n *nix 13 11.08.2006 15:51



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


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




ANTICHAT.XYZ