P
prosto4ok
Как отобразить на ProgressBar процесс загрузки файла?
нашел код, пробую но ругаеться на
вот код
перед IDHTP.Get(...)
поставил
на него и ругаеться
помогите плизз
нашел код, пробую но ругаеться на
Код:
IDHTP.OnWorkBegin := WorkBegin;
IDHTP.OnWorkEnd := WorkEnd;
IDHTP.OnWork := Work;
вот код
Код:
private
FWorkCount: Integer;
FWorkCountMax: Integer;
public
procedure WorkBegin(ASender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer);
procedure WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
procedure Work(ASender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
end;
function ConvertBytes(Bytes: Integer): String;
begin
if Bytes div 1024 < 1 then Result := FormatFloat('0.00 "Byte"', Bytes);
if Bytes div 1024 >= 1 then Result := FormatFloat('0 "KB"', Bytes/1024);
if Bytes div 1024 >= 1024 then Result := FormatFloat('0.00 "MB"', Bytes/1048576);
if Bytes div 734003200 >= 1 then Result := FormatFloat('0.00 "GB"', Bytes/1073741824);
end;
procedure TForm1.WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
FWorkCount := 0;
FWorkCountMax := AWorkCountMax;
ProgressBar.Position := 0;
InfoLabel.Caption := Format('Размер: %s/%s',
[ConvertBytes(FWorkCount), ConvertBytes(FWorkCountMax)]);
end;
procedure TForm1.WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
InfoLabel.Caption := 'Завершение загрузки';
end;
procedure TForm1.Work(ASender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
FWorkCount := AWorkCount;
ProgressBar.Position := FWorkCount * 100 div FWorkCountMax;
InfoLabel.Caption := Format('Размер: %s/%s',
[ConvertBytes(FWorkCount), ConvertBytes(FWorkCountMax)]);
end;
перед IDHTP.Get(...)
поставил
Код:
IDHTP.OnWorkBegin := WorkBegin;
IDHTP.OnWorkEnd := WorkEnd;
IDHTP.OnWork := Work;
помогите плизз