Мне нужно скачать страницу объемом как примерно главная страница баша. Пользуюсь idHTTP. Какой тип переменной использовать для сохранения такой страницы? В стринг не влезет наверно? Оттуда вытянуть больше половины текста. Распарсить его построчно. Там где будут <br> организовать перенос строки. И вывести все в Memo Чем пользоваться для этой цели?
Тоесть процедура такая, получаю страницу. Достаю куски текста, обрабатываю их и добавляю в TSringList, а потом просто все пишу в Мемо. Пойдет?
Code: var List: TStringList; begin List:=TStringList.Create; List.Text:=idhttp1.get('http://site.com'); //ну и не забывай потом List.Free; end;
Еще вопрос, при скачивании html страницы в ней есть разделительные знаки? Которые обозначают конец строки. В делфи это "#13#10", а в html? Я имею ввиду не <br>, а те которые в самом коде. Ведь когда открываешь сурс странице в браузере, там не одна строка.
Есть, только это не знаки, а коды знаков. (как в делфи: #13#10) Эти коды и есть: #13#10 (либо просто #13) Пример: Code: var s: string; begin s := memo1.text; if (s[1] = #13) then showmessage('Встретился код переноса строки: '+inttostr(ord(s[1]))); //если первый символ S равен \n -> то выводим массагу end;
Еще вопрос, парсинг осуществляю в основном через TRegExpr для делфи. Но! У меня строка html, В ней элементы <div bla bla </div>. Пишу регулярку, она вытаскивает первый такой элемент, и он находится в rExp.Match[1], а вот остальные не парсятся, то есть rExp.Match[2] и тд пустые. При этом: проверяю тот же текст, с той же регуляркой на http://regexpr.ru/, там все парсится.