Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Welche Funktion nutzen fuer schnelles Dateikopieren? (https://www.delphipraxis.net/118443-welche-funktion-nutzen-fuer-schnelles-dateikopieren.html)

Mackhack 7. Aug 2008 22:42


Welche Funktion nutzen fuer schnelles Dateikopieren?
 
Hallo DPler,

welche Funktion liefert das beste Zeitverhalten fuer das Kopieren von Files? Ich muesste fuer einen Test ein kleines Programm schreiben das bis zu 2 GB an Dateien inkl. Ordnern kopiert a la xcopy /s.

Danke!

alleinherrscher 7. Aug 2008 22:54

Re: Welche Funktion nutzen fuer schnelles Dateikopieren?
 
Kannst du nicht einfach "Copyfile" verwenden? Damit wird das Kopieren direkt von Windows übernommen. Ich hab das mal rekursiv in zusammenhang mit findfirst->findnext gemacht.

Und zwar:

Wird per Findnext eine Datei gefunden, wird diese mit Copyfile kopiert,
Wird per Findnext ein Ordner gefunden, wird die Procedure mit dem neuen Ordnernamen erneut gestartet

Am schnellsten wäre aber doch immer noch, wenn du einfach xcopy /s per shellexecute aufrufst oder?

Grüße

Zacherl 7. Aug 2008 23:22

Re: Welche Funktion nutzen fuer schnelles Dateikopieren?
 
Nene per Shell und über xcopy ist ja Blödsinn. Die Methode mit dem rekursiven Findnext mit einem anschließendem CopyFile ist schon recht geeignet würde ich sagen.

Mackhack 7. Aug 2008 23:35

Re: Welche Funktion nutzen fuer schnelles Dateikopieren?
 
Dann werd ich es so machen mit CopyFile.

Thanatos81 7. Aug 2008 23:39

Re: Welche Funktion nutzen fuer schnelles Dateikopieren?
 
Also ich würde nicht rekursiv suchen und mit CopyFile loslegen. Meiner Erfahrung nach ist SHFileOperation immer noch performanter. Mehr Infos dazu gibts von sakura hier und von mirage228hier ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 Uhr.

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