HyperZen

Пользователи
  • Публикаций

    185
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

HyperZen стал победителем дня 7 января 2017

HyperZen имел наиболее популярный контент!

Информация о HyperZen

  • Звание
    Продвинутый пользователь

Информация

  • Пол
    Мужчина
  • Город
    Северск

Посетители профиля

819 просмотров профиля
  1. Не могли бы Вы и мне в личку прислать решение данной проблемы? И, при попытке исправления файла манифеста, появляется ошибка: No resource identifier found for attribute 'resizeableActivity' in package 'android'
  2. HyperZen

    Регулярное выражение для сайта...

    В общем, проблема не у меня... Проблема общая. Спасибо за тест!
  3. HyperZen

    Регулярное выражение для сайта...

    Извиняюсь за долгое молчание... Вот образец, тормозит на андроиде при скроллинге... Посмотрите, пожалуйста. GraBash.rar
  4. HyperZen

    Регулярное выражение для сайта...

    Так это у всех так? Попробуйте кто-нибудь, пожалуйста, создать 10-15 итемов с текстом, равным статьям с сайта zadolba.li. Тормозит при скроллинге? Повторюсь - с сайта bash.im статьи тянуться по 50 штук и сразу грузятся в TListView - никаких тормозов нет!
  5. HyperZen

    Регулярное выражение для сайта...

    Да, интереснее разбирать страницу xml. Но тут дело в другом, именно в тормозах ListView при помещении в его Item большого текста...
  6. HyperZen

    Регулярное выражение для сайта...

    Вот кот: ))) procedure TfrmMain.ParsingZadolbali(URLToPars: string; aListView: TListView); var TempText : string; HeadMatches, MsgMatches, RatingMatches, NumberCitateMatches: TMatchCollection; HeadRegularExprString, NumberCitateExprString, MsgRegularExprString, RatingRegularExprString : string; begin try fgActivityDialog1.Message := 'Загрузка цитат...'; fgActivityDialog1.Show; lblParsSite.Text := ZadolbaliOfficialSite; TTask.Run( procedure var aHttp: THTTPClient; aStr: TStringStream; begin aHttp := THTTPClient.Create; aStr := TStringStream.Create('', TEncoding.UTF8); try aHttp.Get(URLToPars, aStr); HTMLText := aStr.DataString; finally aHttp.Free; aStr.Free; end; TThread.Synchronize(TThread.CurrentThread, procedure var i: Integer; begin aListView.Items.Clear; HeadRegularExprString := '<h2><a href="\/story\/.*>(.*?)<\/a>([\s\S]+?).*class=''date-time''>(.*?)<\/div>'; MsgRegularExprString := '<div class=''text''>([\s\S]*?)<\/div>'; NumberCitateExprString := '<div class=''id''>\s*<span>(.*?)<\/span>'; RatingRegularExprString := '<div class="rating"><span>(.*?)<\/span>'; HeadMatches := TRegEx.Matches(HTMLText, HeadRegularExprString, [roIgnoreCase, roMultiLine]); MsgMatches := TRegEx.Matches(HTMLText, MsgRegularExprString, [roIgnoreCase, roMultiLine]); NumberCitateMatches := TRegEx.Matches(HTMLText, NumberCitateExprString, [roIgnoreCase, roMultiLine]); RatingMatches := TRegEx.Matches(HTMLText, RatingRegularExprString, [roIgnoreCase, roMultiLine]); for i := 0 to HeadMatches.Count - 1 do begin TempText := HTMLClear(MsgMatches.Item[i].Groups[1].Value); with aListView.Items.Add do begin Data['DateText'] := HeadMatches.Item[i].Groups[3].Value; Data['CitateText'] := '№ ' + NumberCitateMatches.Item[i].Groups[1].Value; Data['RatingText'] := '-=' + RatingMatches.Item[i].Groups[1].Value + '=-'; Data['MainText'] := HeadMatches.Item[i].Groups[1].Value + sLineBreak + '***********' + TempText + sLineBreak; Data['imgCopy'] := il1.Bitmap(TSizeF.Create(32, 32),0); Data['imgVenzel'] := il1.Bitmap(TSizeF.Create(150, 20),1); end; end; ToUp(aListView); // встаем в начало aListView.Resize; fgActivityDialog1.Hide; end); end); except On E: Exception do ShowMessage('Ошибка: ' + E.Message); end; end; Листвью в режиме динамик... Забыл упомянуть - тормоза только после парсинга сайта zadolba.li, с баша цитаты тянутся по 50 штук - никаких тормозов в листвью нет вообще, все скроллится на изумление гладко
  7. HyperZen

    Регулярное выражение для сайта...

    В общем получилось две регулярки: HeadRegularExprString := '<h2><a href="\/story\/.*>(.*?)<\/a>([\s\S]+?).*class=''date-time''>(.*?)<\/div>'; MsgRegularExprString := '<div class=''text''>([\s\S]*?)<\/div>'; HeadMatches := TRegEx.Matches(HTMLText, HeadRegularExprString, [roIgnoreCase, roMultiLine]); MsgMatches := TRegEx.Matches(HTMLText, MsgRegularExprString, [roIgnoreCase, roMultiLine]); Все работает корректно, с вышеуказанного сайта парсятся статьи. В TListView создается от 5 до 10 айтемов. Статьи достаточно длинные, TListView начинает безбожно тормозить при скроллинге. Объясните, пожалуйста, почему?!
  8. HyperZen

    Регулярное выражение для сайта...

    Помогите, пожалуйста, составить регулярное выражение для парсинга сайта https://zadolba.li Отдельными регулярками вытащить могу всю необходимую информацию, но хотелось бы одним выражением получить и название текста, дату и сам текст, собственно: procedure TForm1.btnStartClick(Sender: TObject); var HeadMatches, MsgMatches: TMatchCollection; CountPagesMatch: TMatch; HeadRegularExprString : string; MsgRegularExprString : string; HTMLText : string; // текст для парсинга begin TTask.Run( procedure var aHttp: THTTPClient; aStr: TStringStream; begin aHttp := THTTPClient.Create; aStr := TStringStream.Create('', TEncoding.UTF8); try aHttp.Get('https://zadolba.li', aStr); HTMLText := aStr.DataString; finally aHttp.Free; aStr.Free; end; TThread.Synchronize(TThread.CurrentThread, procedure var i: Integer; begin mmoText.Lines.Clear; HeadRegularExprString := '<h2><a href="\/story.*?>(.*?)<\/a>'; // MsgRegularExprString := ''; HeadMatches := TRegEx.Matches(HTMLText, HeadRegularExprString, [roIgnoreCase, roMultiLine]); // MsgMatches := TRegEx.Matches(HTMLText, MsgRegularExprString, [roIgnoreCase, roMultiLine]); // if HeadMatches.Count = MsgMatches.Count then // begin for i := 0 to HeadMatches.Count - 1 do begin mmoText.Lines.Add(HeadMatches.Item[i].Groups[1].Value); end; // end; end); end); end;
  9. HyperZen

    Как убрать черту под TSpinBox?

    Я думал, что при изменении границ компонента в одном скейле, автоматически изменятся и другие... Ан нет: все надо править вручную
  10. HyperZen

    Как убрать черту под TSpinBox?

    И, к слову, там происходит не захват прозрачного фона, а захват реальной черты серого цвета.
  11. HyperZen

    Как убрать черту под TSpinBox?

    Все сделал, как Вы посоветовали... В дизайн-тайме, вроде, все работает корректно (см. рисунки). На реальном устройстве эта линия все равно видна... Что еще не так?
  12. HyperZen

    Как убрать черту под TSpinBox?

    Теперь вопрос как это откорректировать? При изменении границ компонента, остальные сдвигаются Как это поправить?
  13. HyperZen

    Как убрать черту под TSpinBox?

    Огромное спасибо! Действительно, в объекте Background! И это - задумка дизайнеров...