トピック
ゆうさん^^ budou12817

VERSION について

システム変数 VERSION の値を例えば今だったら 「3.3.1」という風に整形する方法を教えてください....。
2そうだね
プレイ済み
返信[1]
親投稿
say sayer.exe
hex$してmid$で分けてformat$で形成する こんな感じ? v$=right$("00"+hex$(version),8) l$=mid$(v$,0,2) m$=mid$(v$,2,2) s$=mid$(v$,4,4) version$=format$("%d.%d.%d",val(l$),val(m$),val(s$)) たぶん動く
1そうだね
プレイ済み
返信[2]
親投稿
Godot orz_127
ちょっと変な方法
6そうだね
プレイ済み
返信[3]
親投稿
Godot orz_127
sayさん 多分トラップに引っ掛かっています。 実行してお試しを。
0そうだね
プレイ済み
返信[4]
親投稿
say sayer.exe
s$のこと?
1そうだね
プレイ済み
返信[5]
親投稿
Godot orz_127
sayさん はいそうです。 これ律儀に書くと画像の様になります。 前回これでコメントしたら、他の方がRGBREADを使ってこんな風にもできると教えてくれました。 「s$=mid$(v$,4,4)」だとZZZZの所は上位下位のバイトが入れ代わっているので"0100"という結果となります。 これをval(s$)とすると100に。 当時の「3.3.100」になるんだけどという質問者と同様に罠にはまったじょうたいに。 「v$=mid$(v$,4,2)」として後ろを捨てれば、1となって期待通りの結果となります。
0そうだね
プレイ済み
返信[6]
親投稿
Godot orz_127
おっと、前の画像のプログラム 「%D,%D,%D」になっていました。 「3,3,1」となってしまいますw 「%D.%D.%D」が正しいです。
1そうだね
プレイ済み
返信[7]
親投稿
RGBREADは思いつかんかったぁぁぁぁ(ハカセ風)
3そうだね
プレイ済み
返信[8]
親投稿
ゆうさん^^ budou12817
RGBREADとVERSIONはどういう関係に...w その発想はなかったぁぁぁ(便乗) みなさんありがとうございました!
2そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
RGBREADは色を分解する命令ではなく32bit整数値を8bitずつ分解する命令にすぎないですからね。 想定していない使い方は私もよく使います。 ちなみにバージョン表示(VERSIONを元に3.3.1を生成)の最短コードはこれではないかと思います。 V$=HEX$(VERSION)?V$[0];".";V$[2];".";V$[4] 各桁が9を超えた場合はどうするのかという問題もありますが、現状では正常に動作するため問題ありません。
3そうだね
プレイ済み