Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Delphi - Simple Parser (https://forum.antichat.xyz/showthread.php?t=189722)

Adio 23.03.2010 22:34

Delphi - Simple Parser
 
Вообщем нужен пример простейшого парсера.

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

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

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

cheater_man 23.03.2010 22:41

Цитата:

Сообщение от Adio
Вообщем нужен пример простейшого парсера.

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

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

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

Давай я тебе напишу парсер с БД на с++ или с#.
Давай асю.

Adio 23.03.2010 22:51

давай свою я тебе напишу

Adio 23.03.2010 23:04

Вообще интересно бы посмотреть или понять как это делать .. может кто нибуть может по пунктам расписать ? что нужно делать ? на делфи ? . Поставлю плюсы

Задача парсить что нибуть простое и заносить в базу

W!z@rD 23.03.2010 23:37

>>Поставлю плюсы
завязывай смешить, много плюсиков наставишь?
что за тупость? Поражает, люди пишут за плюсы и т.п. если раньше это было мотивацией, то после смены алгоритма сила вашего плюсования = 0.

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

~Shapaev~ 24.03.2010 00:19

Цитата:

Сообщение от Adio
Вообщем нужен пример простейшого парсера.

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

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

как бы вот на твою строку , если просто можно и без регулярок обходиться.
Код:

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.


Adio 24.03.2010 02:21

Цитата:

Сообщение от ~Shapaev~
как бы вот на твою строку , если просто можно и без регулярок обходиться.
Код:

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.


А как из переменной S занести в базу ? MYSQL ?

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

Gar|k 24.03.2010 03:27

Adio нафига тебе в делфе MySQL? (набери в поиске - delphi mysql я быстро нашел статейку) скачай DirectMysqlObjects... код примера что-то типа
Код:

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 года журалы хех )

Adio 24.03.2010 14:01

Цитата:

Сообщение от W!z@rD
>>Поставлю плюсы
завязывай смешить, много плюсиков наставишь?
что за тупость? Поражает, люди пишут за плюсы и т.п. если раньше это было мотивацией, то после смены алгоритма сила вашего плюсования = 0.

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


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

Adio 24.03.2010 14:05

Цитата:

Сообщение от Gar|k
Adio нафига тебе в делфе MySQL? (набери в поиске - delphi mysql я быстро нашел статейку) скачай DirectMysqlObjects... код примера что-то типа
Код:

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 года журалы хех )

Да вообщем мне написали на PHP парсер который парсит выдирая текст и всталяя его в бд.

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

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

Вопрос.

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

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


Время: 17:50