FAQ
FAMOS
シーケンス / 関数top
└Tips
ID.s066
Q. 日付フォルダー内のデータをループで結合する方法
A.
フォルダー名が日付になっていると”その1”の方法ではエラーが表示されてしまいます。どのように対応すればよいですか?
; C:\imc\dat\Experim\ ; | ; |__ 2003-01-23 10-31-22 (1)\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 2003-01-23 10-31-32 (2)\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 2003-01-23 10-31-42 (3)\ ; | Channel1.DAT ; | Channel3.DAT
上記のようにフォルダー名にスペースや括弧が含まれている場合、関数"LOAD"はパスを認識できません。
このような場合、ファイル関数を使用してください。
Example
;;;;ダミーデータの作成
Channel1 = Leng(0,0)
Channel3 = Leng(0,0)
;;;;Main Loop
FID = FsFileListNew("c:\imc", "*.*", 1, 0, 0)
i=1
While i<=FsFileListGetCount(FID)
;;;;ファイル名の作成
dir = FsFileListGetName(FID,i)
Name1 = dir + "\Channel01.RAW"
Name2 = dir + "\Channel03.RAW"
;;;;データの読み込み
DID = FileOpenDSF(Name1,0)
data1 = FileObjRead(DID,1)
Err = FileClose(DID)
DID = FileOpenDSF(Name2,0)
data2 = FileObjRead(DID,1)
Err = FileClose(DID)
;;;;データの結合
Channel1 = Join( Channel1, data1)
Channel3 = Join( Channel3, data1)
i=i+1
End
FsFileListClose(FID)