На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> get запрос
    Сегодня утром столкнулся с проблемой!Очень не приятной для меня)В общем моя программа берет данные с тхт файла таким запросом:
    Код:

    sl:= TStringList.Create;

    sl.Text:= idhttp1.Get('http://blabla/1.txt');

    for i:= 0 to sl.Count-1 {??? ??????? ????, ????. 5} do
    (FindComponent('Edit' + IntToStr(i+1)) as TEdit).Text:= sl[i];
    sl.Free;

    Так вот сегодня у моего хостера возникли проблемы и мой хостинг откл.
    И сразу при запуске выходит сообщение "socket error 11001" - не возможно подключится к хосту!Вопрос как сделать "Если http://blabla/1.txt' не доступен то берем данные с http://blabla2/1.txt"
      Rонструкция Try Except по идее должна Вам помочь
      вот такое вариант при любой ошибке возникшей при sl.Text:= idhttp1.Get('http://blabla/1.txt');'); выполнит sl.Text:= idhttp1.Get('http://blabla2/1.txt');');
      ExpandedWrap disabled
        try
         sl.Text:= idhttp1.Get('http://blabla/1.txt');');
        except  
         sl.Text:= idhttp1.Get('http://blabla2/1.txt');');
        end;


      При этом рекомендуется возникшую ошибку все же записать в лог
      Пример работы с этой конструкцией в справке очень подробный и понятный
        На соседнем форуме предложили такой вариант
        ExpandedWrap disabled
          const blabla:array[1..2] of string=('blabla','blabla2'); s:string;
          var k:integer;
          ...
          s:='';
          k:=Low(blabla);
          while k<Length(blabla) do
           try
            s:= idhttp1.Get('http://'+blabla[k]+'/1.txt');
            break;
           except
            inc(k);
           end;
           
          if s='' then begin
           ShowMessage('Нигде не пускают');
           exit;
          end;
           
          sl:= TStringList.Create;
           
              sl.Text:=s;
           
              for i:= 0 to sl.Count-1 {??? ??????? ????, ????. 5} do
             (FindComponent('Edit' + IntToStr(i+1)) as TEdit).Text:= sl[i];
           sl.Free;



        http://screenshot.ru/b9d7f33f169c15e4c658e668ce4bab93
        Это если на первом хосте нет 1.txt
        По идее должно быть так если на первом нет key.txt или он вообще молчит то конектимся ко второму
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0.0639 ]   [ 15 queries used ]   [ Generated: 20.09.26, 18:02 GMT ]