Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 0
Регистрация: 29.01.2019
Сообщений: 155
Записей в блоге: 1
1

Delphi (свой убогий jQuery запрос)

13.06.2019, 19:43. Показов 283. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коллеги, моя фантазия.

Что если

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function ParseClass(className: string): TArray<string>;
var
 en: TMatchCollectionEnumerator;
begin
 SetLength(result, 0);
 en:= TRegEx.Matches(className, '(?>\.{0}\w+[A-z-]+)').GetEnumerator;
 while en.MoveNext do
 begin
   SetLength(result, Length(result) + 1);
   result[Length(result) - 1] := en.Current.Value
 end;
end;
 
 
function GetElement(ec: IHTMLElementCollection; _class: string): IHTMLElement;
var
 x,y: integer;
begin
  if Assigned(ec) then
  begin
    for x := 0 to ec.length -1 do
    begin
      for y := 0 to Length(ParseClass(_class)) -1 do
      begin
        if (ec.item(x, 0) as IHTMLElement)._className = ParseClass(_class)[y] then
        begin
          Result := ec.item(x, 0) as IHTMLElement;
          GetElement((ec.item(x, 0) as IHTMLElement).all as IHTMLElementCollection, ParseClass(_class)[y+1]);
        end;
      end;
    end;
  end;
end;
HTML5
1
2
3
4
5
6
7
8
9
10
<DIV class=sp-review-main-ratings>
    <!-- Rating -->
    <DIV class=sp-review-main-rating>
        <DIV class=sp-review-main-rating-label>Общая оценка:</DIV>
        <DIV class=sp-review-main-rating-stars>
            sssss
            <DIV class=sp-star-on>Искомый элемент</DIV>
        </DIV>
    </DIV>
</DIV>


вот как это работает

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TFormMain.Button1Click(Sender: TObject);
var
 Html: TStringStream;
 Doc2: IHTMLDocument2;
begin
 try
   Html := TStringStream.Create;
   Html.LoadFromFile('.\index.html');
   Doc2 := LoadDocumentContent(Html.DataString);
 
   Log(GetElement(Doc2.all as IHTMLElementCollection, '.sp-review-main-ratings .sp-star-on').outerText);
 finally
   Html.Free;
 end;
 
end;

хз, но работает.
Есть у кого готовые алгоритмы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2019, 19:43
Ответы с готовыми решениями:

Убогий стиль программы
Блин в EDIT'ах шрифт жирный и не красивый, кнопки тоже, квадратные. Как сделать, чтоб всё красиво...

Как в Delphi сделать запрос на запрос, база mssql, BDE
Добрый день! Кто-нибудь может подсказать, как можно Tquery и использовать как таблицу, при...

SQL-запрос в Delphi и в Access один и тот же, но в Delphi не работает
ри обращение к базе в Access я использую код: with ADOQueryMain do begin Active:=false;...

jQuery и запрос к БД
Подскажите, как на jQuery по нажатию на кнопку выполнить запрос в MS SQL? Пишу на asp.net. Хочется,...

0
13.06.2019, 19:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2019, 19:43
Помогаю со студенческими работами здесь

Запрос в Delphi, параметрический запрос, обновление строки
Продолжение темы Запрос на обновление строки в таблице Вот запрос на добавление записи из одной...

Jquery в Delphi chromium
Подключен в проекте chromium. Выхожу на определенный сайт, доступ предоставить не могу. Выполняю в...

jQuery ajax дублирует запрос
Всем привет! Проблемка в следующем: При помощи jQuery ajax я обнровляю контент на страничке,...

Кроссдоменный запрос (с Jquery или без)
Доброго времени суток уважаемые! Столкнулся с проблемой - необходимо проверить в браузере,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru