Avatar billede izemate Nybegynder
03. maj 2003 - 13:23 Der er 18 kommentarer og
1 løsning

Kode ?

Jeg har et SynEdit1 felt og en Webbrowser1
hvordan gør jeg sådan at kode i SynEdit1 feltet bliver "genereret" i Webbrowser1 ?

Hvis i ike lige kender SynEdit så kan i jo prøve at skrive kode som hvis det var et RichEdit felt !

<\\izemate
Avatar billede abpdk Nybegynder
03. maj 2003 - 13:34 #1
Avatar billede izemate Nybegynder
03. maj 2003 - 13:58 #2
andre ?
Avatar billede abpdk Nybegynder
03. maj 2003 - 14:00 #3
izemate>> Dur det ikke eller...?
Avatar billede izemate Nybegynder
03. maj 2003 - 14:16 #4
tja jeg er en meget newbi og kan ikke lige helt gennemskue koden..
Avatar billede abpdk Nybegynder
03. maj 2003 - 14:20 #5
Du tilføjer bare ActiveX til uses (øverst i din kode), og indsætter den procedure der kalder WB_loadHTML lige efter implementation. Så kan du frit kalde WB_loadHTML( [den webbrowser koden skal vises i], [streng med kode] );

F.eks. WB_loadHTML(WebBrowser1, RichEdit1.text);
Avatar billede abpdk Nybegynder
03. maj 2003 - 14:20 #6
(der kalder = de kalder)
Avatar billede izemate Nybegynder
03. maj 2003 - 14:31 #7
hmm jeg har forstået det med ActiveX men det forvirre lidt det med Procedure..
skal jeg bare tilføje WB_loadHTML i proceduren ? ex. procedure WB_loadHTML ?

og hvad skal skal browseren så hedde WB-loadHTML ?


så det ser sådan her ud


users
ActiveX



Type
WB_loadHTML eller
WB_loadHTML(WebBrowser1, RichEdit1.text);

?
Avatar billede izemate Nybegynder
03. maj 2003 - 14:35 #8
okay prøver på en anden måde..
Hvis du havde en browser (webBrowser1) og et RichEdit1 felt.. hvordan ville du så få webbrowser til at vise kode fra RichEdit1 feltet ?

<\\izemate
Avatar billede abpdk Nybegynder
03. maj 2003 - 14:36 #9
Her er et komplet eksempel med en TWebbrowser, en TButton og en TRichEdit:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OleCtrls, SHDocVw, StdCtrls, ActiveX, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    RichEdit1: TRichEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
  sl: TStringList;
  ms: TMemoryStream;
begin
  WebBrowser.Navigate('about:blank');
  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
  Application.ProcessMessages;

  if Assigned(WebBrowser.Document) then
  begin
    sl := TStringList.Create;
    try
      ms := TMemoryStream.Create;
      try
        sl.Text := HTMLCode;
        sl.SaveToStream(ms);
        ms.Seek(0, 0);
        (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
      finally
        ms.Free;
      end;
    finally
      sl.Free;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  WB_loadHTML(WebBrowser1, RichEdit1.text);
end;

end.
Avatar billede izemate Nybegynder
03. maj 2003 - 17:00 #10
hmm jeg får fejl ved IPersistStreamInit
Avatar billede abpdk Nybegynder
03. maj 2003 - 17:01 #11
Så har du nok glemt at tilføje ActiveX til uses.
Avatar billede izemate Nybegynder
03. maj 2003 - 17:53 #12
nix
Avatar billede izemate Nybegynder
03. maj 2003 - 17:53 #13
ups kom til at acceptere :\ når men det kan jo være det virker på et tidspunk ;)
Avatar billede abpdk Nybegynder
03. maj 2003 - 18:11 #14
Hvilken version af Delphi bruger du?
Avatar billede izemate Nybegynder
03. maj 2003 - 18:33 #15
Delphi 6.0 Personal
Avatar billede abpdk Nybegynder
03. maj 2003 - 18:38 #16
Ja så må jeg indrømme at jeg ikke kan se hvad problemet er. Har du prøvet at oprette en ny applikation og så overskrive med HELE den kode jeg cut'n'pastede tidligere?
Avatar billede izemate Nybegynder
03. maj 2003 - 19:03 #17
YES SIR ! nu virker det bare :) jeg har lige et spm hvis det er okay?

Når jeg vil havde det vist så smider jeg den på i en align:= alclient; og når jeg vil se kilde kode vi jeg bruge webbrowser1.visible:=flase; men det virker har du nogen ide om hvordan jeg kan gør sådan at man ser browseren når man trykker på en knap og "fjerner" den igen når man trykker på en anden knap ?
Avatar billede izemate Nybegynder
03. maj 2003 - 19:34 #18
lige meget.. har fundet ud af det.. man skulle bare sætte den til align:= alCustom; også sætte den til højde 1 og width 1 :) men tusind tak for hjælpen !!
Avatar billede abpdk Nybegynder
03. maj 2003 - 19:36 #19
Var så lidt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester