1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Парсер

Тема в разделе "Delphi", создана пользователем Ирина, 28 июн 2015.

  1. Ветеран

    Регистрация:
    15 мар 2015
    Сообщения:
    26
    Симпатии:
    5
    Пол:
    Женский
    Здравствуйте! Хочу сделать для себя программу-парсер раздач на трекер.
    Присутствуют эдиты для заполнения и кнопка, с нажатием которой происходит преобразование обычного текста в эдитах:
    Код (Text):
    Год: 2015
    Страна: Россия
    в bb-код, для вставки на сайт:
    Код (Text):
    [b]Год:[/b] [color=green]2015[/color]
    [b]Страна:[/b] [color=blue]Россия[/color]
    и выводится, или отдельным окном, или в txt файле (честно говоря не особо волнует, главное чтобы можно было скопировать)

    Код (Text):


    procedure TForm1.Button1Click(Sender: TObject);
    var a,b,c: string;
    begin
      a:=Edit1.text;
      Edit1.text:='[b]Страна:[/b] '+a;
      b:=Edit2.text;
      Edit2.text:='[b]Год выпуска:[/b] '+b;
      c:=Edit3.text;
      Edit3.text:='[b]Жанр:[/b] '+c;
    end;

    end.

     

    Не знаю как вывести преобразованный текст, подскажите пожалуйста.
     
  2. Ветеран

    Регистрация:
    26 июн 2011
    Сообщения:
    66
    Симпатии:
    22
    Как вариант, можно в Memo выводить
    Код (Text):

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       Memo.Lines[0]:='[b]Страна:[/b] ' + Edit1.text;
       Memo.Lines[1]:='[b]Год выпуска:[/b] ' + Edit2.text;
       Memo.Lines[2]:='[b]Жанр:[/b] ' + Edit3.text;
    end;
     
     
  3. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    У меня есть похожий проект, но на плюсах, могу поделиться
     
  4. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    Дело конечно Ваше, но не проще тот же самый парсер сделать на php или найти готовый и подстроить его под трекер (с учетом если трекер Ваш)?
     
  5. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    Я делал с lua, дабы делать шаблоны под любой трекер
     
  6. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    Это конечно хорошо, но текст раздачи всё равно придется копировать из того же текстового файла (если я правильно понял идею), а на php можно автоматический парсер сделать.
     
  7. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    Зачем? Вывод в мемо для наглядности + тут же скопировать в буфер обмена. Далее Сtrl + V на трекере и вот он текст
     
  8. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    Ну если так, то хорошо, но на мой взгляд проще взять пример на php (или сделать самому автопарсер), адаптировать его под свой трекер, и при оформлении раздачи добавить ссылку с другого трекера и получить оформленную раздачу на своем. Хотя я не исключаю, что кому-то будет проще написать отдельную софтинку :)
     
  9. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    ИМХО я бы не стал делать на ПХП, ибо совсем не знаю его
     
  10. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    я и не настаиваю :) Просто предложил сделать на PHP (если есть такая возможность у автора топика).
     
  11. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    Автор топика, похоже, ушла пробовать совет на практике :)
     
  12. Ветеран

    Регистрация:
    15 мар 2015
    Сообщения:
    26
    Симпатии:
    5
    Пол:
    Женский
    Я тут!!!
    Вот, как вариант:
    Код (Text):


    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Memo1.Clear;
    Memo1.Lines.Add(Format('[b]Год:[/b] [color=green]%s[/color]',[Edit1.Text]));
    Memo1.Lines.Add(Format('[b]Страна:[/b] [color=blue]%s[/color]',[Edit2.Text]));
    end;

    end.

     
    Есть только одна проблема, при копировании на трекер, инфа отображается иероглифами на "инопланетном" языке. Не понимаю как адаптировать кодировку текста.

    Предложениие про PHP дельное, которое было про автопарсер, но......увы и ах, для меня разобраться с PHP что космический корабль построить. Никогда с ним дел не имела.
     
  13. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    Дык кодировка то не та, вот и отображается :)
     
  14. Ветеран

    Регистрация:
    15 мар 2015
    Сообщения:
    26
    Симпатии:
    5
    Пол:
    Женский
    Согласна! А как её изменить не подскажите? Со строками разобралась!
     
    Последнее редактирование: 29 июн 2015
  15. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    В Borland Delphi 7: выделяем поле Memo 1 и слева нажимаем на "+" напротив Font, а далее выбираем нужную кодировку в выпадающем списке "Charset":
    scr.PNG
     
    Ирина нравится это.
  16. Он где то тут Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    703
    Симпатии:
    442
    Ой, давно на дельфи ничего не делал, так и не скажу даже. Нужно попробовать в юникод перевести и посмотреть результат
     
  17. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    а разве кодировка в программе не должна быть такая как на трекере (или я чего-то не понимаю)?
     
  18. Ветеран

    Регистрация:
    15 мар 2015
    Сообщения:
    26
    Симпатии:
    5
    Пол:
    Женский
    Спасибо!
    По идее да, но на практике получаются "кряказябли"
     
  19. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    368
    Симпатии:
    68
    даже с выбором правильной кодировки в Delphi?
     
  20. Ветеран

    Регистрация:
    15 мар 2015
    Сообщения:
    26
    Симпатии:
    5
    Пол:
    Женский
    Пока не выбирала, но обязательно попробую. Это нужно знать.
    Поэкспериментировала немного и перенесла свой код на Lazarus. На нём этой проблемы нет. Кодировка вроде совпадает.
     
    ExPlayer нравится это.

Поделиться этой страницей