![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Здравствуйте уважаемые форумчане, подскажите как сделать чтобы при обновлении строчки на некоем веб сайте, в предложении Label автоматически принимал значение нижеуказаной строки,
Код HTML:
Код:
procedure TForm1.sSpeedButton1Click(Sender: TObject); var s: String; i: Integer; begin s := (WebBrowser1.Document as IHTMLDocument2).Body.innerHTML; i := Pos('<span id="ajx_health">', s); sLabel1.Caption := Copy(s, i, Pos('</span>', s) - i); end; Код HTML:
, заранее благодарен. Последний раз редактировалось M.A.D.M.A.N., 23.11.2013 в 21:59. |
#2
|
|||
|
|||
![]() Для начала, Pos возвращает индекс, по которому находится НАЧАЛО строки. Далее, третий параметр в Copy это не позиция, до которой копировать, а ДЛИННА, т.е. кол-во символов, которые надо скопировать.
Соответсвенно, данный кусок должен выглядеть примерно так: Код:
i := Pos('<span id="ajx_health">', s) + Length('<span id="ajx_health">') + 1; sLabel1.Caption := Copy(s, i, Length(s) - Pos('</span>', s) - i); Ну и еще, если у тебя где-то еще в страничке есть </span>, то надо воспользоваться функцией PosEx, что бы найти позицию правильного </span> |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Dima170792 (24.11.2013)
|
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() Цитата:
Обычная Pos всегда ищет подстроку начиная с первого символа строки. PosEx появилась в стандартной поставке начиная с Delphi 7 (в модуле StrUtils). |
#5
|
|||
|
|||
![]() Спасибо, но можно поподробнее, допустим, мне нужно отправить переменные а и b на страницу php с адресом
И как вернуть обработанные данные обратно? |
#6
|
||||
|
||||
![]() Можно ещё вот так
Код:
const tg ='<span id="ajx_health">'; procedure TForm1.sSpeedButton1Click(Sender: TObject); var s: String; begin s := (WebBrowser1.Document as IHTMLDocument2).Body.innerHTML; Delete(s, 1, Pos(tg, s) + Length(tg) - 1); Delete(s, Pos('</span>', s), Length(s)); sLabel1.Caption := s; end; З.Ы. Ну или всё же через посЭкс Код:
procedure TForm1.sSpeedButton1Click(Sender: TObject); var s: String; i: integer; begin s := (WebBrowser1.Document as IHTMLDocument2).Body.innerHTML; i := Pos('<span id="ajx_health">', s) + Length('<span id="ajx_health">'); sLabel1.Caption := Copy(s, i, PosEx('</span>', s, i) - i); end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 03.12.2013 в 14:19. |