Entwickler-Ecke
Internet / Netzwerk - Beim FTP-Upload anzeigen, wieviel KB hochgel. wurde
hitmiccs - Mo 05.01.09 09:49
Titel: Beim FTP-Upload anzeigen, wieviel KB hochgel. wurde
Guten Morgen.
Ich wollte folgendes realisieren - mit folgendem Code (Beispiel) lade ich eine Datei auf meinen FTP-Server:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.Button1Click(Sender: TObject); begin FTP1.Connect; FTP1.Put('C:\irgendeinedatei.avi','irgendeinedatei.avi',false); FTP1.Disconnect; end;
procedure TForm1.FTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Integer); begin Application.ProcessMessages; ProgressBar1.Position:=0; ProgressBar1.Max:=AWorkCountMax; end;
procedure TForm1.FTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer); begin Application.ProcessMessages; ProgressBar1.Position:=AWorkCount; end;
procedure TForm1.FTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); begin ProgressBar1.Max := 100; end; |
Nun hätte ich gerne während des Uploads angezeigt, wieviel von der Datei schon hochgeladen wurde - wenn möglich in KB. Eine Idee hätte ich schon, die Größe der auf dem Server existierenden Datei dauernd mit der auf meinem PC zu vergleichen während des Uploads. Aber wie realisiere ich das? Scheinbar haben zu wenige es, hier und in anderen Delphi-Foren, bisher versucht - denn jede Suche blieb bislang erfolglos :(
Danke und Grüße,
hitmiccs
Delete - Mo 05.01.09 12:05
Steht das nicht in AWorkCount?
jfheins - Mo 05.01.09 12:09
Ja, tut es.
Bei mittleren und großen Dateien ist AWorkCount die Anzahl an Bytes, die bereits hochgeladen wurden ;)
(Bei kleinen Dateien wird die Datei ohne Zwischenschritte hochgeladen)
Delete - Mo 05.01.09 12:21
Mir war doch so *g*. Dann muss man ja nur umrechnen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.FTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer); begin Application.ProcessMessages; ProgressBar1.Position:=AWorkCount; lblProgress.Caption := Format('%.2f von %.2f kB',[AWorkCount / 1024, ProgressBar1.Max / 1024]); end; |
hitmiccs - Di 06.01.09 05:08
Vielen Dank, es funktioniert.
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!