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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2016, 12:00   #11
SLAUR
Пользователь
 
Регистрация: 16.10.2014
Сообщений: 51
По умолчанию

Поставь begin и end
SLAUR вне форума Ответить с цитированием
Старый 05.09.2016, 15:11   #12
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Код:
var
i:integer;
begin
 try
   begin
 for i:= 0 to Memo3.Lines.Count-1 do
 IdHTTP1.Get(memo3.Lines[i]);
 memo1.Lines.Add(edit1.Text+'найдено');
   end;
 except on e : EIDHttpProtocolException do

   Begin
     if e.ErrorCode = 302 then
       begin
         try
           // получаем новый адрес - адрес перенаправления
           Memo1.lines.add(idhttp1.Get(IdHTTP1.Response.Location));
         except on e:Exception do
    // предусматриваем, что исключение может возникнуть и тут
           ShowMessage('Ошибка при получении нового адреса.'+e.Message);
         end;
       end
     else
       //http 404, 501 и так далее
       memo2.lines.Add(edit1.Text+'не найдено')
   end;
 on e:Exception do
   ShowMessage('Ошибка: ' + e.Message);
 end;
все равно только одну строчку
mitiay вне форума Ответить с цитированием
Старый 05.09.2016, 15:14   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

повторите для себя как циклы пишутся.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.09.2016, 16:19   #14
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Код:
var
i:integer;
begin
 try
 for i:= 0 to Memo3.Lines.Count-1 do begin
 IdHTTP1.Get(memo3.Lines[i]);
 memo1.Lines.Add(edit1.Text+'найдено');
except on e : EIDHttpProtocolException do
   Begin
     if e.ErrorCode = 302 then
       begin
         try
           // получаем новый адрес - адрес перенаправления
           Memo1.lines.add(idhttp1.Get(IdHTTP1.Response.Location));
         except on e:Exception do
    // предусматриваем, что исключение может возникнуть и тут
           ShowMessage('Ошибка при получении нового адреса.'+e.Message);
         end;
       end
     else
       //http 404, 501 и так далее
       memo2.lines.Add(edit1.Text+'не найдено')
   end;
 on e:Exception do
   ShowMessage('Ошибка: ' + e.Message);
 end;
Вспомнил)Вот только на except ругается(.Помогите плз
mitiay вне форума Ответить с цитированием
Старый 05.09.2016, 16:30   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
try
except
end
должно быть ВНУТРИ цикла
Код:
for i:= 0 to Memo3.Lines.Count-1 do begin
   try
      ....
   except
   end
end;

но то, что Вы в цикле творите - всё равно мне не понятно.

например,
IdHTTP1.Get(memo3.Lines[i]); - получить страницу по адресу из memo3.Lines[i]
понятно.

но тут же Вы в мемо выводите
memo1.Lines.Add(edit1.Text+'найдено ');
какое отношение edit1.Text имеет к строке запроса, которая берётся из memo3.Lines[i]?!

ну и зачем там вложенный try except тоже за границами моего понимания!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.09.2016, 16:38   #16
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Вроде работает но пишет что во всех найдено
Код:
var
i:integer;
begin
  for i:= 0 to Memo3.Lines.Count-1 do begin
 try
 IdHTTP1.Get(memo3.Lines[i]);
 memo1.Lines.Add(edit1.Text+'найдено');
except on e : EIDHttpProtocolException do
   Begin
     if e.ErrorCode = 302 then
       begin
         try
           // получаем новый адрес - адрес перенаправления
           Memo1.lines.add(idhttp1.Get(IdHTTP1.Response.Location));
         except on e:Exception do
    // предусматриваем, что исключение может возникнуть и тут
           ShowMessage('Ошибка при получении нового адреса.'+e.Message);
         end;
       end
     else
       //http 404, 501 и так далее
       memo2.lines.Add(memo3.Lines[i]+'не найдено')
   end;
 on e:Exception do
   ShowMessage('Ошибка: ' + e.Message);

  end;
mitiay вне форума Ответить с цитированием
Старый 05.09.2016, 16:55   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вы моё сообщение прочитали только до середины?
потом не стали читать?
или прочитали, но не поняли, о чём речь идёт?!

Цитата:
но тут же Вы в мемо выводите
memo1.Lines.Add(edit1.Text+'найдено ');
какое отношение edit1.Text имеет к строке запроса, которая берётся из memo3.Lines[i]?!

p.s. вот про вложенный запрос мой вопрос снимается, там же есть другой idhttp1.Get(), этот try для него.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.09.2016, 17:03   #18
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
  for i:= 0 to Memo3.Lines.Count-1 do begin
 try
 IdHTTP1.Get(memo3.Lines[i]);
 memo1.Lines.Add(memo3.Lines[i]+'найдено');
except on e : EIDHttpProtocolException do
   Begin
     if e.ErrorCode = 302 then
       begin
         try
           // получаем новый адрес - адрес перенаправления
           Memo1.lines.add(idhttp1.Get(IdHTTP1.Response.Location));
         except on e:Exception do
    // предусматриваем, что исключение может возникнуть и тут
           ShowMessage('Ошибка при получении нового адреса.'+e.Message);
         end;
       end
     else
       //http 404, 501 и так далее
       memo2.lines.Add(memo3.Lines[i]+'не найдено')
   end;
 on e:Exception do
   ShowMessage('Ошибка: ' + e.Message);

  end;
end;
Исправил,Но он не проверяет на ошибки то есть добавляет в все ссылки в "найденное"
mitiay вне форума Ответить с цитированием
Старый 05.09.2016, 17:17   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Но он не проверяет на ошибки то есть добавляет в все ссылки в "найденное"
так может быть IdHTTP1.Get для ваших ссылок и не возвращает ошибок?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.09.2016, 19:01   #20
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

как сделать чтоб возвращал?
mitiay вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наличие товара на сайте xifor PHP 18 14.08.2016 14:28
Наличие таблицы в БД Langoria Microsoft Office Access 7 19.07.2012 21:55
Наличие цифры Shouldercannon Общие вопросы Delphi 9 26.07.2010 08:20
Проверка на наличие файла Vladya Общие вопросы Delphi 7 10.10.2009 01:26
Проверка на наличие в массиве istoe Microsoft Office Excel 8 26.08.2009 11:55