Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi IE-Favoriten (https://www.delphipraxis.net/5897-ie-favoriten.html)

Daniel B 22. Jun 2003 21:31

Hallo,

ich habe die Komponente nicht installiert, sondern nur mal die Exe angeschaut wie und was da passiert und in der Unit1 den Code angeschaut womit das ganze funktioniert. Und da stehen nur die zwei kurzen Prozeduren drin.

Grüsse, Daniel :hi:

synex 22. Jun 2003 21:32

hast du mal probiert die unit dann zu compilieren?? Weil es ja daran scheitert bei mir.

Und sonst allgemein: Es gibt ne *.dcu und ne *.pas Datei, wie installier ich das?

Daniel B 22. Jun 2003 21:47

Hallo,

ich habe es versucht, doch irgendwas ist in Delphi jetzt kaputt! Alle Komponenten werden jetzt auf einmal angezeigt, also auch die für CLX und das ist jetzt ein riesen Salat bei mir.
Da im Zip-File es auch eine .dcu gibt, das ist bereits die kompilierte .pas, verusch dochmal die Unit einfach nur in den Uses aufzunehmen. Vielleicht muss man gar keine Komponente in den Sinne aufs Formular setzen, sondern einfach nur die unit einbinden und so nur die Funktionen/Prozeduren daraus aufrufen.

Grüsse, Daniel :hi:

synex 23. Jun 2003 12:43

ich habe die Unit ja unter die uses aufgenommen, aber er meinte die Klasse sei nicht gefunden worden. Wenn ich das Demo-Projekt öffne und laufen lase, funktioniert es obwohl die Klasse icht gefunden wurde ?!?

Wenn ich das von Hand selber machen will, compiliert er erst gar nicht :(

synex 24. Jun 2003 14:30

weis denn keiner rat?

eddy 20. Jul 2003 17:13

IE-Favoriten im Menü
 
Hallo synex,

ich habe wohl die selbe Quelle gefunden. Mein Ziel war es, den Menüpunkt Favoriten des Internetexplorers nachzubilden, um die entsprechenden Links wählen zu können.

Dazu habe ich die Quelle ein wenig umgearbeitet, vielleicht nicht optimal, aber erstmal funktionsfähig.

Code:
//original übernommen
procedure FreePidl(pidl: PItemIDList);
var
  allocator: IMalloc;
begin
  if Succeeded(SHGetMalloc(allocator)) then begin
    allocator.Free(pidl);
    {$IFDEF VER100}
    allocator.Release;
    {$ENDIF}
  end;
end;

procedure TFTermin.GenIEFavourites(const favpath: string; var m : TMenuItem);
const
  mxcaplen = 80;
var
  searchrec: TSearchRec;
  link, lcap, // link capture
  path, dir, FileName: string;
  Buffer: array[0..2047] of Char;
  i,
  found: Integer;
  NewItem: TMenuItem;
begin
  // Get all file names in the favourites path
  path := IncludeTrailingBackslash(FavPath);
  dir := ExtractFilepath(path);
  found := FindFirst(path + '*.url', faAnyFile, searchrec);
  while found = 0 do begin
    // Get now URLs from files in variable files
    Setstring(FileName, Buffer, GetPrivateProfilestring('InternetShortcut',
              PChar('URL'), nil, Buffer, SizeOf(Buffer), PChar(dir + searchrec.Name)));
    link := FileName;
    lcap := searchrec.Name;
    //.url .de entfernen
    i := pos('.', lcap);
    if i > 0 then lcap := copy(lcap, 1, i-1);
    NewItem := TMenuItem.Create(m);
    NewItem.Bitmap.LoadFromFile(Execpath + 'FavoFile.BMP');
    NewItem.Caption := lcap;
    //Länge kürzen
    if length(NewItem.Caption) > mxcaplen
        then NewItem.Caption := copy(NewItem.Caption, 1, mxcaplen-3) + ' ...';
    // mit einem Click auf den Eintrag wird die angewählte Seite geladen
    NewItem.OnClick := LadeWebPageausFavoriten1Click;
    m.Add(NewItem);
    found := FindNext(searchrec);
  end;
  // Unterverzeichnisse einbeziehen
  found := FindFirst(dir + '*.*', faAnyFile, searchrec);
  while found = 0 do begin
    if ((searchrec.Attr and faDirectory) > 0) and (searchrec.Name[1] <> '.') then begin
      NewItem := TMenuItem.Create(m);
      NewItem.Bitmap.LoadFromFile(Execpath + 'Ordner.BMP');
      NewItem.Caption := SearchRec.Name;
      if length(NewItem.Caption) > mxcaplen
        then NewItem.Caption := copy(NewItem.Caption, 1, mxcaplen-3) + ' ...';
      m.Add(NewItem);
      GenIEFavourites(dir + searchrec.Name, NewItem);
    end;
    found := FindNext(searchrec);
  end;
  FindClose(searchrec);
end;

procedure TFTermin.FavoritenMenerzeugen1Click(Sender: TObject);
var
  pidl: PItemIDList;
  FavPath: array[0..MAX_PATH] of Char;
  NewItem: TMenuItem;
begin
  if Succeeded(ShGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pidl)) then begin
    if ShGetPathfromIDList(pidl, FavPath) then begin
      { zuerst Trennlinie erzeugen }
      NewItem := TMenuItem.Create(Self);
      NewItem.Caption := '-';
      Favoriten1.Add(NewItem); //Favoriten1 : TMenuItem im OI definiert
      { neuen Eintrag in Menü FENSTER einfügen }
      GenIEFavourites(StrPas(FavPath), Favoriten1);
    end;
    FreePIDL(pidl);
  end;
end;

procedure TFTermin.LadeWebPageausFavoriten1Click(Sender: TObject);
begin
  if (Sender is TMenuItem )then begin
    s := (Sender as TMenuItem).Hint;
    if s <> '' then begin
      cbWeb.Text := s;
      sbGoWeb.Click;
    end;
  end;
end;

mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr.
Seite 2 von 2     12   

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