Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как работать со всеми ячейками таблицы в WebBrowsere

Delphi , Интернет и Сети , Браузер

Как работать со всеми ячейками таблицы в WebBrowsere

- Избавиться от интернет-зависимости очень легко! У нас в чате все проделывали это по нескольку раз.

Пример показывает как добавить содержимое каждой ячейки в TMemo:


procedure TForm1.Button1Click(Sender: TObject); 
var
  i, j: integer; 
  ovTable: OleVariant;
begin 
  // Use first table
  ovTable := WebBrowser1.OleObject.Document.all.tags('TABLE').item(0);
 
  for i := 0 to (ovTable.Rows.Length - 1) do
  begin
    for j := 0 to (ovTable.Rows.Item(i).Cells.Length - 1) do
    begin
      Memo1.Lines.Add(ovTable.Rows.Item(i).Cells.Item(j).InnerText;
    end;
  end;
end;


Here's the translation of the provided text into Russian:

Код, который я предоставил, - это процедура Delphi, использующая встроенный WebBrowser-контрол для доступа к содержимому таблицы и добавления текста каждой ячейки в TMemo (компонент заметок).

  1. Событийный обработчик Button1Click: эта процедура запускается при клике кнопки на вашем форме.
  2. OleVariant: код использует переменную OleVariant, ovTable, для хранения объекта таблицы, полученного из WebBrowser-контрола.
  3. WebBrowser1.OleObject.Document.all.tags('TABLE').item(0): эта строка получает первую таблицу на веб-странице с помощью свойства OleObject WebBrowser'а.
  4. Перебор строк и ячеек: код затем перебирает каждую строку и ячейку таблицы с помощью двух вложенных циклов (i и j).
  5. Доступ к содержимому ячеек: для каждой ячейки код использует ovTable.Rows.Item(i).Cells.Item(j).InnerText, чтобы получить текстовое содержимое этой ячейки.
  6. Добавление в Memo1: наконец, код добавляет текстовое содержимое каждой ячейки в компонент заметок TMemo, именуемый Memo1.

Чтобы работать с всеми ячейками таблицы с помощью WebBrowser, вы можете следовать этим шагам:

  1. Получение объекта таблицы: используйте тот же код, что и выше, для получения объекта таблицы из WebBrowser-контрола.
  2. Перебор строк и ячеек: используйте два вложенных цикла (i и j) для перебора каждой строки и ячейки в таблице.
  3. Доступ к содержимому ячеек: для каждой ячейки используйте свойство, такое как InnerText, Text или Value (в зависимости от типа данных), чтобы получить ее содержимое.
  4. Обработка содержимого ячеек: вы можете обработать содержимое ячеек, как вам нужно, например, извлечь конкретную информацию или форматировать текст.
  5. Повторение для всех ячеек: продолжайте перебор строк и ячеек до тех пор, пока не обрабатываете все ячейки в таблице.

Вот альтернативное решение с более современным подходом:

Вместо ручного прохождения структуры таблицы с помощью OleVariant вы можете использовать метод WebBrowser'а GetElementById для получения элемента таблицы по ее ID (если она имеет) или использовать XPath-выражения для выбора элементов внутри таблицы. Этот подход более гибок и легче поддерживать.

Например:

procedure TForm1.Button1Click(Sender: TObject);
var
  table: IHTMLTableElement;
begin
   // Получение элемента таблицы
  table := WebBrowser1.Document.GetElementById('myTable');

  if Assigned(table) then
  begin
     // Перебор строк и ячеек
    for i := 0 to (table.Rows.Length - 1) do
    begin
      for j := 0 to (table.Rows.Item(i).Cells.Length - 1) do
      begin
        Memo1.Lines.Add(table.Rows.Item(i).Cells.Item(j).InnerText);
      end;
    end;
  end;
end;

В этом коде используется метод GetElementById для получения элемента таблицы по ее ID ('myTable') и затем перебор строк и ячеек с помощью аналогичного логики, что и раньше. Главное отличие - это более надежный и легкий в поддержке подход, особенно при работе с сложными веб-страницами.

Статья описывает, как работать со всеми ячейками таблицы в WebBrowser с помощью языка Delphi и компонента TMemo.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-12 16:25:19/0.0038459300994873/0