Changeset 318 for trunk/Include/Classes/System/IO
- Timestamp:
- Aug 28, 2007, 9:16:10 PM (17 years ago)
- Location:
- trunk/Include/Classes/System/IO
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/Classes/System/IO/DirectoryInfo.ab
r285 r318 1 Imports System.Collections.Generic 1 2 2 3 Namespace System … … 17 18 'Public Property 18 19 Function Parent() As DirectoryInfo 19 Dim dirInfo As DirectoryInfo(Path.GetDirectoryName(FullPath)) 20 Return dirInfo 20 Return New DirectoryInfo(Path.GetDirectoryName(FullPath)) 21 21 End Function 22 22 23 23 Function Root() As DirectoryInfo 24 Dim dirInfo As DirectoryInfo(Path.GetPathRoot(FullPath)) 25 Return dirInfo 24 Return New DirectoryInfo(Path.GetPathRoot(FullPath)) 26 25 End Function 27 26 … … 75 74 End Function*/ 76 75 77 /* Function GetDirectories() As Array 76 Function GetDirectories() As List<DirectoryInfo> 77 Return GetDirectories("?*") 78 End Function 79 80 Function GetDirectories(searchPattern As String) As List<DirectoryInfo> 81 Dim infos As List<FileSystemInfo> 82 infos = GetFileSystemInfos(searchPattern) 83 84 Dim dirs As List<DirectoryInfo> 85 Dim i As Long 86 For i = 0 To ELM(infos.Count) 87 If infos[i].GetType.ToString() = "DirectoryInfo" Then 88 dirs.Add(infos[i] As DirectoryInfo) 89 End If 90 Next 91 Return dirs 92 End Function 93 94 /* Function GetDirectories(searchPattern As String, searchOption As SearchOption) As List<DirectoryInfo> 95 If searchOption = SearchOption.TopDirectoryOnly Then 96 Return GetDirectories(searchPattern) 97 Else 98 Dim dirs As List<DirectoryInfo> 99 dirs = GetDirectories(searchPattern) 100 Dim i As Long 101 102 End If 78 103 End Function*/ 79 104 80 /* Function GetDirectories(searchPattern As String) As Array 105 Function GetFiles() As List<FileInfo> 106 Return GetFiles("?*") 107 End Function 108 109 Function GetFiles(searchPattern As String) As List<FileInfo> 110 Dim infos As List<FileSystemInfo> 111 infos = GetFileSystemInfos(searchPattern) 112 113 Dim files As List<FileInfo> 114 Dim i As Long 115 For i = 0 To ELM(infos.Count) 116 If infos[i].GetType.ToString() = "FileInfo" Then 117 files.Add(infos[i] As FileInfo) 118 End If 119 Next 120 Return files 121 End Function 122 123 /* Function GetFiles(searchPattern As String, searchOption As SearchOption) As List<FileInfo> 81 124 End Function*/ 82 125 83 /* Function GetDirectories(searchPattern As String, searchOption As SearchOption) As Array 84 End Function*/ 126 Function GetFileSystemInfos() As List<FileSystemInfo> 127 Return GetFileSystemInfos("?*") 128 End Function 85 129 86 /* Function GetFiles() As Array 87 End Function*/ 130 Function GetFileSystemInfos(searchPattern As String) As List<FileSystemInfo> 131 Dim find As HANDLE 132 Dim findData As WIN32_FIND_DATA 133 find = FindFirstFile(ToTCStr(Path.Combine(FullPath, searchPattern)), findData) 134 If find = INVALID_HANDLE_VALUE Then 135 debug 'Exception 136 Return Nothing 137 End If 88 138 89 /* Function GetFiles(searchPattern As String) As Array 90 End Function*/ 139 Dim files As List<FileSystemInfo> 140 Dim lastError = GetLastError() As DWord 141 Dim i As Long 142 While lastError <> ERROR_NO_MORE_FILES 143 If i > 1 Then 144 Dim s = New String(findData.cFileName As PCTSTR) 145 If (findData.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY Then 146 files.Add(New DirectoryInfo(Path.Combine(FullPath, s))) 147 Else 148 files.Add(New FileInfo(Path.Combine(FullPath, s))) 149 End If 150 End If 91 151 92 /* Function GetFiles(searchPattern As String, searchOption As SearchOption) As Array 93 End Function*/ 94 95 /* Function GetFileSystemInfos() As Array 96 End Function*/ 97 98 /* Function GetFileSystemInfos(searchPattern As String) As Array 99 End Function*/ 152 If FindNextFile(find, findData) = False Then 153 lastError = GetLastError() 154 If lastError <> ERROR_NO_MORE_FILES Then 155 debug 'Exception 156 Return Nothing 157 End If 158 End If 159 i++ 160 Wend 161 Return files 162 End Function 100 163 101 164 Sub MoveTo(destDirName As String) … … 110 173 End Class 111 174 112 Enum SearchOption113 AllDirectories114 TopDirectoryOnly115 End Enum116 117 175 End Namespace 118 176 End Namespace -
trunk/Include/Classes/System/IO/FileInfo.ab
r271 r318 4 4 5 5 Class FileInfo 6 Inherits FileSystemInfo 7 Public 8 Sub FileInfo(path As String) 9 OriginalPath = path 10 FullPath = Path.GetFullPath(path) 11 Refresh() 12 End Sub 13 14 Sub ~FileInfo() 15 End Sub 16 17 '---------------------------------------------------------------- 18 ' Public properties 19 '---------------------------------------------------------------- 20 21 Function Directory() As DirectoryInfo 22 Return New DirectoryInfo(Path.GetDirectoryName(FullPath)) 23 End Function 24 25 Function DirectoryName() As String 26 Return Path.GetDirectoryName(FullPath) 27 End Function 28 29 Function IsReadOnly() As Boolean 30 If (Attributes And FILE_ATTRIBUTE_READONLY) = FILE_ATTRIBUTE_READONLY Then 31 Return True 32 Else 33 Return False 34 End If 35 End Function 6 36 End Class 37 7 38 8 39 -
trunk/Include/Classes/System/IO/FileSystemInfo.ab
r292 r318 12 12 OriginalPath As String 13 13 Public 14 'Public Properties 15 Function Attributes() As FileAttributes 16 Select Case m_FileAttributes 17 Case FILE_ATTRIBUTE_ARCHIVE 18 Return FileAttributes.Archive 19 Case FILE_ATTRIBUTE_COMPRESSED 20 Return FileAttributes.Compressed 21 Case FILE_ATTRIBUTE_DIRECTORY 22 Return FileAttributes.Directory 23 Case FILE_ATTRIBUTE_ENCRYPTED 24 Return FileAttributes.Encrypted 25 Case FILE_ATTRIBUTE_HIDDEN 26 Return FileAttributes.Hidden 27 Case FILE_ATTRIBUTE_NORMAL 28 Return FileAttributes.Normal 29 Case FILE_ATTRIBUTE_OFFLINE 30 Return FileAttributes.Offline 31 Case FILE_ATTRIBUTE_READONLY 32 Return FileAttributes.ReadOnly 33 Case FILE_ATTRIBUTE_REPARSE_POINT 34 Return FileAttributes.ReparsePoint 35 Case FILE_ATTRIBUTE_SPARSE_FILE 36 Return FileAttributes.SparseFile 37 Case FILE_ATTRIBUTE_SYSTEM 38 Return FileAttributes.System 39 Case FILE_ATTRIBUTE_TEMPORARY 40 Return FileAttributes.Temporary 41 Case Else 42 'Exception 43 Debug 44 End Select 14 15 Override Function Equals( object As Object ) As Boolean 16 If This.ToString = object.ToString Then 17 Return True 18 Else 19 Return False 20 End If 45 21 End Function 46 22 47 Sub Attributes(ByRef value As FileAttributes) 48 Dim attributes As DWord 49 Select Case value 50 Case FileAttributes.Archive 51 attributes = FILE_ATTRIBUTE_ARCHIVE 52 Case FileAttributes.Compressed 53 attributes = FILE_ATTRIBUTE_COMPRESSED 54 Case FileAttributes.Directory 55 attributes = FILE_ATTRIBUTE_DIRECTORY 56 Case FileAttributes.Hidden 57 attributes = FILE_ATTRIBUTE_HIDDEN 58 Case FileAttributes.Normal 59 attributes = FILE_ATTRIBUTE_NORMAL 60 Case FileAttributes.Offline 61 attributes = FILE_ATTRIBUTE_OFFLINE 62 Case FileAttributes.ReadOnly 63 attributes = FILE_ATTRIBUTE_READONLY 64 Case FileAttributes.System 65 attributes = FILE_ATTRIBUTE_SYSTEM 66 Case FileAttributes.Temporary 67 attributes = FILE_ATTRIBUTE_TEMPORARY 68 Case Else 69 'Exception 70 Exit Sub 71 End Select 23 Override Function ToString() As String 24 Return FullPath 25 End Function 72 26 73 If SetFileAttributes(FullPath, attributes) = FALSE Then 27 'Public Properties 28 Function Attributes() As DWord'FileAttributes 29 Return m_FileAttributes 30 End Function 31 32 Sub Attributes(value As DWord) 33 If SetFileAttributes(FullPath, value) = FALSE Then 74 34 'Exception 75 35 Debug -
trunk/Include/Classes/System/IO/index.ab
r271 r318 3 3 #require "DriveInfo.ab" 4 4 #require "File.ab" 5 #require "FileInfo.ab" 5 6 #require "FileStream.ab" 6 7 #require "FileSystemInfo.ab" -
trunk/Include/Classes/System/IO/misc.ab
r262 r318 7 7 End 8 8 End Enum 9 10 Enum SearchOption 11 AllDirectories 12 TopDirectoryOnly 13 End Enum
Note:
See TracChangeset
for help on using the changeset viewer.