![]() |
Re: Markierte Checklistbox Einträge kopieren
Liste der Anhänge anzeigen (Anzahl: 1)
Aha...
Den Pfad der Dateien weiss ich ja, mal der Cookie-Ordner und der InternetCache-Ordner. Aber das Prob ist ja wegen den Anmeldenamen, die sind in den 2 Pfaden ja immer anders. Naja, vielen Dank für die Müh, hoffe dieses ElPack ist jetzt raus, hab Kompo runnergeworfen, war eh ne Demo. |
Re: Markierte Checklistbox Einträge kopieren
Hi,
dein Problem liegt darin, dass du den Name, der in der CheckListBox steht als Quelle nimmst. Aber die Quelle ist ja ganz anders. Ich hab hierzu eine kleine Hilfsfunktion geschrieben. Diese sucht anhand des Namens in der CheckListBox nach dem Pfad inklusive Dateiname des Cookies:
Code:
Den Kopiervorgang startest du nun mit folgendem Befehl:
// "Dateiname" ist der Name in der CheckListBox
function FindeItem(Dateiname: PAnsiChar): PAnsiChar; var icei : PINTERNETCACHEENTRYINFO; dwSize : DWord; hSearch : DWord; begin dwSize := 65536; icei := AllocMem(dwSize); try hSearch := FindFirstURLCacheEntry(Dateiname,icei^,dwSize); if hSearch = 0 then begin ShowMessage(SysErrorMessage(GetLastError)+' '+IntToStr(dwSize)); exit; end; if hSearch <> 0 then begin result := icei^.lpszLocalFileName; end; finally FreeMem(icei,65536); end; end;
Code:
Eigentlich ist es ineffizient FindeItem 2x aufzurufen. Ich hab aber versucht den result in ner Variable zu speichern und da hat mir ExtractFileName nur den Anfang des Namens kopiert (kann daran liegen, dass mein Windows-Benutzername aus 2 Wörtern besteht).
CopyFile(FindeItem(PChar(Form1.CheckListBox1.Items[i])), PChar(Pfad + ExtractFileName(FindeItem(PChar(Form1.CheckListBox1.Items[i])))), true);
Ich hoffe das hilft dir weiter. Auf jeden Fall sollte es so funktionieren. mfG Niels :thuimb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 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