FAQ
FAMOS
シーケンス / 関数top
└Tips
ID.s071
Q. 0056のように0付の番号でファイル名・フォルダ名を生成したい。
A.
番号順にデータを保存したいと考えていますが、1,2,3..のように並べると、エクスプローラで見たときに1,10,11...のように順番が異なってしまいます。
0056のように0をつけると順番に並ぶのでそのように出力したいです。
回答以下のシーケンスで対応可能です。
以下のシーケンスはサブシーケンスとして作成しています。
Sequence CreateNumberString "56", 4, result
と呼び出すと、"0056"がresultに出力されます。
;_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
;
; 0付の番号ファイル名 [0046] を生成します
;
;_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
; 引数
;----------------------------------------------------------------
_k2_numstr = PA1 ;数字の文字列を指定します
_k2_digit = PA2 ;桁数
; Example
; _k2_numstr = "56"
; _k2_digit = 4
_k2_number = TtoSv(_k2_numstr, "F")
_k2_temp=""
_k2_cnt=1
while _k2_cnt<=_k2_digit
if _k2_number <= 10^(_k2_digit-_k2_cnt)-1
_k2_temp = _k2_temp+"0"
end
_k2_cnt=_k2_cnt+1
end
_k2_result = _k2_temp+TForm( _k2_number, "F00")
;戻り値
;----------------------------------------------------------------
PA3 = k2_result ;文字列
;変数のクリーンナップ
;----------------------------------------------------------------
Delete _k2_*