Delphi 使用idhttp下載顯示進度列及檔案大小

downloadwithprocessbar

在更新程式時,需要知道目前下載到多少百分比及大小怎麼做?

在Delphi使用idhttp及IdAntiFreeze(防止程式看起來當掉)二個元件就可以做得到。順便列下關鍵程式碼

[pascal]
procedure TForm1.BtnDownloadClick(Sender: TObject);
var
tStream: TMemoryStream;
begin
tStream := TMemoryStream.Create;
try
IdHTTP1.Get(EdtSource.Text, tStream);
tStream.SaveToFile(EdtTarget.Text);
ShowMessage(‘Download Success!’);
except
ShowMessage(‘Download Fail!’);
end;
tStream.Free;
end;

procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
begin
Label1.Caption := BytesToStr(aWorkCount);
ProgressBar1.Position := aWorkCount;
Update;
end;

procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Int64);
begin
ProgressBar1.Max := aWorkCountMax; // Set File total size
Label2.Caption := BytesToStr(aWorkCountMax);
Update;
end;

[/pascal]

Github原始碼下載 : https://github.com/superlevin/downloadwithprocessbar

Line免費貼圖下載!(含快速下載連結)

馬上點連結下載
7/24為「熊大&兔兔(約會篇)」line://shop/detail/1036

7/25為「 兔兔(粉領OL篇)」line://shop/detail/1037

7/26為「饅頭人(火冒三丈篇)」line://shop/detail/911

7/27為「莎莉(特別篇)」line://shop/detail/912

可愛且逗趣的貼圖一向是 Line的主要賣點,該公司也宣佈貼圖約占2013年第一季總營收的 30%,也就是約 1,700 萬美金。

c3e84818

這次為了慶祝用戶破2億,也舉辦了貼圖限時免費的活動,不過這種約定時間開放下載的服務,是非常考驗主機的(因為大家都想第一時間拿到炫耀XD)。果不其然原本預計昨天開放第一梯次下載時,因為瞬間流量太大而導致系統故障延了一天,不過今天還是很多人無法下載到就是了XDD

活動內容如下:

80c38c71

7/24為「熊大&兔兔(約會篇)」(Brown & Cony’s Secret Date)

line://shop/detail/1036

7/25為「 兔兔(粉領OL篇)」(Cony’s Happy Work Life)

line://shop/detail/1037

7/26為「饅頭人(火冒三丈篇)」(Moon: Mad Angry Edition)

line://shop/detail/911

7/27為「莎莉(特別篇)」(Sally: Special Edition)。

line://shop/detail/912

不過有一個重點是這些貼圖效期為180天

呵呵~

訊息來源:

LINE官方部落格(lineblog.tw/archives/30744666.html

LINE facebook(www.facebook.com/taiwan.line