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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2010, 09:21   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию Опросить PHP и вывести данные в ListView

Столкнулся с проблемой опроса. Задача заключается в следующем: при показе главной формы начинается опрос PHP
Код:
procedure TForm1.UpdateInfo(Sender: TObject);
var
s: string;
s1: TStrings;
begin
LVServers.Clear;

try
s:=IdHTTP1.Get('http://77.108.194.247/other/sc_fast.php');
except
Server:=LVServers.Items.Add;
Server.ImageIndex:=0;
Server.SubItems.Add('');
Server.SubItems.Add('<Сервер не отвечает>');
Server.SubItems.Add('');
Server.SubItems.Add('');
IdHTTP1.Disconnect;
Exit;
end;

if s='' then begin
Server:=LVServers.Items.Add;
Server.ImageIndex:=0;
Server.SubItems.Add('');
Server.SubItems.Add('<Сервер не отвечает>');
Server.SubItems.Add('');
Server.SubItems.Add('');
Exit;
end;

s1:=TStringList.Create;
StrBreakApart(s,'/',s1);
Server:=LVServers.Items.Add;
Server.ImageIndex:=1;
Server.SubItems.Add('3.0.0 Beta 2');
Server.SubItems.Add('77.108.194.247:27018');
Server.SubItems.Add(s1[2]+'/'+s1[3]);
Server.SubItems.Add(s1[1]);
s1.Free;

try
s:=IdHTTP1.Get('http://77.108.194.247/other/pn_fast.php');
except
Server:=LVServers.Items.Add;
Server.ImageIndex:=0;
Server.SubItems.Add('');
Server.SubItems.Add('<Сервер не отвечает>');
Server.SubItems.Add('');
Server.SubItems.Add('');
IdHTTP1.Disconnect;
Exit;
end;

if s='' then begin
Server:=LVServers.Items.Add;
Server.ImageIndex:=0;
Server.SubItems.Add('');
Server.SubItems.Add('<Сервер не отвечает>');
Server.SubItems.Add('');
Server.SubItems.Add('');
Exit;
end;

s1:=TStringList.Create;
StrBreakApart(s,'/',s1);
Server:=LVServers.Items.Add;
Server.ImageIndex:=2;
Server.SubItems.Add('2.0.0 K');
Server.SubItems.Add('77.108.196.132:21018');
Server.SubItems.Add(s1[2]+'/'+s1[3]);
Server.SubItems.Add(s1[1]);
s1.Free;
end;
Если нет ответа от sc_fast, то дальше должен опрашиваться pn_fast, а у меня на первом же всё и останавливается. Знаю что на такой случай есть finally, но как им воспользовать в моём коде я не знаю. И если есть ответ от sc_fast и нет ответа от pn_fast, то вторая строка в ListView перенимает значения от sc_fast.

Последний раз редактировалось Shouldercannon; 13.03.2010 в 10:48.
Shouldercannon вне форума Ответить с цитированием
Старый 13.03.2010, 14:45   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Exit'ы передвинь, после того как проверишь pn_fast
psycho-coder вне форума Ответить с цитированием
Старый 13.03.2010, 22:10   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Спасибо разрулил.

Последний раз редактировалось Shouldercannon; 13.03.2010 в 22:18.
Shouldercannon вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести данные активной строки excel? kipish_lp Microsoft Office Excel 4 25.02.2010 17:18
Динамически считать Данные из файла, и вывести результат в файл StudeHt Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 09:04
Не могу вывести данные из базы Access'a Ce4kok БД в Delphi 4 25.01.2009 19:20
Опросить сервер с помощью PHP Shouldercannon PHP 1 31.12.2008 14:03
Как с помощью формул можно сравнить и вывести данные kutt Microsoft Office Excel 2 24.09.2008 17:05