Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Browser programmieren (https://www.delphipraxis.net/101832-browser-programmieren.html)

djpaull 18. Okt 2007 21:34


Browser programmieren
 
Servus allerseits.

Ich hab mir vorgenommen einen einfachen, primitiven Browser zu erstellen, bestehend aus:
- 5 buttons (vor, zurück, stop, refresh und go)
- 1 editfeld (ardresse)
- 1 TWebBrowser

Es funzt so halbwegs - wenn ich die adresse eingebe, geht er auch dorthin. Nur... Wie kann ich es so machen, dass die KOMPLETTE adresse der aktuellen seite im editfeld angezeigt wird, wie in jedem Browser. Oder wenn ich auf einen Link gehe, soll diese Adresse auch angezeigt werden.


Danke schon mal im Voraus!

quendolineDD 18. Okt 2007 22:47

Re: Browser programmieren
 
Willkommen in der DP :)

Zitat:

Die Eigenschaft LocationURL gibt die URL oder den Pfad des aktuell angezeigten Dokuments oder Ordners an.

Delphi-Syntax:

property LocationURL: WideString;

Beschreibung

Mit LocationURL können Sie den Namen der aktuell in der WebBrowser-Komponente angezeigten Ressource abrufen. Bei einer HTML-Seite aus dem Web enthält die Eigenschaft die URL. Bei einem Verzeichnis oder einer Datei im Netzwerk bzw. auf der Festplatte gibt LocationName den vollständigen UNC-Namen an.

Hinweis: Der Wert von LocationURL kann nur gelesen werden. Um eine bestimmte Ressource im Browser anzuzeigen, verwenden Sie die Methoden Navigate oder Navigate2.

djpaull 18. Okt 2007 22:57

Re: Browser programmieren
 
Mit LocationURL zeigt er mir den Pfad meines Projekt, also da, wo mein Browser liegt. Aber ich will den Pfad der aktuellen Seite angezeigt haben. Bitte ein beispiel.

Im Moment sieht es so aus

Delphi-Quellcode:
procedure TForm1.btnGoClick(Sender: TObject);
begin
 edit1.text:=(webBrowser1.LocationURL);
end;
Was mach ich falsch oder was fehlt da?

djpaull 18. Okt 2007 23:03

Re: Browser programmieren
 
Hey Sorry, es geht doch!!!??? Ich habs jetzt auf nen anderen Button verlegt und es geht!!!

Hey, Danke!

Falls jemand weiss, wie ich "Favoriten" programieren kann, dem geb ich ein Kuss :wink:

quendolineDD 18. Okt 2007 23:07

Re: Browser programmieren
 
Einfach die aktuellen URLs einspeichern und bei einem Klick auf das ausgewehlte Element in den Favouriten wird diese Seite aufgerufen.

Edit. Auf den Kuss verzichte ich gerne :)

djpaull 18. Okt 2007 23:19

Re: Browser programmieren
 
:-D jaja..

Zitat:

Einfach die aktuellen URLs einspeichern und bei einem Klick auf das ausgewehlte Element in den Favouriten wird diese Seite aufgerufen.
Is schon klar. Ich mach das über TMainMenu. Nur ich weiss nicht, wie ich die aktuelle Seite(Adresse) als ein Item speichern kann. Ich hab schon zwar ein Item "Freenet" (nur so als Beispiel) manuell erstellt und ihm mit webBrowser1.Navigate('www.freenet.de'); zugewiesen. Die Frage ist wie könnte man das etwas automatisieren? Dass er beim Click auf Item "Hinzufügen" einen neuen Item anlegt und ihm webBrowser1.Navigate(blabla) zuweisst.

quendolineDD 18. Okt 2007 23:45

Re: Browser programmieren
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, OleCtrls, SHDocVw, StdCtrls;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    MainMenu1: TMainMenu;
    Hinzufuegen1: TMenuItem;
    Edit1: TEdit;
    procedure Hinzufuegen1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    StringList: TStringList;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Hinzufuegen1Click(Sender: TObject);
begin
StringList.Add(WebBrowser1.LocationURL);
Edit1.Text := StringList.Strings[0];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
StringList := TStringList.Create;
WebBrowser1.Navigate('http://www.google.de');
end;

end.
Alles nur test-Quellcode. Also funktioniert wunderbar bei mir :)

Nur müsstest du die Daten dann noch abspeichern und wiederum beim erneuten aufruf deines Programmes laden und im MainMenu irgendwo anzeigen :)

Grüße

EDIT:

Um dann aus der Auswahl heraus auf die Seiten zu gelangen musst du ganz einfach dann bloß die gespeicherte URL dem Browser zuweisen.

djpaull 19. Okt 2007 00:02

Re: Browser programmieren
 
Hey danke, funzt tatsächlich!

Ich geh jetzt mal ins Bett, werde morgen weitermachen. Dann poste ich mal den "kompletten" Quelltext von der Lösung. Vielleicht wird es jemand noch irgendwann brauchen.

Nochmal Danke für deine Hife trotz der späten Stunde! :)

djpaull 19. Okt 2007 11:37

Re: Browser programmieren
 
Servuz nochmal.

Also, im Moment klemmts nur noch am folgendem Punkt - Favoriten. Es soll beim click auf z.B. MenuItem1 der Inhalt des Ordners "XY" (in meinem Fall "./Favoriten") angezeigt werden. Überhaupt, wie kann man denn den inhalt eines Ordners anzeigen lassen. Bei der ActionList wurde ich nicht fündig, mein MainMenu hab ich schon von oben bis unten "durchgenommen", aber leider kein passendes Befehl gefunden. :wall:
Habt ihr Vorschläge?

djpaull 19. Okt 2007 11:40

Re: Browser programmieren
 
Zitat:

Nur müsstest du die Daten dann noch abspeichern und wiederum beim erneuten aufruf deines Programmes laden und im MainMenu irgendwo anzeigen
Hmmm... jaaa.. wie z.B. genau das ist ja mein Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Seite 1 von 3  1 23      

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