Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Markierte Checklistbox Einträge kopieren (https://www.delphipraxis.net/25500-markierte-checklistbox-eintraege-kopieren.html)

sui 7. Jul 2004 19:59

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.

Niels 8. Jul 2004 21:42

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:
// "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;
Den Kopiervorgang startest du nun mit folgendem Befehl:

Code:
CopyFile(FindeItem(PChar(Form1.CheckListBox1.Items[i])), PChar(Pfad + ExtractFileName(FindeItem(PChar(Form1.CheckListBox1.Items[i])))), true);
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).

Ich hoffe das hilft dir weiter. Auf jeden Fall sollte es so funktionieren.


mfG Niels :thuimb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz