Ja, siehe oben.
Zum Hochladen letztendlich nur
Antwort := IdHTTP.Post('Dateiname');
und das OnWork:
Delphi-Quellcode:
procedure TUploadForm.IdHTTPWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
begin
UDateiA_A := AWorkCount;
UDateiG_A := UDateiA_A + UDateiG_X;
If ((UDateiA_A Mod 100) = 0) then
begin
AStatusBar.position := Round(UDateiA_A / UDateiA_M * 100);
GStatusBar.position := Round(UDateiG_A / UDateiG_M * 100);
Caption := Format('Upload [%d%%]', [Round(UDateiA_A / UDateiA_M * 100)]);
Application.ProcessMessages;
end;
end;
(Die StatusBar und Variablen mit G sind für den Gesamtstatus, da mehrere hochgeladen werden können)
Ich habe auch schon ohne die Modulo-Beschränkung probiert, aber da ändert sich nichts (außer dass im
localhost-Betrieb die CPU-Auslastung in die Höhe schnellt).
Abgesehen von den Statusbars wird auch der Rest (ein Timer, ein Button etc.) aufgehalten.