Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в массиве, Поиск в массиве 
:(
    Опции темы
Gudzik11
Дата 21.6.2012, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Здравствуйте ! помогите пожалуста . Нужно выташить все значения  между тэгами <td>   </td> из масива 

Код

=====<trclass="wnow_tmpr">
<tdclass="first"></td>
<td>
+21&deg;
</td>
<td>
+23&deg;
</td>
<td>

+30&deg;
</td>
<tdclass="cur">

+24&deg;
</td>
</tr>



PM MAIL   Вверх
Keeper89
Дата 21.6.2012, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Gudzik11, через DOM это вытаскивается просто через .innerText. Как получаешь код?


--------------------
PM MAIL WWW   Вверх
Gudzik11
Дата 21.6.2012, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Код

procedure pogoda1;
   var
     tmp: TextFile;
 mText: array [0..20] of string;
 MyText,text ,text1,text2: string;   // переменная для текста
 StartPos,StartPos1 , endPos ,endPos1,i: integer ; // Начяльное вхождение и конечьное
 lin: Integer;
begin
  lin:=1;

  MyText := Utf8ToAnsi(Form1.idhttp1.Get('http://meteo.ua/150/harkov/10-days'));
  MyText := extract(MyText, 'ww_block no_js">', '<!-- week_weather -->');
   // сохраняем html ------------------------------------------------
  assignfile(tmp, 'weather.html');
  rewrite(tmp);
  write(tmp, MyText);
  closefile(tmp);
  //-----------------------------------------------------------------
   StartPos := 0; // присваеваем переменной стартовое значение.
   StartPos1 :=0;
   While true do // бесконечный цикл, выскакивать будем по условию
   begin
   //==============================================================================================================================================================================
 //            День
      startPos := PosEx('<div class="wwt_day">', MyText, StartPos +1);
      endPos := PosEx('<!-- wwc_bg -->', MyText, startPos);

    if StartPos > 0 then // чего-то нашли
      begin
        text := Copy(MyText,(startPos),endPos-startPos);
        // ДЕНЬ
        Day1[lin] := extract(text, '<div class="wwt_day">', '</div>');
        // Число
        num1[lin] := extract(text, '<div class="wwt_num">', '</div>');
        // Месяц
        mon1[lin] := extract(text, '<div class="wwt_mon">', '</div>');
       //        описание погоды
        HintT1[lin] := extract(text, 'img title="', '" src=');
        // Иконка
        Ico1[lin] := extract(text, 'src="/themes/default/images/for_icn/small/', '" alt=');
        // МИН ТЕМПЕРАТУРА
          min1[lin] := extract(text, '<span class="wwt_tmp wwt_min">', '<span class="wwt_tmp wwt_max">');
           min1[lin] := extract(min1[lin], '<span>', '&deg;');
        // МАКС ТЕМПЕРАТУРА
          max1[lin] := extract(text, '<span class="wwt_tmp wwt_max">', '<div class="thermometer"');
          max1[lin] := extract(max1[lin], '<span>', '&deg;');
        // Время обнавления
          win_title1[lin] := extract(text, '<div class="win_title">', '</div>');
        // Градусы на данный момент
         win_tmp1[lin] := extract(text, '<div class="win_tmp"', '</div>');
         win_tmp1[lin]:=Copy(win_tmp1[lin],2,4);
        // Компас
         canvas1[lin] := extract(text, '<canvas alt="', '" title=');
         canvas1[lin]:=Copy(canvas1[lin],0,Pos(' ',canvas1[lin])-1);
        // Ветер в м/с
        wiw_power[lin] := extract(text, '<div class="wiw_power">', '<span>');
        // Температура ноч - вечер
        tmp2[lin,1]:= Copy(text,Pos('<tr class="wnow_tmpr">',text),Pos('<tr class="wnow_icns">',text)-Pos('<tr class="wnow_tmpr">',text));
        DeleteSymbol(tmp2[lin,1], ' ');

        tmp2[lin,2] := extract(tmp2[lin,1], '<td>', '</td>');

       // Form1.Memo1.Lines.Add(text2);

        lin:=lin+1;
      end
    else  // ничего не нашли
      begin
       Break; // значит выходим из цикла
        end;
//===============================================================================================================================================================================


   end;



вот я отрезаю чясть 
Код

 tmp2[lin,1]:= Copy(text,Pos('<tr class="wnow_tmpr">',text),Pos('<tr class="wnow_icns">',text)-Pos('<tr class="wnow_tmpr">',text));
        DeleteSymbol(tmp2[lin,1], ' ');


потом удаляю пробелы все потому что их там очень много

и патом мне нужно записать каждое число в отдельный массив

Это сообщение отредактировал(а) Gudzik11 - 21.6.2012, 19:47
PM MAIL   Вверх
Keeper89
Дата 23.6.2012, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Можешь использовать регулярные выражения (смотри сам для своей версии Delphi). Выражение
Код

<td>(.*?)</td>

даст тебе массив того, то между соответствующими тегами.


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0715 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.