Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi URL's in Adressleiste löschen (https://www.delphipraxis.net/2575-urls-adressleiste-loeschen.html)

eleonora 30. Jan 2003 09:56


URL's in Adressleiste löschen
 
Hallo Leute!!!

Ich hätte da mal ne Frage! Und zwar möchte ich gerne die URL's in der Adressleiste löschen! Ich habe eine Checkbox(URL's) und ein Button (Löschen)! Hat einer ne Ahnung wie das funktioniert? Wäre Euch echt dankbar wenn ihr mir helfen könntet!

gruss eleonora

Christian Seehase 30. Jan 2003 11:52

Moin Eleonora,

schau Dir mal im PSDK die Funktionen FindFirstUrlCacheEntry, FindNextUrlCacheEntry und DeleteUrlCacheEntry an.

Mit diesen Funktionen müsste sich das gewünschte erledigen lassen.

Deklariert sind die Funktionen in der Unit Wininet.

eleonora 30. Jan 2003 12:46

Ich habe den unten stehenden Code benutzt um die Cookies zu löschen. Jetzt habe ich versucht genau den gleichen für URL's zu benutzen (aus den Cookies habe ich dann url gemacht), allerdings bringt er mir die Fehlermeldung: Undefinierter Bezeichner
Kann ich denn überhaupt diesen code nehmen? Wenn ja(was ich jetzt nicht mehr glaube), wo liegt denn dann der Fehler? :oops:

Danke schon mal im vorraus!!!

eleonora :spin:



Code:
if cookies.Checked then begin
     cookies1.Items.BeginUpdate;
     cookies1.Items.Clear;
     dwSize := 65536;
     icei   := AllocMem(dwSize);
     try
       hSearch := FindFirstURLCacheEntry('cookie:',icei^,dwSize);
     if hsearch > 0 then
     begin
       while hSearch <> 0 do
       begin
         Application.ProcessMessages;
         cookies1.Items.Add(icei^.lpszSourceUrlName);
         dwSize := 65536;
         if not FindNextURLCacheEntry(hSearch,icei^,dwSize) then
         begin
           hsearch := 0;
         end;
       end;
     end
     finally
       FreeMem(icei,65536);
       cookies1.Items.EndUpdate;
     end;

     for i := 0 to cookies1.Items.Count-1 do
     begin
       cookies1.Checked[i] := true;
       if cookies1.Checked[i] then
         DeleteURLCacheEntry(PChar(cookies1.Items[i]));
     end;
    end
    else begin
    end;

Christian Seehase 30. Jan 2003 13:30

Moin Eleonora,

lustig, wo hast Du denn das gefunden?
Sieht irgendwie nach mir aus :mrgreen:
(und hier hab' ich das, glaub' ich, nicht gepostet gehabt)

Versuch's mal statt 'cookie:' mit 'visited:'.
Dann werden Dir die URLs ausgelesen.

Ausprobieren müsstest Du's dann selbst. Ich hab' zur Zeit keine URLs zu löschen.

eleonora 30. Jan 2003 13:51

Hallo Christian Seehase!

Den Code hat ein Arbeitskollege von mir gefunden. Keine Ahnung woher er den hat. Ich werde das jetzt grad mal ausprobieren und geb dann bescheid ob es geklappt hat oder nicht!!! :coder:

eleonora

eleonora 30. Jan 2003 14:00

Hallo Christian Seehase!

Das mit dem ersetzen durch visited hat nicht geklappt. Wenn ich es starte, dann stürzt mir das Programm beim Debuggen ab und ich kann das ganz Borland Programm schliessen und wieder neu starten.

Könnte es vielleicht daran liegen, daß meine URL bzw. jetzt visited in eine CheckListBox geladen werden? So hab ich das auch mit den Cookies gemacht, aber bei denen funktioniert es auch!!!

eleonora

Christian Seehase 30. Jan 2003 15:17

Moin Eleonora,

also hier mal der "Originalcode" von mir:
(die Ähnlichkeit ist verblüffend, gelle ;-) )

Ich hab' nur mal cookie: durch visited: ausgetauscht, gestartet, eine URL ausgesucht, gelöscht, geht.

Delphi-Quellcode:
procedure TForm1.Cookies1Click(Sender: TObject);

var
  icei    : PINTERNETCACHEENTRYINFO;
  dwSize  : DWord;
  hSearch : DWord;

begin
  CheckListBox1.Items.BeginUpdate;
  CheckListBox1.Items.Clear;
  dwSize := 65536;
  icei   := AllocMem(dwSize);
  try
    hSearch := FindFirstURLCacheEntry('visited:',icei^,dwSize);
    if hSearch = 0 then
    begin
      ShowMessage(SysErrorMessage(GetLastError)+' '+IntToStr(dwSize));
      exit;
    end;
    while hSearch <> 0 do
    begin
      Application.ProcessMessages;
      CheckListBox1.Items.Add(icei^.lpszSourceUrlName);
      dwSize := 65536;
      if not FindNextURLCacheEntry(hSearch,icei^,dwSize) then
      begin
        hSearch := 0;
      end;
    end;
  finally
    FreeMem(icei,65536);
    CheckListBox1.Items.EndUpdate;
  end;
end;


procedure TForm1.Lschen1Click(Sender: TObject);

var
  i : integer;

begin
  for i := 0 to CheckListBox1.Items.Count-1 do
  begin
    if CheckListBox1.Checked[i] then
    begin
      DeleteURLCacheEntry(PChar(CheckListBox1.Items[i]));
    end;
  end;
  Cookies1.Click;
end;

eleonora 31. Jan 2003 07:07

Hall Christian Seehase!!!

Erst mal vielen Dank für Deine Hilfe. Er macht das auch aber eigentlich ist das nicht das was ich löschen möchte. Ich möchte die URL's in der Adressleiste vom Internet Explorer löschen. Und das hat mit dem Code nicht geklappt!! Hast Du vielleicht ne andere Idee wie das funktioniert?

Danke!!!

eleonora

Daniel B 31. Jan 2003 10:32

Hallo eleonora,

muss es zur Laufzeit vom IE gehen oder auch nicht?
Diese URLs sind in der Registry auch aufgelistet, man könnte sie dort rauslesen, in eine ListBox o.ä. anzeigen und so die gewünschten löschen.
Ob ein Neustart des Rechners nötig ich, glaube! ich nciht. Allerdings darf der IE zu dem Zeitpunkt nicht aktiv sein, bzw. beim nächsten Start des IE sind dann auch die URLs weg.
Was ich noch nicht rauslesen konnte, soll das ganze irgendwo aufgelistet werden wo Du einzelne Löschen kannst, oder einfach den Verlauf leeren, oder einfach alle URLs aus der Adressleiste löschen?

Grüsse, Daniel :hi:

Luncustaf 31. Jan 2003 10:37

hi,

die url's sollen einfach gelöscht werden. so das die history/verlauf des ie leer ist -> also es soll das gleiche passieren wie wenn ich im ie unter -> extras/internetoptionen-> verlauf leeren <- klicke.


gr€€tz Luncustaf <- der neben eleonora sitzt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.
Seite 1 von 2  1 2      

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