>>ORZさん
えぇと、現段階で(サイズ取得に)10秒...
たまに、「〜は動作を停止しました」が表示されるほどです。
>>ソースコード
os=sysinfo(0)
split os,"Windows"
if stat-1>=1:os_1="Windows"
if os_1!"":os_2=" "+os_1+""
;
; ファイルを取得
;
screen 0,750,550,,(ginfo_dispx-750)/2,(ginfo_dispy-550)/2
title ""+softname+" [Build="+build_no+"]"
redraw 0
;
gradf 0,0,750,550,1,$333333,$111111
color 255,255,255
if os_no="6.0" or os_no="6.1":font"メイリオ",15,0:else:font"MS UI GOTHIC",15,17
pos -1000,-1000:mes"ファイルを取得しています..."
pos (750-ginfo_mesx)/2,(550-ginfo_mesy)/2-50:mes"ファイルを取得しています..."
dlurl="http://dl.dropbox.com/u/253XXXXX/SNV-110011/"
dlfile="os_data.snv"
prx=(750-300)/2
pry=(550-30)/2
redraw 1
title softname+" - ファイルを取得しています... ["+wariai+"%完了]"
;
#include "hspinet.as"
#include "hsp3util.as"
#include "hspsock.as"
netinit
if stat!0:goto*main
;
ipget
if refstr="127.0.0.1":dialog"インターネットに接続してください。":mode2="[オフラインモード]":goto*read
;
#include"dl.hsp"
if dlf=1:dialog "取得エラーが発生しました":mode2="[オフラインモード]":goto*read
clrobj
pos prx,pry:progbar 300,30
;
dlfile="genre.snv"
; infosize=0
data_infosize=0
info=""
netinit
neturl dlurl
netfileinfo info,dlfile
notesel info
repeat notemax
noteget data_infosize,cnt
split data_infosize,"content-length: "
if stat-1=1:break
loop
data_infosize=str(data_infosize)
split data_infosize,"content-length: ",dst,infosize
;
netrequest dlfile
neterror er
if er!"":dlf=1
;
infosize=int(infosize)
;
repeat
exist dlfile
if infosize=0:else{
wariai=strsize*100/infosize
;
;
netexec res
if res > 0 : break
; バーの位置指定 (PBM_SETPOS)
; 第3パラのwparam値に位置の数値
sendmsg hProgress, $402, wariai
;if wariai>=100:break
title softname+" - ファイルを取得しています... ["+wariai+"%完了]"
gcopy 103,0,0,1.0*300*wariai/100,30
wait 3
loop
}
;
pos prx,pry:progbar 300,30
hProgress = objinfo(stat, 2)
if dlf=1:dialog "取得エラーが発生しました":mode2="[オフラインモード]":goto*read
clrobj
if dlf!1:mode2=""
※抜粋です。
※一部アドレスはふせさせていただきました。
※わけわかんない変数があったら聞いてください。(他の部分で代入されたりするので)