Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Progressbar: Welcher Wert eignet sich hier? (https://www.delphipraxis.net/39227-progressbar-welcher-wert-eignet-sich-hier.html)

Gina 30. Jan 2005 17:49


Progressbar: Welcher Wert eignet sich hier?
 
Hallochen,

irgendwie bin ich gerade etwas leergebrannt und bitte Euch um einen kleinen Denkanstoß... ;)

In meinem Programm werden unter anderem Dateien mit WinRar gepackt. Der Aufruf erfolgt fogendermaßen:
http://www.delphipraxis.net/internal...=311071#311071

Nun suche ich einen geeigneten Wert, den ich für meine Progressbar benutzen kann. Liefert eventuell ShellExecute was brauchbares? (in meiner DelphiHilfe ist dazu leider nix drin). Was könnte ich sonst noch nehmen? Dateigröße wäre vielleicht ne Möglichkeit, doch woher weiß ich, an welcher Stelle WinRar gerade ist?

Bin für jeden Hinweis sehr dankbar... ;)

Liebe Grüße, Gina.

richard_boderich 30. Jan 2005 18:10

Re: Progressbar: Welcher Wert eignet sich hier?
 
hi gina,

wenn ich das richtig verstanden hab. nutzt du zum packen das winrar programm und startest
das ganze mit shellexecute und uebergibst dort die parameter. (korrigier mich wenn ich das falsch sehe)

shellexecute wir dir da denke ich nicht helfen. damit startet ja nur der packprozess.
damit du einen progressbar sinnvoll ansprechen kannst benoetigst du von winrar,
ja einen rueckgabewert der die aktuelle dateiposition bzw. den fortschritt in prozent
als paremeter zurueckgibt. ich weis leider nicht ob winrar dies unterstuezt. eventuell
kanst du mal bei google suchen oder nimm ne packerkomponente

Gina 30. Jan 2005 18:47

Re: Progressbar: Welcher Wert eignet sich hier?
 
Hmm... Das hatte ich mir schon fast gedacht. Den Rückgabewert kenne ich leider auch nicht und hab bisher auch noch nix dazu gefunden. Gibt es evtl. noch eine andere Form des Aufrufs der Winrar.exe, die mir einen Wert liefern würde?

Eine Packkomponente kann ich leider nicht benutzen, da es kommerziell genutzt wird...

Danke, Gina.

stromer 17. Mär 2005 10:49

Re: Progressbar: Welcher Wert eignet sich hier?
 
also ich bin mir fast sicher das winrar seine infos nicht gern teilt, könntest du nicht einfach dateigrösse und cpu geschwindigkeit durch nen kleinen algoryhtmus laufen lassen und dann eine durchschnittswert ausgeben, an dem sich dann die progressbar orientiert?

Blechwolf 17. Mär 2005 11:46

Re: Progressbar: Welcher Wert eignet sich hier?
 
Zitat:

Zitat von stromer
also ich bin mir fast sicher das winrar seine infos nicht gern teilt, könntest du nicht einfach dateigrösse und cpu geschwindigkeit durch nen kleinen algoryhtmus laufen lassen und dann eine durchschnittswert ausgeben, an dem sich dann die progressbar orientiert?

Um dann irgendwann bei 110% zu landen oder bei 50% die Progress-Bar abzubrechen? Herzlichen Glückwunsch. Ich als Nutzer käme mir dabei ziemlich veralbert vor. Vorher weiss ich denn, ob der Vorgang dann wirklich abgeschlossen ist?
Es gibt auf der
WinRAR eine Komponente für UnRAR zum download. Freeware für kommerzielle und nicht-kommerzielle Nutzung. Aber Du willst ja packen und nicht entpacken.
Muss es denn unbedingt RAR sein? Wenn nicht, dann gibt es die Unit ZLib, mit der Klasse TCompressionStream, die (afaik) ein ZIP-Kompatibles Archiv erzeugt.

Grüße

Wolf

Gina 17. Mär 2005 19:11

Re: Progressbar: Welcher Wert eignet sich hier?
 
Hallochen...

inzwischen habe ich mich entschieden, nicht die rar.exe, sondern die winrar.exe aufzurufen. Die hat zwar nicht ganz so viele Optionen, aber die vorhandenen reichen für mich. Damit habe ich die originale Fortschrittsanzeige incl. Teil- und Gesamtfortschritt und der Abbruchknopf ist auch schon bei ;) Die Fehlermeldungen kann man bei einer registrierten Version unterdrücken und ich habe endlich auch die Returncodes auslesen können, so dass ich die Fehlermeldungen selbst nach Wunsch ausgeben bzw. auswerten kann.

Ich danke Euch ganz doll für Eure Hilfe und falls doch noch jemandem was passendes zur rar.exe einfallen sollte bin ich immer dran interessiert;)

Liebe Grüße, Gina.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz