Парсер

Ирина

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

Код:
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.

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

shidow

Новичок
Как вариант, можно в Memo выводить
Код:
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;
 

Krinkels

Он где то тут
Администратор
У меня есть похожий проект, но на плюсах, могу поделиться
 

ExPlayer

Старожил
Я делал с lua, дабы делать шаблоны под любой трекер
Это конечно хорошо, но текст раздачи всё равно придется копировать из того же текстового файла (если я правильно понял идею), а на php можно автоматический парсер сделать.
 

ExPlayer

Старожил
Зачем? Вывод в мемо для наглядности + тут же скопировать в буфер обмена. Далее Сtrl + V на трекере и вот он текст
Ну если так, то хорошо, но на мой взгляд проще взять пример на php (или сделать самому автопарсер), адаптировать его под свой трекер, и при оформлении раздачи добавить ссылку с другого трекера и получить оформленную раздачу на своем. Хотя я не исключаю, что кому-то будет проще написать отдельную софтинку :)
 

Krinkels

Он где то тут
Администратор
ИМХО я бы не стал делать на ПХП, ибо совсем не знаю его
 

Krinkels

Он где то тут
Администратор
Автор топика, похоже, ушла пробовать совет на практике :)
 

Ирина

Новичок
Я тут!!!
Вот, как вариант:
Код:
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 что космический корабль построить. Никогда с ним дел не имела.
 

ExPlayer

Старожил
Согласна! А как её изменить не подскажите? Со строками разобралась!
В Borland Delphi 7: выделяем поле Memo 1 и слева нажимаем на "+" напротив Font, а далее выбираем нужную кодировку в выпадающем списке "Charset":
scr.PNG
 

Krinkels

Он где то тут
Администратор
Ой, давно на дельфи ничего не делал, так и не скажу даже. Нужно попробовать в юникод перевести и посмотреть результат
 

Ирина

Новичок
В Borland Delphi 7: выделяем поле Memo 1 и слева нажимаем на "+" напротив Font, а далее выбираем нужную кодировку в выпадающем списке "Charset":
Посмотреть вложение 2370
Спасибо!
а разве кодировка в программе не должна быть такая как на трекере (или я чего-то не понимаю)?
По идее да, но на практике получаются "кряказябли"
 

Ирина

Новичок
даже с выбором правильной кодировки в Delphi?
Пока не выбирала, но обязательно попробую. Это нужно знать.
Поэкспериментировала немного и перенесла свой код на Lazarus. На нём этой проблемы нет. Кодировка вроде совпадает.
 
Сверху