FreePascalArchivePackage und Progressbar
FreePascalArchivePackage und Progressbar
Hallo,
ich benutze zum entpacken von Zip-Dateien die FreePascalArchivePackage. Das Entpacken funktioniert soweit damit ganz gut. Nur hätte ich gerne eine Anzeige in einer Progressbar über den Fortschritt. Stehe da jetzt etwas auf dem Schlauch und weiss nicht wie ich die einbinden soll. Kann mir da jemand weiterhelfen ?
Danke
ich benutze zum entpacken von Zip-Dateien die FreePascalArchivePackage. Das Entpacken funktioniert soweit damit ganz gut. Nur hätte ich gerne eine Anzeige in einer Progressbar über den Fortschritt. Stehe da jetzt etwas auf dem Schlauch und weiss nicht wie ich die einbinden soll. Kann mir da jemand weiterhelfen ?
Danke
Re: FreePascalArchivePackage und Progressbar
Das geht mit Bordmitteln (ohne extra Package) so:
Code: Alles auswählen
uses zipper;
...
procedure TForm1.Button1Click(Sender: TObject);
var
root: string;
UnZipper: TUnZipper;
begin
if OpenDialog1.Execute then
begin
Root := extractfilepath(openDialog1.FileName);
UnZipper := TUnZipper.Create;
UnZipper.OnProgress := @UnZipperProgress;
UNzipper.OutputPath := Root;
UnZipper.FileName := openDialog1.FileName;
Unzipper.UnZipAllFiles;
UnZipper.Free;
end;
end;
procedure TForm1.UnZipperProgress(Sender: TObject; const Pct: double);
begin
writeln(pct);
end;
Re: FreePascalArchivePackage und Progressbar
Danke für die schnelle Hilfe. Habe ich sofort getestet aber es funktioniert nicht. "TForm1.UnZipperProgress" kennt er nicht.
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: FreePascalArchivePackage und Progressbar
procedure UnZipperProgress(Sender: TObject; const Pct: double);
hast du aber schon deklariert?
(da wo auch dein button1.click ist)
weil "kennen" sollte das Programm es schon:
http://www.freepascal.org/docs-html/fcl ... gress.html
btw. "nicht kennen" ist äußerst schwammig,es wird doch eine Fehlermeldung angezeigt.
Die wäre schon hilfreich.
hast du aber schon deklariert?
(da wo auch dein button1.click ist)
weil "kennen" sollte das Programm es schon:
http://www.freepascal.org/docs-html/fcl ... gress.html
btw. "nicht kennen" ist äußerst schwammig,es wird doch eine Fehlermeldung angezeigt.
Die wäre schon hilfreich.
Re: FreePascalArchivePackage und Progressbar
Ja habe den Code so wie von Theo übernommen. Beim Compilieren markiert er mir die Zeile:
"UnZipper.OnProgress := @UnZipperProgress;" und macht nicht weiter ?
"UnZipper.OnProgress := @UnZipperProgress;" und macht nicht weiter ?
Re: FreePascalArchivePackage und Progressbar
Er gibt diese Fehlermeldung aus: unit1.pas(44,45) Error: Identifier not found "UnZipperProgress"
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: FreePascalArchivePackage und Progressbar
Das bedeutet;creed steiger hat geschrieben:procedure UnZipperProgress(Sender: TObject; const Pct: double);...hast du aber schon deklariert?
Code: Alles auswählen
type
TForm1=class(TForm)
...
private
procedure UnZipperProgress(Sender: TObject; const Pct: double); //erst damit ist diese Prozedur eine Methode der Klasse TForm1
public
end;
procedure TForm1.UnZipperProgress(Sender: TObject; const Pct: double);
...
Re: FreePascalArchivePackage und Progressbar
Ein paar Grundlagen in Objektorientierter Programmierung wären vielleicht ganz hilfreich:
http://www.delphi-treff.de/tutorials/ob ... ammierung/
http://www.delphi-treff.de/tutorials/ob ... ammierung/
Re: FreePascalArchivePackage und Progressbar
Danke jetzt bekomme ich es compiliert. Dafür bleibt die Progressbar beim entpacken stumm !
Re: FreePascalArchivePackage und Progressbar
Tja, schade! Ohne anständige Gefechtsmeldung kann man dazu leider gar nichts sagen.oldman2 hat geschrieben:Danke jetzt bekomme ich es compiliert. Dafür bleibt die Progressbar beim entpacken stumm !
Re: FreePascalArchivePackage und Progressbar
Diesmal kam ja keine Fehlermeldung. Exe erzeugt, Zipdatei geöffnet, Zip wird entpackt. Aber Progressbar zeigt nichts an. Woher weiss das Programm eigentlich das es die Progressbar1 nutzen soll ? Muss ich da noch eine zuweisung machen ?
Re: FreePascalArchivePackage und Progressbar
oldman2 hat geschrieben:Woher weiss das Programm eigentlich das es die Progressbar1 nutzen soll ? Muss ich da noch eine zuweisung machen ?

Ist das dein Ernst? Natürlich musst du die Position Eigenschaft des Progressbar setzen.
http://lazarus-ccr.sourceforge.net/docs ... ssbar.html
Re: FreePascalArchivePackage und Progressbar
Habe ich mir schon gedacht. Weiss nur nicht was ich bei Position und Max eintragen soll ? Bin halt ein blutiger Anfänger.
Danke für die Hilfe und die vielen Antworten.
Danke für die Hilfe und die vielen Antworten.
Re: FreePascalArchivePackage und Progressbar
Versuch doch mal dein eigenes Köpfchen zu gebrauchen, statt hier eine Schritt-für-Schritt-Anleitung zu verlangen.oldman2 hat geschrieben:Weiss nur nicht was ich bei Position und Max eintragen soll ? Bin halt ein blutiger Anfänger.
UnZipperProgress hat einen Parameter Pct. Was heisst das wohl? Wozu ist der gut?
Ich "weiss" das auch nicht, aber der scheint doch sehr verlockend.
Wenn du damit nichts anfangen kannst, dann mach erst ein paar Tutorials durch, um etwas Sicherheit zu gewinnen.
z.B. hier http://www.delphi-treff.de/tutorials