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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0225
USER00〜10の連番について4未解決


USER

リンク

2018/2/25(Sun) 18:04:15|NO.82559

連番のファイルをpicload で読み込みたいのてすがファイル名は00〜10となってます。
それでpicload ""+0+num+".jpg"とすると09から10に移るところで当然のようにエラーになります。
if文で分ければいいのですがもっと綺麗なやり方ってありますでしょうか?



この記事に返信する


あまら

リンク

2018/2/25(Sun) 18:16:11|NO.82560

strfで可能です。
%02d が2桁の10進整数という意味になります。

%2dの場合
〜途中省略〜
8 9 10
のように08や09ではなく半角スペースで桁揃えになるのでご注意ください。

今回の場合の例
repeat 11
mes strf("%02d.jpg", cnt); loop



USER

リンク

2018/2/25(Sun) 19:25:04|NO.82563

お早い回答ありがとうございます。
やってみると見事にできました。
ダブルクォーテーションの%02dにcntが入るわけですよね。
ちょっと分かりにくい感覚がありますね。(笑)

picload strf("%02d", cnt)+".jpg" と書きたくなりました。



あまら

リンク

2018/2/25(Sun) 19:36:49|NO.82564

> ダブルクォーテーションの%02dにcntが入るわけですよね。
その通りです。

strf("X値:%02d、Y値:%02d、Z値:%02d", x, y, z)
といった形で複数の数値を文字列にすることも可能です。

C言語なんかでprintfとかやった経験があるとそのままで使いやすいんですが、
初めてだとわかりにくいですよね。



USER

リンク

2018/2/25(Sun) 21:06:04|NO.82567

ありがとうございます。
複数使う場合もあるんでしょうね。
一人では永久にわからないのでとても助かりました。



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