AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

progressbar/dateien

Ein Thema von Heinziheinz · begonnen am 13. Apr 2011 · letzter Beitrag vom 15. Apr 2011
Thema geschlossen
Seite 2 von 4     12 34      
Heinziheinz

Registriert seit: 13. Apr 2011
28 Beiträge
 
#11

AW: progressbar/dateien

  Alt 14. Apr 2011, 00:52
1) wie genau xD
2) grad dabei
3) relativ einfach!!!????!!!! ich mach informatik seit m halben jahr iner schule... o.o das is nich relativ einfach...aber ich schaus mir mal an, ich versuchs mal zu verstehen
 
Heinziheinz

Registriert seit: 13. Apr 2011
28 Beiträge
 
#12

AW: progressbar/dateien

  Alt 14. Apr 2011, 01:15
okej i hab mir mal deinen code über die verschiedenen threads angeguckt. Stimmt so schwer ist es nicht den tread zu bauen, das schwierige ist es wohl in den thread das reinzu bekommen was man drin haben will...
und in meinem fall ist es diese doofe funktion die mir sagt wie viele dateien gefunden worden sind...
kanste mir da behilflich sein?
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: progressbar/dateien

  Alt 14. Apr 2011, 02:12
Bitte, bitte tue uns allen einen gefallen und versuche mal vernünftiges Deutsch zu schreiben und zwar inklusive Groß- und Kleinschreibung und Zeichensetzung.

Das Problem ist doch folgendes: Ohne zu wissen, wie viele Dateien es gibt, kannst du auch keinen Fortschritt anzeigen, da du die maximale Anzahl an Dateien nicht kennst. Wenn du dem Benutzer visualisieren willst, dass noch was passiert, kannst du einfach die Anzahl der gefundenen Dateien anzeigen. Oder du machst es wie ich in der Unit MpuDriveTools.pas (http://www.michael-puff.de/Programmierung/Delphi/Units/) und zählst zu erst nur die Verzeichnisse. Das geht relativ schnell, da meist bedeuten weniger Verzeichnisse existieren, wie Dateien. dann führst du Dateisuche durch und zählst die Verzeichnisse mit. Da du jetzt einen Maximalwert hast, kannst du eine prozentuale Fortschrittsanzeige steuern.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#14

AW: progressbar/dateien

  Alt 14. Apr 2011, 06:42
Man mag es kaum Glauben, aber die SuFu lebt noch.
FindAllFiles mit FortschrittFindAllFiles mit Fortschritt
Hier im Forum suchenDateisuche mit Fortschritt

http://www.delphipraxis.net/142669-f...iterative.html
http://www.delphipraxis.net/147309-p...dallfiles.html
http://www.delphipraxis.net/144461-d...-rekursiv.html
http://www.delphipraxis.net/76285-fo...estplatte.html

In dem Callback meiner Funktionen kann man die aktuellen Infos anzeigen.

PS:
- die Combobox ist beim Befüllen sehr langsam, da sie sich bei jedem neuen Eintrag aktualisiert
> Combobo.Items.BeginUpdate Delphi-Referenz durchsuchenBeginUpdate

- das Durchsuchen geht recht schnell und die Anzeige jeder einzelnen Datei (vorallem bei vielen Dateien) bremst die Suche sehr aus
> also nicht jedes einzelnes Verzeichnis oder gar jede Datei als Fortschritt anzeigen
so alle 100 bis 250 ms eine neue Anzeige ist vollkommen ausreichend, um dennoch flüssig zu wirken und nicht zu sehr zu Bremsen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
 
Heinziheinz

Registriert seit: 13. Apr 2011
28 Beiträge
 
#15

AW: progressbar/dateien

  Alt 14. Apr 2011, 09:27
oke vielen dank erstmal ich schau mir jez mal die gesamten Links an =)
 
Heinziheinz

Registriert seit: 13. Apr 2011
28 Beiträge
 
#16

AW: progressbar/dateien

  Alt 14. Apr 2011, 10:16
Luckie das was du da geschrieben hast ist genau das was ich brauche.
Das Ermitteln der Gesamtordner ist warscheinlich kein Problem, kriege ich nach n bischen Suche in Google raus. aber könnteste vielleicht mir beim 2ten teil helfen? Und zwar:
1) wie sage ich dem Programm, dass es die Ordner zälen soll in denen es drin war?
2) wie forme ich aus dem max Wert und der Anzahl der gefundenen Ordner eine Progressbar?
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

AW: progressbar/dateien

  Alt 14. Apr 2011, 10:59
1) Siehe mein Code
2) Prozentrechnung, sechste Klasse. Du hast den Maximalwert und du hast den Prozentwert. Daraus die Prozente zu errechnen sollte kein Problem sein. Dann den Maximalwert der Fortschrittsanzeige auf 100 setzen. Fertig. Oder du sparst dir die Umrechnung in Prozent, setzt den Maximalwert auf die Anzahl der Verzeichnisse und zählst einfach so mit.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#18

AW: progressbar/dateien

  Alt 14. Apr 2011, 11:13
Für eine reine Dateisuche ist eine ProgressBar vollkommen kontraproduktiv.

Dafür müßter man ja erstmal alles durchsuchen und zählen, damit man den Max-Wert der ProgressBar rausbekommt.
Und dann soll man nocheinmal suchen?

Der erste Suchdurchlauf wird oftmals länger dauern, da beim zweiten Durchlauf die Verzeichnisse schon in der WindowsFileCache vorgeladen sind.
Somit dauert das Zählen wesentlich länger, als der eigentliche Suchdurchlauf und insgesammt dauern 2 Durchläufe auch noch länger.

Eine ProgressBar im Marquee-Style und die Anzeige des aktuellen Verzeichnisses sind also vollkommen ausreichend und auch noch am Schnellsten.
(abgesen davon, wenn man garkeinen Fortschritt anzeigt)


Wenn man nun noch lengere Verarbeitungen bei jeder Datei macht, also wärend der suche und im selben Thread, dann wäre das vorherige Zählen und eine prozentartige Fortschrittsanzeige sinnvoll.

PS: Wenn man eine gesamte Partition durchsucht (oder eine andere Speichereinheit, wo man die Größe der gesamt enthaltenen Dateien direkt kennt), dann kann man eine Fortschrittsanzeige über die Dateigrößen vornehmen. (Max = alle Dateien zusammen und aktuelle Position = Größe der bereits verarbeiteten Dateien + Offset für die Cluster/Sektoren)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
 
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#19

AW: progressbar/dateien

  Alt 14. Apr 2011, 11:21
Ich hänge hier einfach nochmal mein FileScanner-Demo rein.
Dieses Demo zeigt, wie man ohne Thread dafür aber mit einem Event Verzeichnisse durchsuchen kann.
Es ist objekt-orientiert, wiederverwendbar und dennoch schnell.
Die Suche lässt sich jederzeit unterbrechen (die meisten Codeschnipsel mit FindFirst, FindNext können das nicht).
Die FileScanner-Klasse liefert die Informationen zu Verzeichnissen und Dateien Delphi-like aufbereitet (quasi auf dem Silbertablett), dass der Benutzer der Klasse kaum noch was zu tun braucht.
Angehängte Dateien
Dateityp: zip FileScannerDemoSource.zip (5,3 KB, 27x aufgerufen)
Dateityp: zip FileScannerDemoExe.zip (194,5 KB, 20x aufgerufen)
Andreas
 
Heinziheinz

Registriert seit: 13. Apr 2011
28 Beiträge
 
#20

AW: progressbar/dateien

  Alt 14. Apr 2011, 11:26
du bist hammer =) genau das was ich gesucht habe vielen lieben dank jez noch ein wenig umändern 2/3 sahcen einfügen und feddig ist...dankeeeee
 
Thema geschlossen
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 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