Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Wie kann ich einen Browser basteln? (https://www.delphipraxis.net/18001-wie-kann-ich-einen-browser-basteln.html)

StylerM 12. Mär 2004 17:26


Wie kann ich einen Browser basteln?
 
Also ich habe mir überlegt mal ein bisschen kleiner anzufangen und einen stylisch gut aussehenden Browser zu basteln. Wäre das mit Delphi 7 möglich? Habt ihr Tipps wie ich das anstellen könnte???

Plague 12. Mär 2004 17:35

Re: Wie kann ich einen Browser basteln?
 
Als Grundlage würde ich den TWebBrowser nutzen (in Delphi 7 vorhanden). Darauf kannst Du dann aufbauen. Hab ich auch schon mal gemacht. Der Umgang damit ist relativ einfach.

Gruß
Thomas

KingofWerlte 12. Mär 2004 17:51

Re: Wie kann ich einen Browser basteln?
 
Helas erstmal! :hi:
@StylerM: das hab ich auch schon gemacht zwar sah er am anfang nicht besonders stylisch aus aber ich konnte ins I-Net
@Plague naja man könnte es auch ohne TWebBrowser machen (so wie ich) und so schwierig ist es auch nicht ohne

Matze 12. Mär 2004 17:54

Re: Wie kann ich einen Browser basteln?
 
Eine kleine Zwischenfrage: ;)

Muss der IE installiert sein, wenn man den TWebbrowser verwenden möchte?
(Er ist ja normalerweise installiert, aber würde mich mal interessieren.)

sakura 12. Mär 2004 17:55

Re: Wie kann ich einen Browser basteln?
 
Zitat:

Zitat von Matze
Muss der IE installiert sein, wenn man den TWebbrowser verwenden möchte?
(Er ist ja normalerweise installiert, aber würde mich mal interessieren.)

Ja, der TWebBrowser ist nur ein "Wrapper" für den IE ;-)

...:cat:...

S2B 12. Mär 2004 17:55

Re: Wie kann ich einen Browser basteln?
 
Hi,
wenn du dir die TWebBrowser-Komponente mal anschaust, dann siehst du, dass es sehr einfach ist, die Grundfunktionen zu programmieren (z.B. Aktualisieren, Abbrechen, Startseite usw.). Die Befehle dafür müssen einfach nur ausgeführt werden. Das Problem mit dem Fehler bei den Vor-/Zurück-Buttons lässt sich auch lösen. Da gibt es verschiedene Möglichkeiten. Ich hab erst gar nicht im Internet nachgeschaut und mir selber eine überlegt (so grob: Wenn ich eine Seite ausgeführt habe, dann wird zu x eins dazugezählt, beim Drücken von Zurück eins abgezogen...). Da gibt es aber bestimmt auch viel einfachere Methoden.
Grüße S2B

KingofWerlte 12. Mär 2004 18:07

Re: Wie kann ich einen Browser basteln?
 
Ich stell in den nächsten tagen mal meinen Browser Source hier rein. Der ist aber ohne TWebBrowser gemacht (wie oben schon erwähnt :-D )

S2B 12. Mär 2004 18:19

Re: Wie kann ich einen Browser basteln?
 
Die Source würde mich auch mal interessieren, weil die ja nicht auf dem IE basiert :-D. Braucht man dazu dann ne extra Komponente oder ist das vielleicht das mit dem PageControl?
Grüße S2B

Matze 12. Mär 2004 18:23

Re: Wie kann ich einen Browser basteln?
 
Ich freu mich auch auf den Source, hoffentlich ist's keine extra Komponente. ;)

StylerM 12. Mär 2004 18:53

Re: Wie kann ich einen Browser basteln?
 
cool. wann stellste das rein?

KingofWerlte 12. Mär 2004 20:07

Re: Wie kann ich einen Browser basteln?
 
So hier der versprochene Source:
(zur erklärung evtl. die HP wird in einem Ole Fenster dargestellt)
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    btnStart: TButton;
    btnZurueck: TButton;
    btnVorwaerts: TButton;
    btnHinzufuegen: TButton;
    btnEntfernen: TButton;
    btnNeu: TButton;
    btnAbbrechen: TButton;
    OleContainer1: TOleContainer;
    procedure OnCreate(Sender: TObject); //Form1
    procedure FormShow(Sender: TObject); //Form1
    procedure FormClose(Sender: TObject; var Action: TCloseAction); //Form1
    procedure btnStartClick(Sender: TObject);
    procedure btnZurueckClick(Sender: TObject);
    procedure btnVorwaertsClick(Sender: TObject);
    procedure btnNeuClick(Sender: TObject);
    procedure btnAbbrechenClick(Sender: TObject);
    procedure btnHinzufuegenClick(Sender: TObject);
    procedure btnEntfernenClick(Sender: TObject);
   

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
const
   FavouritenListe = 'c:\FavouritenListe.txt';
   
implementation

{$R *.dfm}

procedure TForm1.OnCreate(Sender: TObject);
begin
OleContainer1.CreateObject('Shell.Explorer',False);
if FileExists(FavouritenListe) then
   ComboBox1.Items.LoadFromFile(FavouritenListe);

end;

procedure TForm1.FormShow(Sender: TObject);
begin
OleContainer1.DoVerb(ovShow);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ComboBox1.Items.SaveToFile(FavouritenListe);
OleContainer1.Close;
OleContainer1.DestroyObject;

end;

procedure TForm1.btnStartClick(Sender: TObject);
begin
OleContainer1.OleObject.Navigate(ComboBox1.Text);
end;

procedure TForm1.btnZurueckClick(Sender: TObject);
begin
OleContainer1.OleObject.GoBack;
end;

procedure TForm1.btnVorwaertsClick(Sender: TObject);
begin
OleContainer1.OleObject.GoForward;
end;

procedure TForm1.btnNeuClick(Sender: TObject);
begin
OleContainer1.OleObject.Refresh;
end;

procedure TForm1.btnAbbrechenClick(Sender: TObject);
begin
OleContainer1.OleObject.Stop;
end;

procedure TForm1.btnHinzufuegenClick(Sender: TObject);
begin
if ComboBox1.Items.IndexOf(ComboBox1.Text)=-1 then
   ComboBox1.Items.Add(ComboBox1.Text);
end;

procedure TForm1.btnEntfernenClick(Sender: TObject);
begin
if ComboBox1.Items.IndexOf(ComboBox1.Text)<>-1 then
   ComboBox1.Items.Delete(ComboBox1.Items.IndexOf(ComboBox1.Text));
end;

end.
So da ich die Komponenten mit angegeben hast kannst du den eigentlich ganz leicht nachprogrammieren
Hier der link: Mein Browser

CalganX 12. Mär 2004 20:11

Re: Wie kann ich einen Browser basteln?
 
Hi,
öhm... :gruebel: Das ist immer noch auf dem Internet Explorer basierend! Du ladest ja schließlich das Explorer-Shell-Objekt. Das ist im Endeffekt zwar der Windows Explorer, was allerdings natürlich identisch ist mit dem Internet Explorer (du kannst ja auch mit dem Papierkorb surfen :mrgreen:)!

Chris

KingofWerlte 12. Mär 2004 20:13

Re: Wie kann ich einen Browser basteln?
 
Ich hab ja auch nie was anderes behauptet :mrgreen:

CalganX 12. Mär 2004 20:15

Re: Wie kann ich einen Browser basteln?
 
Hi,
stimmt auch wieder. Allerdings hatte S2B behauptet, dass es so wäre... ;) Oder zumindest habe ich es so verstanden. :tongue:

Chris

Alexander 12. Mär 2004 20:15

Re: Wie kann ich einen Browser basteln?
 
Du hast doch gesagt, dass du einen eigenständigen Browser benutzt :gruebel: Der hier entspricht dem des TWebbrowsers..

CalganX 12. Mär 2004 20:16

Re: Wie kann ich einen Browser basteln?
 
Hi Alexander,
im Endeffekt. Allerdings hat KingOfwertle Recht, dass es nicht auf dem TWebBrowser basiert, denn er verwendet das OLE-Objekt direkt, ohne erst auf den ActiveX-Wrapper zuzugreifen... ;)

Chris

KingofWerlte 12. Mär 2004 20:17

Re: Wie kann ich einen Browser basteln?
 
ich hab doch nur gesagt das ich dieses TWebBrowser nicht benutze...oder hab ich da nu was falsch :gruebel:
Ne doch nicht :-D (glaub ich zumindest)
hast recht Chakotay

S2B 12. Mär 2004 21:36

Re: Wie kann ich einen Browser basteln?
 
Sorry, ich hab da was falsch verstanden! Ich hab die Antwort nochmal genau augeschaut und da ist mir ein Licht aufgegangen :-D. Ich hab aber mal ne Source gefunden, wo das ganze auch ohne den IE (denk ich zumindest) funktioniert! Da hat derjenige das dann mit PageControl gemacht. Der hieß glaub ich :coder:(sch... der hieß genau so wie der HTML-Code, also coder mit vorne und hinten ":") oder so. Es war aber auf einer anderen Seite (glaub ich, schon lange her). Wenn ihr wollt, kann ich versuchen, die Source auf meiner Platte zu finden und sie hier reinstellen.
Grüße S2B


Edit: Ich hab die Source gefunden, die basiert aber auf dem TWebBrowser :lol:. Kann man nichts machen...

mumu 13. Mär 2004 02:39

Re: Wie kann ich einen Browser basteln?
 
lol ey, nen browser mal einfach so basteln, ich glaub das ist nicht so ohne weiteres...

CalganX 13. Mär 2004 09:53

Re: Wie kann ich einen Browser basteln?
 
Hi,
Hier im Forum suchenInternetsurfer
Das war mein erstes richtiges Projekt mit Delphi... ;) Ganz einfach und einfaches zusammengeklicke sonst nichts. :) Ist also prinzipiell ganz einfach.

Wenn es aber darum geht einen komplett neuen Browser zu schreiben ala Mozilla oder Opera, wirst du wirklich nicht ohne weiteres das schaffen. ;)

Chris

Luckie 13. Mär 2004 09:55

Re: Wie kann ich einen Browser basteln?
 
Basiert aber auch wieder auf dem IE mit seinen sämtlichen Unzulänglichkeiten und Features.

Ob ich nun die TWebbrowser-Komponente nehmen oder den IE als ActiveX impoertire oder die mshtml.dll benutze, das ist alles der IE. as er will ist wohl ein eigener Engine. das heißt, er müsste ich die Antwort mit einem Get (TIdHTTP.Get) holen und dann das ganze in einer von TRichEdit abgeleitteten Komponenten zum Beispiel selber rendern.

CalganX 13. Mär 2004 10:11

Re: Wie kann ich einen Browser basteln?
 
Hi Luckie,
Zitat:

Zitat von Luckie
Basiert aber auch wieder auf dem IE mit seinen sämtlichen Unzulänglichkeiten und Features.

Nichts anderes steht da auch. ;) Ich habe lediglich ein Beispiel gepostet, dass es nicht zwingend schwierig sein muss einen einfachen Browser, auf Basis des IE, zu schreiben.

Zitat:

Zitat von Luckie
Ob ich nun die TWebbrowser-Komponente nehmen oder den IE als ActiveX impoertire oder die mshtml.dll benutze, das ist alles der IE. as er will ist wohl ein eigener Engine. das heißt, er müsste ich die Antwort mit einem Get (TIdHTTP.Get) holen und dann das ganze in einer von TRichEdit abgeleitteten Komponenten zum Beispiel selber rendern.

Klar... ;) Diese Idee hatte ich auch mal, allerdings ist das wirklich schwierig und nicht ohne weiteres möglich (wie bereits gesagt wurde). Man Denke mal an die ganzen Features wie z.B. CSS, Layers, Frames, Tabellen etc. Das ist mit einer Masse Arbeit verbunden.

Chris

Luckie 13. Mär 2004 16:13

Re: Wie kann ich einen Browser basteln?
 
Warum zeigt ihr iohm eigentlich andaurnd Lösungen von denen ihr wisst, dass sie für ihn uninteressant sind? :roll: Dass es mit TWebbrwoser kein Problem ist, sich seinen "eigenen" Browser zusammen zu klicken, dürfte er breits gemerkt haben.

MasterC 13. Mär 2004 17:16

Re: Wie kann ich einen Browser basteln?
 
Die Mozilla Engine (Gekko glaub ich) wäre nicht schlecht. Mozilla Firefox ist Opensource, warum könnte nicht jemand eine Gekko Komponente schreiben?

CalganX 13. Mär 2004 17:25

Re: Wie kann ich einen Browser basteln?
 
Hi,
es gibt ja bereits eine Gekko-Standalone-Komponente, das ist aber nur ein Control für C++... ;)

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz