Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Progressbar beim Dateikopieren.... (https://www.delphipraxis.net/44757-progressbar-beim-dateikopieren.html)

Killerloop 24. Apr 2005 11:16


Progressbar beim Dateikopieren....
 
Hallo !

Kurze Vorgeschichte: Ich habe eine MP3 Player mit 220 MB Speicher und mir aus'm Webradio dafür einige GB MP3s gesaut. Jetzt hab ich mir eine kleines Programm geschrieben welches mein MP3 Verzeichniss auf der Platte scannt und mir 200 MB zufälliger MP3s (oder auch 250 MB oder nur 64 MB , ist einstellbar) auf meinen MP3 Player kopiert. Jetzt zum Problem: Ich möchte eine aussagekräftige Progressbar im Programm haben wo ich ablesen kann mit vieviel KB/s er kopiert und wie lange es in etwa noch dauern wird. Hat jemand nen Tip wie man an dieses Problem herangehen könnte ?

SirThornberry 24. Apr 2005 11:20

Re: Progressbar beim Dateikopieren....
 
dazu müsste man wissen wie du es derzeit kopbierst? benutzt du die Kopierfunktion von windows oder legst du die datei manuell an (z.B.: mit TFileStream) und schreibst dann da rein? Wenn du die Datei zu Fuß kopierst (z.B.: TFileStream.ReadBuffer / TFileStream.WriteBuffer) weißt du ja wieviel Byte du kopierst und kannst dementsprechend auch berechnen wielange du noch für die restlichen Byte benötigst.

Luckie 24. Apr 2005 11:26

Re: Progressbar beim Dateikopieren....
 
Entweder MSDN-Library durchsuchenCopyFileEx oder wenn du Streams benutzt kannst du den StreamProgressAdapter von meiner Seite benutzen. Findest du alles auf meiner Seite, den Adapter und ein Beispiel zu CopyFileEx.

Killerloop 24. Apr 2005 11:34

Re: Progressbar beim Dateikopieren....
 
Das ganze funktioniert ziemlich einfach: Ich gebe ein es sollen 100 MB Mp3s kopiert werden. jetzt sucht er zufällige MP3s raus und und kopiert die mit diesem befehl:

Delphi-Quellcode:
Copyfile ((pchar(datei)),(pchar(selectdir.directory+'\'+ExtractFileName(datei))),false);
bevor eir eine Datei kopieert vird gecheckt ob der auch nicht über die 100 MB kommt. Wenn die datei zu groß ist sucht er eine andere und versucht es nochmal. Sollte die auch zu gross sein dann versucht er noch eine andere. Nach ca 50 versuchen gibt er auch. So wichtig ist es dann doch nicht das der MP3 Stick bis zum letzten MB voll wird.

Ich weiss, alles ziemlich Anfängermässig, aber mir ist nichts eleganteres eingefallen...

Khabarakh 24. Apr 2005 11:43

Re: Progressbar beim Dateikopieren....
 
Luckie hat dir doch schon im Voraus geantwortet :wink: :
Zitat:

Zitat von Luckie



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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