Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - SHFileOperation & progress bar
megaperlz - Mi 15.06.05 09:09
Titel: SHFileOperation & progress bar
Der Titel sagt eigentlich schon alles.
Gibt es eine Möglichkeit bei einer SHFileOperation, in meinem Fall kopieren eines Ordners (mit ca 10000 Files) das irgendwie mit einer Progress Bar zu verknüpfen? Damit nicht das Programm beim kopieren einfach 2-3 minuten einfriert??
Mfg mega...
jasocul - Mi 15.06.05 09:12
Mit einer ProgressBar wird das nicht besser.
Entweder baust du zwischen jeder Datei ein Application.ProcessMessages ein oder machst das ganze in einem Thread.
megaperlz - Mi 15.06.05 09:15
Ok vielleicht hab ich mich unklar ausgedrückt.
Ich will nur erreichen das der User nicht das Gefühl bekommt "hier passiert nix mehr" sondern er soll das Programm arbeiten sehen :-)
Hast vielleicht nen link zum Thema Thread´s bin in Delphi noch nicht so bewandert...
Delete - Mi 15.06.05 09:23
Du benutzt doch schon die API SHFileOperation, da wird doch automatisch eine Fortschrittsanzeige angezeigt, wenn man sie nicht selber bewußt 'abschaltet'.
jasocul - Mi 15.06.05 09:24
Wenn er für 10.000 Dateien 2-3 Minuten benötigt und es nur um die Darstellung für den Benutzer geht, sind Threads übertrieben.
Wenn du die (ungefähre) Anzahl der Dateien kennst, kannst du eine ProgressBar benutzen. Du musst nur den Max-Wert richtig setzen und nach jeder Datei das StepIt der ProgressBar aufrufen. Vergiss nicht dann auch ein Application.ProcessMessages zu machen, damit die Veränderung auch sichtbar wird.
Für Threads guckst du bei
Luckie's Homepage [
http://www.luckie-online.de/developer/Delphi/Tutorials/] vorbei.
megaperlz - Mi 15.06.05 09:49
@luckie: Hast recht ich hatte nur den SILENCE flag gesetzt...
Gibts den eine Möglichkeit das "Kopieren" Fenster zu beeinflussen? Z.b. die Position, damit es ned irgendwo erscheint sondern möglichst auf meinem Programm?
Und wie kann ich abfragen ob der Kopiervorgang durchgelaufen ist oder ob der Benutzer auf abbrechen gegangen ist?
Edit: Ok das hab ich selbst hinbekommen, der Abbruch ist leicht abzufangen:
Hier gibts die Erklärung [
http://delphi.cartall.com.pl/Pytania/pyt75.htm]
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!