パス名の操作(W)          <TOP>


指定ファイルの有無をチェックおよびパス名からドライブ番号を取得します。

 

PathFileExists 指定したファイルの有無をチェック

PathGetDriveNumber パス名からドライブ番号を取得

 

  

 

'================================================================
'= パス名の操作(W)
'=    (PathFileExists.bas)
'================================================================
#include "Windows.bi"

' 指定のファイルの有無をチェック
Declare Function Api_PathFileExists& Lib "shlwapi" Alias "PathFileExistsA" (ByVal lpszPath$)

' パス名からドライブ番号を取得
Declare Function Api_PathGetDriveNumber& Lib "shlwapi" Alias "PathGetDriveNumberA" (ByVal pszPath$)

Var Shared Text1 As Object
Var Shared Edit1 As Object
Var Shared Button1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14
Button2.Attach GetDlgItem("Button2") : Button2.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Edit1.SetWindowText "C:\Temp\Test.txt"
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    If Api_PathFileExists(Edit1.GetWindowText) Then
        Text1.SetWindowText "存在します!"
    Else
        Text1.SetWindowText "存在しません!"
    End If
End Sub

'================================================================
'=
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    Text1.SetWindowText "[" & Chr$(65 + Api_PathGetDriveNumber(Edit1.GetWindowText)) & "]ドライブです!"
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End