UrlDownloadToFileで進行状況を・・・


Sni  2010-04-22 22:19:30  No: 38329

UrlDownloadToFileでファイルをDL中に進行状況をプログレスバーで表示しようと思っております
DL中のファイルをサイズと現在どこまでDLしたかを把握する方法はありますでしょうか?
それとDL中にソフトが固まってしまうのですが回避方法はあるのでしょうか?


DEKO  2010-04-23 00:29:31  No: 38330

> プログレスバー
UrlDownloadToFile() の 4 番目の引数を指定します。
ソースコードのサンプルは以下にあります。

[Datei downloaden (mit Fortschrittsanzeige) - Delphi-PRAXiS]
http://www.delphipraxis.net/topic75,0,asc,0.html


DEKO  2010-04-23 00:43:55  No: 38331

> UrlDownloadToFile() の 4 番目の引数を指定します。
失礼しました。5 番目の引数 (lpfnCB) ですね。


Sni  2010-04-23 08:13:55  No: 38332

>>DEKOさん
教えて頂いた内容で目的の事ができました
本題と関係ないのですが、UrlDownloadToFileでファイルをDLする場合とブラウザで右クリック対象をファイルで保存する場合とでDLする時間にかなり差がでてしまうのですがどうしてなのでしょうか??
10MのファイルをDLするのにUrlDownloadToFileだと8〜10分ほどかかり
右クリックから保存だと1〜2分なのですが・・・
う〜ん謎だ・・・


DEKO  2010-04-23 09:03:54  No: 38333

こんにちは。

OnProgress の度に Application.ProcessMessages を実行したり、
ゲージを更新しに行ったりしているのが原因かと思われます。

ゲージの更新をタイマーとかで 0.5 秒おきにしてみたりとかすれば、
ダウンロード時間は短縮できると思います。
(キャンセルのタイミングも 0.5 秒おきになってしまいますが)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加