Tmemo, Twebbrowser и Tmemorystream

Тема в разделе "Delphi - Компоненты", создана пользователем Sandy, 18 мар 2008.

Статус темы:
Закрыта.
  1. Sandy

    Sandy Гость

    Здравствуйте уважаемые!
    Есть небольшая задача, нужно чтобы текст из TMemo отображался в TWebBrowser. Оба этих компонента лежат на одной форме (Form1);
    Я делаю так:
    Memo1.Lines.SaveToFile('1.htm');
    WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'1.htm');
    Всё отлично работает, но не охота с файлами возиться, хотелось бы реализовать через TMemoryStream. А вот работать с ним я не умею. Требуется помощь.
    Делаю так:
    Var Mem1:TMemoryStream;
    Begin
    Mem1:=TMemoryStream.create;
    Memo1.lines.SaveToStream(Mem1);
    WebBrowser1.Navigate(Mem1);
    Mem1.Free;
    End;
    Естественно ничего не работает в этом случае. Не подскажете, как же это реализовать без файла, посредством TMemoryStream?
     
  2. zubr

    zubr Гость

    Не обязательно через стрим, можно просто через строку:
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    var
    HTMLDocument:IHTMLDocument2;
    v: Variant;
    begin
    HTMLDocument:=WebBrowser1.Document as IHTMLDocument2;
    v:=VarArrayCreate([0, 0], varVariant);
    v[0]:=Memo1.Text;
    HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
    HTMLDocument.Close;
    end;
    Для этого варианта необходимо подключить модули: MSHTML_TLB, ActiveX и предварительно загрузить какой нибудь документ.
     
  3. Sandy

    Sandy Гость

    Спасибо большое за ответ, а есть ещё какие-нибудь варианты?
     
  4. zubr

    zubr Гость

    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    var
    str:TMemoryStream;
    begin
    str:=TMemoryStream.Create;
    try
    Memo1.Lines.SaveToStream(str);
    str.Position:=0;
    (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(str));
    finally
    str.Free;
    end;
    end;
     
  5. Sandy

    Sandy Гость

    Спасибо.
    Опробовал, но не работает, ошибка:
    [​IMG]

    ActiveX подключил.
     
  6. Sandy

    Sandy Гость

    zubr, sax_ol, спасибо вам большое за помощь!
    Всё отлично работает.
     
  7. Sandy

    Sandy Гость

    Здравствуйте, уважаемые программисты!
    У меня снова есть вопрос и я решил не создавать новую тему. Вопрос относительно gif-анимации. В общем я использую компонент RxGifAnimator. У меня на форме содержится порядка 45 смайликов. Каждый смайлик в отдельном компоненте, т.е. RxGifAnimator1, 2... n.
    Когда я создаю и показываю форму с этими смайликами, то процессор загружается на 15-20%. Это многовато. К примеру в QIP, такого нет. Там при показе формы со смайликами процессор загружается всего на 1-2%.
    Так вот я хочу спросить, может быть есть какие-нибудь компоненты для отображения анимированных gif-файлов, которые не так сильно грузят процессор. Или RxGifAnimator - лучший вариант?
    С уважением, Sandy.
     
  8. Sandy

    Sandy Гость

    Попробовал парочку других компонент для работы с GIF и решил, что всё-таки буду использовать RxGIFAnimator. Вопрос исчерпан.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей