Autor Beitrag
Murmel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79

xp
d6,d7
BeitragVerfasst: Mi 22.01.03 14:08 
wie kann ich cookies löschen?
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 22.01.03 16:05 
Ist das eine Delphifrage?
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 22.01.03 17:27 
du willst doch bestimmt wissen, wie du mit deinem Delphi Prog die cookies löschen kanst oder ??

Wenn ja: dann drück dich doch bitte da nächste mal besser aus !!

_________________
In the beginning was the word.
And the word was content-type: text/plain.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 22.01.03 20:22 
Warum beantwortet ihr nicht einfach die Frage unter beiden Aspekten.

1. Es ist keine Delphi-Frage, dann: Kekse muss man nicht löschen; Kekse brennen normalerweise nicht.

2. Es ist eine Delphi-Frage, dann sind wahrscheinlich die IE-Cookies gemeint? In dem Fall teilt sich die Frage wieder auf:

a) du hast den IE6: es ist kein Delphi-Programm nötig
b) du hast den IE6 nicht: du schreibst ein Programm, das den Cache einliest respektive löscht (FindFirstURLCacheEntry, und Co.; zu Typen usw. s. PSDK) und dann evtl. noch den Cookies-Ordner löscht. Bei letzterem aber die Datei "index.dat" in Ruhe lassen. Typischerweise haben IE-Cookies die Endung ".txt", so dass man mit FindFirst/FindNext recht einfach arbeiten kann.
littlemike1005
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187



BeitragVerfasst: Mi 22.01.03 21:45 
den code habe ich auch mal irgendwann irgendwo gefunden.

du brauchst: - checklistbox1
- button1
- button2

auf deinem form.



ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst,wininet;



type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    CheckListBox1: TCheckListBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  icei     : PINTERNETCACHEENTRYINFO;
  dwSize   : DWord;
  hSearch  : DWord;
begin
  CheckListBox1.Items.BeginUpdate;
  CheckListBox1.Items.Clear;
  dwSize  := 65536;
  icei    := AllocMem(dwSize);
  try
    hSearch := FindFirstURLCacheEntry('cookie:',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.Button2Click(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;
  Button1.Click;

end;

end.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 23.01.03 10:18 
Na ja, da es sich hier um ein Delphi-Forum handelt braucht mann sich die Frage ob es sich um eine Delphifrage handelt eingentlich nicht stellen.

Gruß
TINO
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 23.01.03 10:53 
@littlemike1005: Kracht es nicht bei der Schleife zum Löschen?
Du läßt die Schleife laufen von 0 bis Count-1. Das ist sagen wir 0 bis 9. Dann löscht du einen Eintrag. Es sind nur noch 9 Einträge da, aber die Schleife will bis zur ursprünglichen Anzahl laufen und das sind 10.

Besser wäre:
ausblenden Quelltext
1:
for i := ChechListbox1.Items.Count-1 downto 0					


Jetzt fängt er von Hinten an und wenn er jetzt einen Item rauslöscht sollte nicht passieren.
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Do 23.01.03 11:39 
Hallo!

Luckie hat folgendes geschrieben:
@littlemike1005: Kracht es nicht bei der Schleife zum Löschen?

Leider weiß ich nicht, was "DeleteURLCacheEntry" genau ist (bei Delphi 5 Standard ist es nicht deklariert), vom Aufruf her (Pchar) handelt es sich aber um eine Windows-API-Funktion. Die löscht (von der Fragestellung her gesehen) wohl eine Datei im IE-Cache, aber mit Sicherheit nicht den Eintrag in der CheckListBox, so daß die Anzahl der Einträge darin konstant bleibt.
Zugegebenermaßen ist es ein häufiger Fehler, in einer Delphi-Liste die Einträge von 0 bis Anzahl-1 zu löschen. Dann sollte man aus Performancegründen von hinten löschen, kann aber auch solange das erste Element löschen, bis die Liste leer ist.

Gruß

Dietmar Brüggendiek
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 23.01.03 11:43 
Stimmt, habe ich übersehen. Da wird ja gar kein Eintrag gelöscht. Ich habe nur for 0 to Count-1 und Delete... gesehen und da haben bei mir gleich die Alarmglöckchen geschrillt. :roll:
littlemike1005
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187



BeitragVerfasst: Do 23.01.03 15:16 
@Luckie wie du siehst kracht es nicht. habe den code übernommen und er funzt.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 23.01.03 16:09 
Tino hat folgendes geschrieben:
Na ja, da es sich hier um ein Delphi-Forum handelt braucht mann sich die Frage ob es sich um eine Delphifrage handelt eingentlich nicht stellen.


Nun ja, es gibt ja auch sowas wie OffTopic Fragen. Da ich dafür keine fertige Antwort habe, d.h. ich müßte etwas neues schreiben, hätte ich vorher gerne gewust ob ich die 20 Minuten nicht umsonst investiere.

Eine kleine Rückfrage darf doch erlaubt sein.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 23.01.03 16:39 
Popov hat folgendes geschrieben:
Eine kleine Rückfrage darf doch erlaubt sein.

Natürlich!!! :D
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 23.01.03 17:42 
littlemike1005 hat folgendes geschrieben:
@Luckie wie du siehst kracht es nicht. habe den code übernommen und er funzt.

Ich sagte doch, dass ich was übersehen, habe, dass keien Items gelöscht werden.