Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Favoriten Icon in eigenen Browser? (https://www.delphipraxis.net/38972-favoriten-icon-eigenen-browser.html)

BloodEye 26. Jan 2005 21:44


Favoriten Icon in eigenen Browser?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Ich bin gearde dabei ein Browser zumachen mit Mozilla Control 1.0 Type Libary aber jetzt ist meine Frage wie bekomme ich das Favoriten Icon links neben der Adressenliste?
Hab in vielen verschiedenen Foren gesucht und nichts gefunden :cry:
Ich hoffe jemand kann mir weiterhelfen.

shmia 27. Jan 2005 09:26

Re: Favoriten Icon in eigenen Browser?
 
Grundlagen siehe: http://favicon.de
Es gibt nun 3 Problemfelder:
* überhaupt eine Website erstellen, die ein Icon anbietet
* Mozilla zu bewegen, das Fovoriten Icon anzuzeigen
* der Mozilla Browser zeigt das Icon, nur das Mozilla Control nicht
wo liegt dein Problem? (und ist deine Mozilla Version aktuell genug?)

BloodEye 27. Jan 2005 10:07

Re: Favoriten Icon in eigenen Browser?
 
Ne,
Ich meinte damit ich bin selber dabei ein Browser zuschreiben aber ich bräuchte sowas wie ein beispiel code damit ich in mein selbstgeschrieben browser auch das Favoriten Icon anzeigen lassen kann also z.b wie in Mozilla Browser.

shmia 28. Jan 2005 08:55

Re: Favoriten Icon in eigenen Browser?
 
Zitat:

Zitat von BloodEye
Ich meinte damit ich bin selber dabei ein Browser zuschreiben...

Ach so, verrückte Idee.
Zitat:

Zitat von BloodEye
aber ich bräuchte sowas wie ein beispiel code damit ich in mein selbstgeschrieben browser auch das Favoriten Icon anzeigen lassen kann also z.b wie in Mozilla Browser.

Dann würde ich mal ganz einfach anfangen und erstmal versuchen das Icon von einer Website herunterzuladen.
Die allgemeine URL ist http://domainname.com/favicon.ico
Du kannst die DP gut zum Testen verwenden, denn du bekommst das Icon unter:
http://www.delphipraxis.net/favicon.ico
Das Icon anzeigen ist sehr einfach:
Delphi-Quellcode:
Image1.LoadFromFile('dateiname_des_Icon_auf_platte.ico');

toms 28. Jan 2005 09:06

Re: Favoriten Icon in eigenen Browser?
 
Es waere dann natuerlich auch noch besser das Icon zuerst zu downloaden und dann direkt
anzuzeigen, ohne den Umweg ueber die Festplatte.

BloodEye 28. Jan 2005 09:33

Re: Favoriten Icon in eigenen Browser?
 
Hmm ok,
Ich hab sowas wie ein beispiel code gefunden was mit ComboBoxEx funktioniert.
Aber leider bekomme ich immer nach dem zweiten Seiten aufruf ein Fehler genau diesen:
Code:
Im Projekt Project2.Eye ist eine Exception der Klasse EOleExeption aufgetreten. Meldung: 'Methd was
called with an invalid parameter'. Prozess wueder angehalten. Mit Einzelne Anweisung oder Start
fortsetzen.
Und hier der code das die icons holt:
Code:
procedure GetFavIcons(AComboBoxEx: TComboBoxEx; AImageList: TImageList; const ATemp: String);
var
  i, j,
  ii: Integer;
  url: String;
  hasFav: Boolean;
  bmp: TBitmap;
  ico: TIcon;
begin
  //Bild erzeugen
  bmp := TBitmap.Create;
  ico := TIcon.Create;

  //ImageList löschen und Standardicon wieder an erste Stelle
  AImageList.GetBitmap(0, bmp);
  AImageList.Clear;
  AImageList.Add(bmp, nil);

  //Alle Eintrge durchlaufen
  for i := 0 to AComboBoxEx.ItemsEx.Count - 1 do
  begin
    url := AComboBoxEx.ItemsEx[i].Caption;
    hasFav := False;
    ii := 0;

    // [Start] versuchen das FavIcon im gleichen Verzeichnis zu laden
    for j := Length(url) downto 2 do
      if (url[j] = '/') and (url[j-1] <> '/') then
      begin
        Delete(url, j, Length(url) - j + 1);
        Break;
      end;
    if Pos('http://', url) = 0 then
      url := 'http://' + url;
    if url[Length(url)] <> '/' then
      url := url + '/';
    UrlDownloadToFile(nil, PChar(url + 'favicon.ico'), PChar(ATemp + 'fav.ico'), 0, nil);
    hasFav := FileExists(ATemp + 'fav.ico');
    // [Ende] versuchen das FavIcon im gleichen Verzeichnis zu laden

    // [Start] gefundenes Icon in ImagList laden und löschen
    if hasFav then
    begin
      try //erst versuchen das Icon als Typ "Icon" zu laden
        ico.LoadFromFile(ATemp + 'fav.ico');
        ii := AImageList.AddIcon(ico);
      except
        try //danach mit "Bitmap" versuchen
           bmp.LoadFromFile(ATemp + 'fav.ico');
           ii := AImageList.Add(bmp, nil);
         except
           hasFav := False;
         end;
      end;
      DeleteFile(ATemp + 'fav.ico');
    end;
    // [Ende] gefundenes Icon in ImagList laden und löschen

    //Icon dem Eintrag zuweisen
    AComboBoxEx.ItemsEx[i].ImageIndex := ii;
  end;
  bmp.Free;
  ico.Free;
end;
Und angeblich ist der fehler in der mozilla unit:
Code:
procedure TMozillaBrowser.Navigate(const URL: WideString);
begin
  DefaultInterface.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
Ich hoffe jemand kann helfen ich selber finde den fehler nicht :?

Danke

toms 31. Jan 2005 13:39

Re: Favoriten Icon in eigenen Browser?
 
Hi,

Was hat denn die GetFavIcons() Prozedure mit der Navigate Methode zu tun?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 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-2025 by Thomas Breitkreuz