ランチャーのデフォルトで、最新バージョンを取得しようとしたときに 404 Not Found 時のエラー HTML が表示されるのがダサい。だから、 netfileinfo 命令でヘッダーからステータスコードを取得してみた。
sdim infoBuf, 1024
netfileinfo infoBuf, sVersionTextFileName
if stat : return
// ステータスコードを取得
idx = instr( infoBuf, 0, " " ) + 1
len = instr( infoBuf, idx, " " )
StatusCode = int( strmid( infoBuf, idx, len ) )
if StatusCode / 100 \ 10 != 2 : return
コードはある程度簡略化。
同じようにHTTP ヘッダーから Content-Length の値を取得して、ダウンロード中にファイルサイズ( exist 命令で取得)との比を調べればダウンロードの進捗パーセンテージを出せる。
これはどっちかというと、 instr 関数や strmid 関数を使うよりか、 getstr 命令を使った方がいいかなぁ。まあ、このぐらいだと好みの問題かな・・・?