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_*


製品詳細はこちら

<< Tipsに関するFAQ一覧へ戻る