| Autor |
Beitrag |
Murmel
      
Beiträge: 79
xp
d6,d7
|
Verfasst: Mi 22.01.03 14:08
wie kann ich cookies löschen?
|
|
Popov
Gast
Erhaltene Danke: 1
|
Verfasst: Mi 22.01.03 16:05
Ist das eine Delphifrage?
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: 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
|
Verfasst: 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
      
Beiträge: 187
|
Verfasst: Mi 22.01.03 21:45
den code habe ich auch mal irgendwann irgendwo gefunden.
du brauchst: - checklistbox1
- button1
- button2
auf deinem form.
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
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: 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
|
Verfasst: 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:
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
      
Beiträge: 304
Win 98, Win98SE, Win XP Home
D5 Std
|
Verfasst: 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
|
Verfasst: 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. 
|
|
littlemike1005
      
Beiträge: 187
|
Verfasst: 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
|
Verfasst: 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
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 23.01.03 16:39
| Popov hat folgendes geschrieben: | | Eine kleine Rückfrage darf doch erlaubt sein. |
Natürlich!!! 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
|
|