Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

старый добрый HTML [D7, WinXP]


Страницы:   1 2

lordalexander ©   (2011-04-04 22:49:00) 

Здравствуйте уважаемый программисты
Пытаюсь сохранить код страницы  сайта в тхт файл. Но, он отображается в одну строку, а не в столбик тегами.
Код страница вытаскиваю следующим образом
Memo1.Lines.Add(IdHTTP1.Get(' http://www.delphimaster.ru')) как в конце тега  поставить Enter


sniknik   (2011-04-06 23:00:00) [1]

сказка про белого бычка


lordalexander   (2011-04-06 22:42:00) [2]

Через TRichEdit не всегда каждый тег на своей строке встречаться 2-5 тегов на одной строке как их расставить по строчкам?


sniknik   (2011-04-06 07:55:00) [3]

не о коварстве, а о необходимости говорить понятно, чтобы не нужно было строить домыслов для понимания чего же автор делает, что у него происходит и в итоге чего он хочет.  в конце концов это же ему нужно, он спрашивает...


Sapersky   (2011-04-06 01:26:00) [4]

тогда просто заменить TMemo на TRichEdit, и все наладится.

Ну вот, такая тирада была в [22] о злобном коварстве автора, а всё мимо, даже жалко :)
Memo.Lines.Text, кстати, нестандартные сепараторы тоже лечит, так что с кодом я угадал.
Проверить idHTTP не мог т.к. Инди не было под рукой, а насчёт Memo.Lines.Add - поленился, с нормальными сепараторами оно на самом деле работает. Ну так написал же в [12] - "возможно".


sniknik   (2011-04-05 23:55:00) [5]

> скорее всего знак переноса строки по-юниксовому, одним символом.
точно.
тогда просто заменить TMemo на TRichEdit, и все наладится.


sniknik   (2011-04-05 23:46:00) [6]

> 3) Вывод: исходное форматирование убито кривым кодом сохранения.
"код" можно проверить. он приведен в [0]
и сделать другой вывод на этом основании, - что он врет.

а можно почитать дальше, например [2]
> мне нужно автоматически т.к  таких HTML очень много
и сделать еще один вывод, - что форматирования нет в этих многих HTML, а ссылка в [0] на дельфимастер приведена для примера...
тут конечно возникает вопрос, а че же автор не проверил свой же пример и не сказал об этом в вопросе. типа мол, вот тут работает. а где надо нет, и пример вот тут такое форматирование, а тут вот такая одна строка... но вопрос этот без ответа. модно списать на врожденную... ну скажем застенчивость автора. стесняется может человек говорить полно и понятно, предпочитает "тупить". ну, да это его проблема.
а вот в чем проблема отвечающего который имеет телепатор и не видит очевидного, и не проверяет то, что советует?


antonn   (2011-04-05 23:35:00) [7]

скорее всего знак переноса строки по-юниксовому, одним символом.


Sapersky   (2011-04-05 23:08:00) [8]

1) Он пробовал на delphimaster.ru - в результате получается весь файл одной строкой.
2) У меня delphimaster.ru сохраняется с форматированием, и вы говорите, что так и надо.
3) Вывод: исходное форматирование убито кривым кодом сохранения.
4) Результат: желание странного в виде ручной разбивки по тегам, которое, полагаю, ему не нужно на самом деле.

В общем, мой телепатор так видит :) Может где-то и ошибается, но пусть уж тогда автор, если появится, уточняет.


sniknik   (2011-04-05 22:22:00) [9]

у него -
> [0] Но, он отображается в одну строку, а не в столбик тегами.
"как есть" строка. а "столбик тегами" это "ручное" форматирование (можно и генератором так писать, собственно данный форум, динамические страницы, делаются скриптами на перле... форматирование присутствует).


Sapersky   (2011-04-05 21:49:00) [10]

нет, это "более-менее человеческое форматирование". как есть.

Ну я так понял, автору нужно скорее "как есть", чем переформатирование HTML под свои вкусы.


sniknik   (2011-04-05 20:59:00) [11]

> вроде более-менее человеческое форматирование, или это браузер?
нет, это "более-менее человеческое форматирование". как есть.

> обычно форматирование имелось, не весь текст в одну строку.
обычно оно и есть. а весь текст в одну строку это чем то "тупым" сгенерированно. (в кавычках т.к. чаще всего оно и не нужно, не люди код читают)


Sapersky   (2011-04-05 20:36:00) [12]

Пардон, [14] было в дополнение к [12].

дело в том, что пофигу, если исходный текст не форматирован.

Сохранил Оперой http://www.delphimaster.ru- вроде более-менее человеческое форматирование, или это браузер?
И когда работал в своё время с HTTP через Synapse - обычно форматирование имелось, не весь текст в одну строку.
А что автор хочет каждый тэг с новой строки - ну пусть посмотрит для начала на исходное форматирование, может его устроит. Нормальные "блокноты" с подсветкой тэгов (напр. AkelPad) помогают, опять же.


sniknik   (2011-04-05 20:35:00) [13]

стрим, волшебными свойствами авто форматирования тоже не обладает... хотя, да, получение в стрим, метод есть, с тем же названием (перекрыт). избавлю от поисков. но, НЕ ПОМОЖЕТ.


Sapersky   (2011-04-05 20:22:00) [14]

Или поискать у IdHTTP1 метод для получения HTML сразу в TStream (TFileStream), у Synapse вон есть.


sniknik   (2011-04-05 20:20:00) [15]

> дело в том, что Memo1.Lines.Add добавляет весь текст как одну строку.
> Попробуй Memo1.Lines.Text := IdHTTP1.Get();
дело в том, что пофигу, если исходный текст не форматирован.

> чтоб каждый тег был на одной строке
чем не подходит предложенный вариант ([7])? будет именно так, каждый тег на своей строчке... неважно открывающий он или закрывающий. есть вложения или нет.


Sapersky   (2011-04-05 20:10:00) [16]

Возможно, дело в том, что Memo1.Lines.Add добавляет весь текст как одну строку.
Попробуй Memo1.Lines.Text := IdHTTP1.Get();
Если требуется напрямую в файл - можно вместо Memo использовать TStringList, или писать строку в файл через TFileStream.


lordalexander   (2011-04-05 19:38:00) [17]

Я получаю HTML код в одну строку  вставляю его в мемо затем нужно после каждого тега здвигать на строку чтоб каждый тек на одной строчки был и после этого сохранить в ТХТ файл вопрос в том как это можно  сделать сразу на
примую в ТХТ файл  чтоб каждый тег был на одной строке


sniknik   (2011-04-05 09:29:00) [18]

> а уровень вложенности несколькими пробелами в начале не будем форматировать?
вообще не будем! в условии этого нет.

+
самое простое не есть самое лучшее...
лучше всего с этим справится человек, но это не просто.

++
если в его html-ях форматирования нет, значит они сгенерированы чем то... и значит не продполагалось для чтения кода человеком... значит не нужно оно там... с чего я и начал.

> а если там еще и клиентский js
так он вроде не то что получится хочет в форматированном виде, а сам исходный код.


Медвежонок Пятачок   (2011-04-05 09:13:00) [19]

да нет, не прокатит все это.

<div id="one">one</div><div id="two">one</div>

+ css лежащий где-то там

и что и как здесь заменить?
а если там еще и клиентский js, то вообще мрак.


brother   (2011-04-05 08:35:00) [20]

> заменить все '>' на '>'#13#10.

а уровень вложенности несколькими пробелами в начале не будем форматировать?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо