Delphi - Simple Parser

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Adio, 23 Mar 2010.

  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вообщем нужен пример простейшого парсера.

    К примеру есть кода в <div>Hello Message</div>

    Нужно вырезать только текст. и поместить его в переменнюю а дальше уже делать что хочу.

    Вообще интересно сделать парсер с базой - точно такой же как делают на пхп.
     
  2. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    Давай я тебе напишу парсер с БД на с++ или с#.
    Давай асю.
     
  3. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    давай свою я тебе напишу
     
  4. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вообще интересно бы посмотреть или понять как это делать .. может кто нибуть может по пунктам расписать ? что нужно делать ? на делфи ? . Поставлю плюсы

    Задача парсить что нибуть простое и заносить в базу
     
  5. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    >>Поставлю плюсы
    завязывай смешить, много плюсиков наставишь?
    что за тупость? Поражает, люди пишут за плюсы и т.п. если раньше это было мотивацией, то после смены алгоритма сила вашего плюсования = 0.

    по теме. Регулярки юзай.
    и рано тебе еще с БД работать раз не знаешь как текст распарсить.
     
  6. ~Shapaev~

    ~Shapaev~ Member

    Joined:
    24 Oct 2009
    Messages:
    29
    Likes Received:
    7
    Reputations:
    0
    как бы вот на твою строку , если просто можно и без регулярок обходиться.
    Code:
    var s:string;
    begin
    s:='<div>Hello Message</div>';
    s:=copy(s,pos('<div>',s)+length('<div>'),pos('</div>',s)-length('</div>'));
    write(s);
    
    end.
    
    
    
    
    
    
     
    1 person likes this.
  7. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    А как из переменной S занести в базу ? MYSQL ?

    Есть какой нибуть мануал для чайников по работе с базой ? начиная от вставки и т д ?
     
  8. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Adio нафига тебе в делфе MySQL? (набери в поиске - delphi mysql я быстро нашел статейку) скачай DirectMysqlObjects... код примера что-то типа
    Code:
    uses uMySqlVio, uMysqlCT, uMysqlClient, uMysqlHelpers;
    
    var
      MySQLClient: TMySQLClient;
      MySQLResult: TMysqlResult;
    
    begin
     MySQLClient := TMySQLClient.Create;
            if not MySQLClient.connect('localhost', 'root', '', 'kosteg', 3306, '', false, 0) then ShowMessage('connected error!');
    
    MySQLResult:=MySQLClient.query('select f from pokup limit 1',true,res);
    ShowMessage(MySQLResult.FieldValueByName('f'));
    
     MySQLClient.Free;
           if MySQLResult <> nil then MySQLResult.Free;
    end.
    
    это притом что я delphi не перевариваю гргргр...

    насчет парса - используй регулярные выражения они для того и придуманы. А вообще для каждой задачи свое средство если тебе нужно много-много текста анализировать и делать отчеты (хоть в бд) под unix лично я бы использовал perl (есть стаааарая разработка - проходится по сайту xakep.ru и собирает все текстовые версии жуналов красиво в бд... ну и интерфейс на php типа архива с поиском. где-то у меня лежит дамп этой базы с 99 года журалы хех )
     
    _________________________
  9. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18

    Без плюсов не кто нипишет лень :) я могу хоть всем подряд из ставить мне как то фиалетово :) на те плюсы минусы :)
     
  10. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Да вообщем мне написали на PHP парсер который парсит выдирая текст и всталяя его в бд.

    Просто хотел попробывать написать его на Delphi.. я в програмирование не спец но по мануалам разобраться написать подправить могу.

    Вот и ищю что то подобное.. знаю что на PHP легче и быстрей но все таки хочеться что бы выглядело как софт.. :) так чисто для себя .. заодно и научюсь чемуто.

    Вопрос.

    Как в делфи найти что парсить :? к примеру страница кода то большая ?

    или мне нужно просто находить определенные теги по ним орентироваться и парсить что между ними ?
     
  11. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    есть кто живой ?)
     
  12. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    ищи примеры работы с регулярными выражениями... и не задавай глупых вопросов.
     
    _________________________
  13. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Окей буду стараться.
    Если что буду спрашивать если что то не будет получаться. Спасибо