Autor Beitrag
megaperlz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 53

Win95 Win98 Win2000 WinXP
D5
BeitragVerfasst: Mi 15.06.05 09:09 
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...

_________________
Nichts ist gelber als Geld selber.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 53

Win95 Win98 Win2000 WinXP
D5
BeitragVerfasst: 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...

_________________
Nichts ist gelber als Geld selber.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 vorbei.
megaperlz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 53

Win95 Win98 Win2000 WinXP
D5
BeitragVerfasst: 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

_________________
Nichts ist gelber als Geld selber.