/***********************************************************
パスの対象がフォルダかどうかチェック
【2006/11/24 更新】
***********************************************************/
#ifndef __GM_ISDIR__
#define global __GM_ISDIR__
#module gm_isdir
#const TRUE 1
#const FALSE 0
#const MAX_PATH 260
#defcfunc isdir str p1
// p1 : チェックするパス。二重引用符は削除されていなければならない
// 戻り値 : 1(Yes) or 0(No)
path = getpath(p1, 16) // 小文字に
pdir = getpath(path, 32) // ディレクトリ情報
name = getpath(path, 8) // 名前のみ
buf = ""
chdir pdir // カレントディレクトリを渡されたパスの親ディレクトリに変更
dirlist buf, "*.*", 5 // ディレクトリのみリスト
flag = FALSE
notesel buf
repeat notemax
sdim linestr, MAX_PATH
noteget linestr, cnt // 名前のリストからひとつ取り出す
linestr = getpath(linestr, 16)
if linestr=name { // フルパスから切り出した名前と一致
flag = TRUE
break
}
loop
return flag
#global
#endif
|