パス名の各種操作(Y) <TOP>
パス名操作に関するAPIをテストしています。
PathIsDirectory
指定したディレクトリが存在するかどうか判定
PathIsDirectoryEmpty
バスで示されるディレクトリが空かどうか確認
PathIsLFNFileSpec
ファイル名前が長いフォーマットにあるどうか判断
PathIsNetworkPath
ネットワークパスかどうかの判断
PathIsPrefix
有効なプレフィックスを含むかどうか判断
PathIsRelative
パスが相対かどうかを判断
PathIsRoot
ルートパスかどうかを判断
'================================================================ '= パス名の操作(Y) '= (PathFunctions3.bas) '================================================================ #include "Windows.bi" ' 指定したディレクトリが存在するかどうか判定 Declare Function Api_PathIsDirectory& Lib "shlwapi" Alias "PathIsDirectoryA" (ByVal pszPath$) ' バスで示されるディレクトリが空かどうか確認 Declare Function Api_PathIsDirectoryEmpty& Lib "shlwapi" Alias "PathIsDirectoryEmptyA" (ByVal pszPath$) ' ファイル名前が長いフォーマットにあるどうか判断 Declare Function Api_PathIsLFNFileSpec& Lib "shlwapi" Alias "PathIsLFNFileSpecA" (ByVal lpName$) ' ネットワークパスかどうかの判断 Declare Function Api_PathIsNetworkPath& Lib "shlwapi" Alias "PathIsNetworkPathA" (ByVal pszPath$) ' 有効なプレフィックスを含むかどうか判断 Declare Function Api_PathIsPrefix& Lib "shlwapi" Alias "PathIsPrefixA" (ByVal pszPrefix$, ByVal pszPath$) ' パスが相対かどうかを判断 Declare Function Api_PathIsRelative& Lib "shlwapi" Alias "PathIsRelativeA" (ByVal pszPath$) ' ルートパスかどうかを判断 Declare Function Api_PathIsRoot& Lib "shlwapi" Alias "PathIsRootA" (ByVal pszPath$) Var Shared List1 As Object List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Var Temp0 As String Var Temp1 As String Var State As String Var Msg As String Var Ret As Long Temp1 = "c:\windows" List1.AddString "■PathIsDirectory" Ret = Api_PathIsDirectory(Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」の存在は? " & Msg List1.AddString "■PathIsDirectoryEmpty" Ret = Api_PathIsDirectoryEmpty(Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」は空かどうか? " & Msg Temp1 = "c:\fb\verylongfile.extension" List1.AddString "■PathIsLFNFileSpec" Ret = Api_PathIsLFNFileSpec(Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」はロングファイル形式? " & Msg Temp1 = "\\valuestar\c:\test.txt" List1.AddString "■PathIsNetworkPath" Ret = Api_PathIsNetworkPath(Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」はNetworkPath? " & Msg Temp0 = "d:\" Temp1 = "c:\fb\test.txt" List1.AddString "■PathIsPrefix" Ret = Api_PathIsPrefix(Temp0, Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」に「" & Temp0 & "」は含まれているか? " & Msg Temp1 = "c:\test.txt" List1.AddString "■PathIsRelative" Ret = Api_PathIsRelative(Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」は相対パス? " & Msg Temp1 = "z:\" List1.AddString "■PathIsRoot" Ret = Api_PathIsRoot(Temp1) GoSub *Hantei List1.AddString " 「" & Temp1 & "」はルートパス? " & Msg Exit Sub *Hantei If Ret <> 0 Then Msg = "True" Else Msg = "False" End If Return End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End