プログラミング工房 > HSP > サンプルモジュール > 

パスの対象がフォルダかどうかチェック

 引数に指定されたフルパスがフォルダかどうかチェックする関数isdirが定義されています。

 >> ダウンロード

/***********************************************************

	パスの対象がフォルダかどうかチェック

		【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