Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2014, 13:52   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Как составить цикл (for) чтобы цикл работал пока RegExp.Match не будет пустым?

Как составить цикл (for) чтобы цикл работал пока RegExp.Match (или RegExp.ExecNext) не будет пустым?
FleXik вне форума Ответить с цитированием
Старый 05.03.2014, 13:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

WHILE или REPEAT запрещены?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.03.2014, 14:01   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
if RegExp.Exec then
repeat

until not RegExp.ExecNext;
Кольша вне форума Ответить с цитированием
Старый 05.03.2014, 14:24   #4
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Аватар, Кольша, это я все знаю но мне нужно другое...

вобщем у меня есть запрос с которого парсятся данные, в этом запросе у меня увеличивается параметр, так вот мне нужно увеличивать параметр в запросе до тех пор пока есть данные для парсинга, а когда отправляем запрос и данных данных для парсинга нет тогда останавливать работу...
FleXik вне форума Ответить с цитированием
Старый 05.03.2014, 14:26   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

и что в циклах while нельзя увеличивать переменную?
это вам не С.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.03.2014, 14:26   #6
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Код:
var counter: integer;
.......
counter = 0;
if RegExp.Exec then
repeat
...

inc(counter);
until not RegExp.ExecNext;
не?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 05.03.2014, 14:27   #7
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Пепел Феникса, оно то можно, только запросы будут отправляться постоянно, а мне нужно только до тех пор пока есть данные которые надо парсить.
FleXik вне форума Ответить с цитированием
Старый 05.03.2014, 14:34   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Кажется Вы создавали тему уже по этому поводу, и все переросло в жуткий холивар

Код:
i:=0;
r.inputstring:=http.get(....+i);
while r.exec do
begin
repeat

until not r.execnext;
inc(i);
r.inputstring:=http.get(....+i);
end;
Кольша вне форума Ответить с цитированием
Старый 05.03.2014, 14:37   #9
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Код:
var counter: integer;
.......
counter = 0;
if RegExp.Exec then
repeat
...

inc(counter);
until not RegExp.ExecNext;
да оно-то по сути так и должно быть, вот только мне нужен именно цикл while или for заюзать, но я хз как правильно его составить.. внутри этого цикла и будет запрос и все остальное, т.е получится что-то типа этого должно:

Код:
var
k:integer;
begin
IdHTTP1.Get('http://site.ru/q='+IntToStr(k));
for k:=0 to 'тут и надо прописать чтобы парсило пока есть данные по шаблону' do
begin
if RegExp.Exec() then
repeat
...
until not RegExp.ExecNext;
k:=k+10;
end;
вот так я это вижу (могут быть ошибки, писал вручную)...

----------------------------

Кольша, создавал подобную но там другое вообще и без использования регулярок..
FleXik вне форума Ответить с цитированием
Старый 05.03.2014, 14:40   #10
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Но суть была та же, если мне не изменяет память.
Кольша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив цикл-пока или цикл-до в PascalABC veronika55214 Паскаль, Turbo Pascal, PascalABC.NET 8 16.01.2014 22:57
массив цикл-пока или цикл-до veronika55214 Паскаль, Turbo Pascal, PascalABC.NET 1 16.01.2014 17:15
написан цикл на фортране, а как будет он же в С# Евгения17 Помощь студентам 0 19.11.2012 22:19
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23