HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0611
Maesukeダウンロード進捗画面の作成2未解決


Maesuke

リンク

2009/6/11(Thu) 19:23:34|NO.25635

HSPで、サーバーからファイルをダウンロードしているときに、ダウンロードの進捗画面のようなものを作成することは可能でしょうか?
iTunesのダウンロード画面みたいなのが理想ですが、どうでしょうか・・・(iTunesみたいのでなくてもいいです)

また、HSPでhtmlを表示して(IEのコンポーネント使用の場合)、ファイルへのリンクをクリックした時に出てくる、ブラウザ標準のダウンロードダイアログの代わりに上記のようなものを表示するということを実現することも可能でしょうか?

難しい質問ですが、ご教授いただければ幸いです。



この記事に返信する


inovia

リンク

2009/6/11(Thu) 22:37:55|NO.25643

最初の質問のみ回答します。


#include "hspinet.as" //適当なURLを! url="http://www.onionsoft.net/hsp/file/hsp31.exe" width 400,60 netinit if stat : dialog "ネット接続できません。" : end // http://〜 から始まるものでも getpath は使用可能です。 sv=getpath(url,8) title "HTTPヘッダからサイズを取得中..." //HTTPヘッダを受信 header="" neturl ""+getpath(url,32) netfileinfo header,""+sv //HTTPヘッダからファイルサイズを取得 notesel header tmp="" repeat notemax noteget tmp,cnt if instr(tmp,0,"Content-Length: ")=0:break if notemax=cnt:dialog "サイズが取得できません" :end loop filesize=int(strmid(tmp,strlen("Content-Length: "),256)) //ファイルが見つからない時の処理(HTTP404) if filesize<=0:dialog "ファイルが見つからないようです":end //HTTPリクエスト開始 netdlname ""+sv neturl ""+getpath(url,32) netrequest ""+sv title ""+url repeat //existを使ってダウンロード済みのファイルサイズを取得します exist sv color 255,255,255:boxf 0,0,400,60:color 0,0,255 boxf 0,0,(100*strsize/filesize)*4,60 color 0,0,0:pos 190,20 mes ""+100*strsize/filesize+"%" pos 10,40 mes ""+strsize+"/"+filesize+"bytes" netsize size netexec res if res : goto *ed redraw 1 await 1 redraw 0 loop stop //エラーもしくは正常終了の時、飛んできます *ed if res > 0 :title "100%!":end neterror estr dialog "エラー:"+estr:end stop



Maesuke

リンク

2009/6/12(Fri) 12:46:53|NO.25650

なるほど!!
exist命令を使うとは想像もしていませんでした(^^;)
非常に助かりました!

後者の質問も、機会があればでいいので是非お願いします(難しいですが…)。



ONION software Copyright 1997-2023(c) All rights reserved.