Autor Beitrag
hitmiccs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Mo 05.01.09 09:49 
Guten Morgen.

Ich wollte folgendes realisieren - mit folgendem Code (Beispiel) lade ich eine Datei auf meinen FTP-Server:

ausblenden 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
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.01.09 12:05 
Steht das nicht in AWorkCount?
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: 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)
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.01.09 12:21 
Mir war doch so *g*. Dann muss man ja nur umrechnen:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Di 06.01.09 05:08 
Vielen Dank, es funktioniert.