Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2006, 06:34   #1
Delpinist
 
Регистрация: 16.12.2006
Сообщений: 4
Вопрос Текст HTML документа в Memo

Как можно программно перенести только текст какой-либо странички в поле Memo (Аналог: В ручную выделить всю html-страничку, в месте с графикой, скопировать все в буфер обмена и вставит в блокнот. При этом в блокнот вставляется только текст, графические элементы исключаются).

Последний раз редактировалось Delpinist; 17.12.2006 в 04:20.
Delpinist вне форума Ответить с цитированием
Старый 16.12.2006, 10:37   #2
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

memo1.PasteFromClipboard;
Вставит содиржимое буфера обмена
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 17.12.2006, 02:42   #3
Delpinist
 
Регистрация: 16.12.2006
Сообщений: 4
По умолчанию Уточнение

Возможно, вопрос был не правильно понят.
Программа сама должна скопировать содержимое html-документа в буфер обмена, а затем вставить в поле Memo. С Memo понятно: «memo1.PasteFromClipboard», но как для страницы «CopyToClipboard»?
Delpinist вне форума Ответить с цитированием
Старый 17.12.2006, 03:08   #4
Drop
Пользователь Подтвердите свой е-майл
 
Аватар для Drop
 
Регистрация: 14.12.2006
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Delpinist Посмотреть сообщение
Как можно перенести текст какой-либо странички в поле Memo (Аналог: В ручную выделить всю html-страничку, в месте с графикой, скопировать все в буфер обмена и вставит в блокнот. При этом в блокнот вставляется только текст, графические элементы исключаются).
Я чего-то не знаю? По-моему мемо не умеет работать с графикой. А тебе не подойдет RichEdit?
какой вопрос, такой ответ..
Drop вне форума Ответить с цитированием
Старый 17.12.2006, 04:22   #5
Delpinist
 
Регистрация: 16.12.2006
Сообщений: 4
По умолчанию

Drop, в Memo программно должен перенестить только текст html-страницы.
Delpinist вне форума Ответить с цитированием
Старый 17.12.2006, 13:43   #6
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,609
По умолчанию

Delpinist, напиши ещё один вопрос в теме win api
Alar вне форума Ответить с цитированием
Старый 26.08.2009, 03:49   #7
aciiiD
Пользователь
 
Регистрация: 05.08.2009
Сообщений: 10
По умолчанию

Кароче кинь на форуме компонент TIdHTTP который находится на вкладке Indy Clients, потмо сделай кнопку и пиши следующее
Код:
Memo1.Text:=Idhttp1.get('http://soursite.com/index.php');
aciiiD вне форума Ответить с цитированием
Старый 26.08.2009, 04:48   #8
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
текст какой-либо странички в поле Memo
Ну для начала надо знать где находится эта страничка...
На каком-то сайте, на жёстком диске или открыта в TWebBrowser'е на форме...

Где-то видел что-то похожее...

Нашел...
Может подойдёт:
Код:
//Очень лёгкий способ разобрать текст от HTML, используя IHTMLDocument2

Uses MSHTML, ActiveX, ComObj, StdCtrls;

...

Procedure TForm1.Button1Click(Sender: TObject);
Var IDoc: IHTMLDocument2; Strl: TStringList; sHTMLFile: string; v: Variant; 
Links: IHTMLElementCollection; i: Integer; Link: IHTMLAnchorElement;
Begin
If OpenDialog1.Execute Then
      Begin
      sHTMLFile:=OpenDialog1.FileName;
      Strl:=TStringList.Create;
      Try
            Strl.LoadFromFile(sHTMLFile);
            Idoc:=CreateComObject(Class_HTMLDOcument) As IHTMLDocument2;
            Try
                  IDoc.designMode:='on';
                  While IDoc.readyState<>'complete' Do
                        Application.ProcessMessages;
                  v:=VarArrayCreate([0, 0], VarVariant);
                  v[0]:=Strl.Text;
                  IDoc.Write(PSafeArray(System.TVarData(v).VArray));
                  IDoc.designMode:='off';
                  While IDoc.readyState<>'complete' Do
                        Application.ProcessMessages;
                  Memo1.Lines.Text:=IDoc.body.innerText;
            Finally
                  IDoc:=Nil;
                  End;
      Finally
            Strl.Free;
            End;
      End;
End;

//Автор: EddieShipman
З.Ы. Кнопки "Правка" что-то нету...
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось rpy3uH; 11.07.2012 в 20:51.
DomiNick вне форума Ответить с цитированием
Старый 01.09.2009, 19:17   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так вы мемо ищите...
надо юзать событие OnKeyPress и его параметр Sender
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.09.2009, 13:19   #10
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Delpinist Посмотреть сообщение
Как можно программно перенести только текст какой-либо странички в поле Memo (Аналог: В ручную выделить всю html-страничку, в месте с графикой, скопировать все в буфер обмена и вставит в блокнот. При этом в блокнот вставляется только текст, графические элементы исключаются).
только текст - memo1.Lines.Text:=WebBrowser1.OleOb ject.document.body.InnerTEXT;

если весь html -
memo1.Lines.Text:=WebBrowser1.OleOb ject.document.body.InnerHTML;

mosq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена закладки в тексте документа WORD на мой текст Tiolic Общие вопросы Delphi 4 23.12.2017 15:18
Как отобразить на форме содержимое HTML-документа? Alexpol Общие вопросы Delphi 13 09.01.2011 22:39
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
закачка html-документа janifer Работа с сетью в Delphi 1 08.05.2007 19:06
Текст html-странички в поле Memo Delpinist Win Api 5 18.12.2006 14:57