TempStr := copy(response,i+13, j-i); - как сделать так чтобы не подгонять координаты вручную?
Написать TempStr := Pars('<battle_time>',Response,'</battle_time>'); //парсим
как кто-то писал выше. Но pars это наверно функция которая возвращает значение строки между <battle_time> и </battle_time>. самому писать и когда надо найти часть между словами вставлять или попросить кто написал эту строку чтоб выложил код этой функции
она (pars) как процедура поиска в xml между двумя тегами должна быть?
угу но только если у тебя много одинаковых тегов после обработки каждого все равно придется вырезать текст до позиции за найденым тегом и снова парсить строку. так до конца строки и бежим в цикле вызывая pars
мда чета я не помню в респансе на хит босса такого чайлда -))
XMLDocument1.DocumentElement.ChildNodes['rating']
лови пакеты в чарльз -)) и смотри ответ там -)
Вот код того что приходит на удачное попадание по боссу. НИГДЕ НЕ ВИЖУ чтобы там был чилд (т.е <...>) rating
Цитата:
<result>
<response>
<code>0</code>
<msg>success hit</msg>
</response>
<friends_rating>
<!-- no data in 'friends_rating' -->
</friends_rating>
</result>
Думая так -) нету с собой дельфи да и на работу пора -)
Цитата:
s.Add('boss_id='+Edit3.Text) ;
s.Add('sig=4b78052fa4bbb1b08d0068db0eb0b44b') ;
s.Add('user='+Edit1.Text) ;
s.Add('key='+Edit2.Text) ;
s.Add('spell_id=3') ;
s.Add('method=hitBoss') ;
try
data:=IdHTTP1.Post('http://109.234.156.254/prison/universal.php?getInfo',s);
XMLDocument1.LoadFromXML(data);
XMLDocument1.Active:=true;
Label1.Caption:= XMLDocument1.DocumentElement.ChildNodes['code'].Text;
if Pos('<code>0',data) then
ShowMessage('Удар прошел!')
else
Show Message('Промазали!')
finnaly
s.clear;
data.clear;
Последний раз редактировалось Fanky3; 28.02.2011 в 08:28.
Тоже парился когда-то этой хренью,..
потом нашёл сабж для чайников... берём компонент XMLDocument, он стандартный (поидеи) и читаем по ссылке ниже, все доступно разжованно.
[Ссылки могут видеть только зарегистрированные пользователи. ]