0
2 месяца назад

Горизонт Горизонт

Основная информация

Время обучения: Суббота 11.40-13.40
Дополнительное занятие: Вторник 17.20 

Стена группы

АрсКодер 2 дня назад #
var
  LineNumber: Integer;
  CursorPosition: Integer;
  LineStartPos: Integer;
begin
  // Получаем позицию курсора в тексте
  CursorPosition := Memo1.SelStart;
 
  // Изначально линия начинается с нуля
  LineStartPos := 0;
  LineNumber := 1;  // Номер строки начинаем с 1
 
  // Пробегаем по всем строкам в Memo
  while LineStartPos < CursorPosition do
  begin
    // Позиция следующей строки
    LineStartPos := LineStartPos + Length(Memo1.Lines[LineNumber — 1]) + 1; // +1 для символа новой строки
    Inc(LineNumber);
  end;
 
  // Выводим номер строки
  ShowMessage('Курсор находится на строке: ' + IntToStr(LineNumber));
АрсКодер 2 дня назад #

Пример использования регулярных выражений:

delphi
КопироватьРедактировать
  1. uses
  2. System.RegularExpressions, SysUtils;
  3.  
  4. function GetTextBetweenTags(const HTML, Tag: string): string;
  5. var
  6. Regex: TRegEx;
  7. Match: TMatch;
  8. begin
  9. Regex := TRegEx.Create(Format('<%s[^>]*>(.*?)</%s>', [Tag, Tag]), [roIgnoreCase]);
  10. Match := Regex.Match(HTML);
  11. if Match.Success then
  12. Result := Match.Groups[1].Value
  13. else
  14. Result := '';
  15. end;
  16.  
  17. procedure TForm1.Button1Click(Sender: TObject);
  18. var
  19. HTML: string;
  20. TitleText: string;
  21. begin
  22. HTML := '<html><head><title>Пример страницы</title></head><body><h1>Заголовок страницы</h1></body></html>';
  23.  
  24. TitleText := GetTextBetweenTags(HTML, 'title');
  25. ShowMessage('Текст в теге <title>: ' + TitleText); // Пример использования
  26. end;
  27.  

Объяснение:

  • Регулярное выражение

    1. '<%s[^>]*>(.*?)</%s>'
    ищет содержимое между тегами, включая атрибуты, если они есть.

  • В методе

    1. GetTextBetweenTags
    извлекается текст между тегами
    1. <Tag>
    и
    1. </Tag>
    , используя регулярное выражение.

АрсКодер 2 дня назад #
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, SHDocVw, Vcl.OleCtrls,
  Vcl.ExtCtrls, IdHTTP, IdSSLOpenSSL, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, System.Net.HttpClient, System.Net.URLClient,
  System.Net.HttpClientComponent;



uses   System.Net.HttpClient, System.Net.URLClient;

procedure TForm1.Button5Click(Sender: TObject);
var
  Client: TNetHTTPClient;
  Response: IHTTPResponse;
  HTML: string;
begin
  Client := TNetHTTPClient.Create(nil);
  try
    // Отправляем GET-запрос
    Response := Client.Get('https://primgorod.ru');
 
    // Получаем содержимое страницы
    HTML := Response.ContentAsString();
 
    // Выводим результат
    memo1.text:=HTML;
  finally
    Client.Free;
  end;
end;
 
Компонент: NetHTTPClient1
Давид 5 дней назад #

Изображение

Давид 5 дней назад #

Изображение

Показать все
Сайт АрсКодер использует cookie 🍪.