Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 17.03.2009, 23:05   #1
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 13,518
Репутация: 2719
По умолчанию Копировать текст из webbrowser в memo (включить ctrl+c ctrl+v) копировать - вставить

Как заставить программу копировать текст из webbrowser в memo во время работы.
Alar вне форума   Ответить с цитированием
Старый 17.03.2009, 23:36   #2
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

у меня есть код но он работает через временный файл
Код:

procedure WB_GetHTML(WebBrowser: TWebBrowser;St:TStrings;FileName:Shortstring='temp.htm');
var
 PersistStream: IPersistStreamInit;
 FileStream: TFileStream;
 Stream: IStream;
begin
 PersistStream := WebBrowser.Document as IPersistStreamInit;
 FileStream := TFileStream.Create(FileName,fmCreate);
 try
  Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;
  PersistStream.Save(Stream, True);
 finally
  FileStream.Free;
 end;
 St.Clear;
 St.LoadFromFile(FileName);
end;

или ты имел ввиду выделеный текст?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 17.03.2009 в 23:47.
Пепел Феникса вне форума   Ответить с цитированием
Старый 17.03.2009, 23:45   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 13,518
Репутация: 2719
По умолчанию

Пепел Феникса, мне бы хотелось копировать текст, через буфер обмена, копировать, вставить там.

Как заставить работать вот эту конструкцию?
Код:

webbrowser.GetTextBuf(myChar,len);

Alar вне форума   Ответить с цитированием
Старый 17.03.2009, 23:55   #4
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

я в модуль добавил это(в конце)
Код:

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;

и буфер обмена стал работать(хотя говорили что нужно там еще заморочек добавить)
сейчас гляну твою функцию
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 18.03.2009, 00:01   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 13,518
Репутация: 2719
По умолчанию

Код:

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;

Не помогло.

Посмотрю есть ли у меня библиотка Ole32.lib
Alar вне форума   Ответить с цитированием
Старый 18.03.2009, 00:08   #6
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

Код:

webbrowser.GetTextBuf(myChar,len);

оно работает но возвращает пустоту всегда

странно...после этих строк буфер обмена должен работать у Браузера
тогда вот эта полная статья:
Как сделать так, чтобы работали команды Cut, Copy в WebBrowsere



Вам нужно добавить следующие строки в начало unit:
Код:

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;

__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 18.03.2009, 02:14   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 13,518
Репутация: 2719
По умолчанию

Статью я эту уже видел, вообще не понял что там за бред, ole32.dll у себя нашёл, про OleInitialize прочитал тут http://msdn.microsoft.com/en-us/libr...34(VS.85).aspx

Цитата:
Initializes the COM library on the current apartment, identifies the concurrency model as single-thread apartment (STA), and enables additional functionality described in the Remarks section below. Applications must initialize the COM library before they can call COM library functions other than CoGetMalloc and memory allocation functions.
Подгрузил функцию и процедуру из dll

Код:

var
  Form1: TForm1;

  function  OleInitialize(pvReserved: Pointer): HResult; stdcall;
procedure OleUninitialize; stdcall;

implementation


  function  OleInitialize;     external 'ole32.dll' name 'OleInitialize';
procedure OleUninitialize;   external 'ole32.dll' name 'OleUninitialize';

{$R *.dfm}


и только потом в конце перед end. инициализировал функцию.



Код:

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;

  end.

В принципе, спасибо за наводку, но эту тему будут и чайники читать, им неплохо было бы сразу пояснить как подцепить эти функции в delphi, смотреть код выше.

Код:

OleInitialize(nil);
  OleUninitialize;

зачем

Код:

webbrowser.GetTextBuf

так и не разобрался.

Спасибо.
Alar вне форума   Ответить с цитированием
Старый 18.03.2009, 18:47   #8
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

я забыл про модули
Код:

OleInitialize(nil);
  OleUninitialize;

находятся в модуле ActiveX
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 07.07.2010, 23:22   #9
alexei7
 
Регистрация: 04.03.2010
Сообщений: 8
Репутация: 10
По умолчанию

спасибо за разяснение, ато везде показан не рабочий код ---->Подгрузил функцию и процедуру из dll

Код:

var
Form1: TForm1;

function OleInitialize(pvReserved: Pointer): HResult; stdcall;
procedure OleUninitialize; stdcall;

implementation


function OleInitialize; external 'ole32.dll' name 'OleInitialize';
procedure OleUninitialize; external 'ole32.dll' name 'OleUninitialize';

{$R *.dfm}

и только потом в конце перед end. инициализировал функцию.



Код:

initialization
OleInitialize(nil);

finalization
OleUninitialize;

end.
В принципе, спасибо за наводку, но эту тему будут и чайники читать, им неплохо было бы сразу пояснить как подцепить эти функции в delphi, смотреть код выше.
alexei7 вне форума   Ответить с цитированием
Старый 07.07.2010, 23:22   #10
alexei7
 
Регистрация: 04.03.2010
Сообщений: 8
Репутация: 10
По умолчанию

а это рабочий
alexei7 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет функции копировать-вставить mihakr Microsoft Office Excel 27 10.02.2010 13:31
alt+ctrl+del ben95 Общие вопросы Delphi 36 03.01.2009 17:28
Ctrl+Z реализация delphin100 Общие вопросы Delphi 6 10.09.2008 06:59
Перехват нажатия Ctrl Lonix Win Api 3 13.09.2007 18:20
Ctrl+Enter kisska Win Api 3 22.08.2007 20:55


20:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru