Changeset 406 for trunk/Include/Classes/System/IO
- Timestamp:
- Feb 15, 2008, 7:48:54 PM (17 years ago)
- Location:
- trunk/Include/Classes/System/IO
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/Classes/System/IO/DirectoryInfo.ab
r404 r406 137 137 Dim i As Long 138 138 For i = 0 To ELM(infos.Count) 139 If infos[i].Attributes = FILE_ATTRIBUTE_DIRECTORYThen139 If (infos[i].Attributes and FileAttributes.Directory) = FileAttributes.Directory Then 140 140 dirs.Add(infos[i] As DirectoryInfo) 141 141 End If … … 196 196 Dim i As Long 197 197 For i = 0 To ELM(infos.Count) 198 If infos[i].Attributes <> FILE_ATTRIBUTE_DIRECTORYThen198 If (infos[i].Attributes and FileAttributes.Directory) <> FileAttributes.Directory Then 199 199 files.Add(infos[i] As FileInfo) 200 200 End If -
trunk/Include/Classes/System/IO/File.ab
r271 r406 10 10 11 11 Enum FileAttributes 12 Archive 13 Compressed 14 Device 15 Directory 16 Encrypted 17 Hidden 18 Normal 19 NotContentIndexed 20 Offline 21 ReadOnly 22 ReparsePoint 23 SparseFile 24 System 25 Temporary 12 Archive = 32 'FILE_ATTRIBUTE_ARCHIVE 13 Compressed = 2048 'FILE_ATTRIBUTE_COMPRESSED 14 Device = 64 'FILE_ATTRIBUTE_DEVICE 15 Directory = 16 'FILE_ATTRIBUTE_DIRECTORY 16 Encrypted = 16384 'FILE_ATTRIBUTE_ENCRYPTED 17 Hidden = 2 'FILE_ATTRIBUTE_HIDDEN 18 Normal = 128 'FILE_ATTRIBUTE_NORMAL 19 NotContentIndexed = 8192 'FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 20 Offline = 4096 'FILE_ATTRIBUTE_OFFLINE 21 ReadOnly = 1 'FILE_ATTRIBUTE_READONLY 22 ReparsePoint = 1024 'FILE_ATTRIBUTE_REPARSE_POINT 23 SparseFile = 512 'FILE_ATTRIBUTE_SPARSE_FILE 24 System = 4 'FILE_ATTRIBUTE_SYSTEM 25 Temporary = 256 'FILE_ATTRIBUTE_TEMPORARY 26 26 End Enum 27 27 -
trunk/Include/Classes/System/IO/FileInfo.ab
r345 r406 27 27 28 28 Function IsReadOnly() As Boolean 29 If (Attributes And FILE_ATTRIBUTE_READONLY) = FILE_ATTRIBUTE_READONLYThen29 If (Attributes and FileAttributes.ReadOnly) = FileAttributes.ReadOnly Then 30 30 Return True 31 31 Else -
trunk/Include/Classes/System/IO/FileSystemInfo.ab
r400 r406 7 7 m_LastAccessTime As FILETIME 8 8 m_LastWriteTime As FILETIME 9 m_FileAttributes As DWord9 m_FileAttributes As FileAttributes 10 10 11 11 m_IsFreshed As Boolean … … 14 14 OriginalPath As String 15 15 Public 16 17 /*! 18 @brief コンストラクタ 19 @author OverTaker 20 */ 16 21 Sub FileSystemInfo() 17 22 m_IsFreshed = False 18 23 End Sub 19 24 25 /*! 26 @brief デストラクタ 27 @author OverTaker 28 */ 20 29 Sub ~FileSystemInfo() 21 30 End Sub 22 31 32 /*! 33 @brief 値が等しいか比較する 34 @author OverTaker 35 @param 比較するオブジェクト 36 @return 等しい場合True,そうでない場合False 37 */ 23 38 Override Function Equals( object As Object ) As Boolean 24 39 If This.ToString = object.ToString Then … … 29 44 End Function 30 45 46 /*! 47 @brief 文字列で表したオブジェクトを取得する 48 @author OverTaker 49 @return オブジェクトの文字列(ファイルパス) 50 */ 31 51 Override Function ToString() As String 32 52 Return FullPath 33 53 End Function 34 54 35 'Public Properties 36 Function Attributes() As DWord'FileAttributes 55 '---------------------------------------------------------------- 56 ' パブリック プロパティ 57 '---------------------------------------------------------------- 58 59 /*! 60 @brief ファイルの属性を取得する 61 @author OverTaker 62 @return ファイル属性 63 */ 64 Function Attributes() As FileAttributes 37 65 If Not m_IsFreshed Then Refresh() 38 66 Return m_FileAttributes 39 67 End Function 40 68 41 Sub Attributes(value As DWord) 69 /*! 70 @brief ファイル属性を設定する 71 @author OverTaker 72 @param ファイル属性 73 */ 74 Sub Attributes(value As FileAttributes) 42 75 If SetFileAttributes(ToTCStr(FullPath), value) = FALSE Then 43 76 'Exception … … 46 79 End Sub 47 80 81 /*! 82 @brief ファイル作成日を取得する 83 @author OverTaker 84 @return ファイルの作成日 85 */ 48 86 Function CreationTime() As DateTime 49 87 If Not m_IsFreshed Then Refresh() … … 51 89 End Function 52 90 91 /*! 92 @brief ファイル作成日を設定する 93 @author OverTaker 94 @param ファイルの作成日 95 */ 53 96 Sub CreationTime(ByRef value As DateTime) 54 97 m_CreationTime = value.ToFileTimeUtc() … … 56 99 End Sub 57 100 101 /*! 102 @brief ファイル作成日をUTC時刻で取得する 103 @author OverTaker 104 @return ファイルの作成日(UTC) 105 */ 58 106 Function CreationTimeUtc() As DateTime 59 107 Return CreationTime.ToUniversalTime() 60 108 End Function 61 109 110 /*! 111 @brief ファイル作成日をUTC時刻で設定する 112 @author OverTaker 113 @param ファイルの作成日(UTC) 114 */ 62 115 Sub CreationTimeUtc(ByRef value As DateTime) 63 116 CreationTime = value 64 117 End Sub 65 118 119 /*! 120 @brief ファイル最終アクセス日を取得する 121 @author OverTaker 122 @return ファイルの最終アクセス日 123 */ 66 124 Function LastAccessTime() As DateTime 67 125 If Not m_IsFreshed Then Refresh() … … 69 127 End Function 70 128 129 /*! 130 @brief ファイル最終アクセス日を設定する 131 @author OverTaker 132 @param ファイルの最終アクセス日 133 */ 71 134 Sub LastAccessTime(ByRef value As DateTime) 72 135 m_LastAccessTime = value.ToFileTimeUtc() … … 74 137 End Sub 75 138 139 /*! 140 @brief ファイル最終アクセス日をUTC時刻で取得する 141 @author OverTaker 142 @return ファイルの最終アクセス日(UTC) 143 */ 76 144 Function LastAccessTimeUtc() As DateTime 77 145 Return LastAccessTime.ToUniversalTime() 78 146 End Function 79 147 148 /*! 149 @brief ファイル最終アクセス日をUTC時刻で設定する 150 @author OverTaker 151 @param ファイルの最終アクセス日(UTC) 152 */ 80 153 Sub LastAccessTimeUtc(ByRef value As DateTime) 81 154 LastAccessTime = value 82 155 End Sub 83 156 157 /*! 158 @brief ファイルの最終書き込み日を取得する 159 @author OverTaker 160 @return ファイルの最終書き込み日 161 */ 84 162 Function LastWriteTime() As DateTime 85 163 If Not m_IsFreshed Then Refresh() … … 87 165 End Function 88 166 167 /*! 168 @brief ファイルの最終書き込み日を設定する 169 @author OverTaker 170 @param ファイルの最終書き込み日 171 */ 89 172 Sub LastWriteTime(ByRef value As DateTime) 90 173 m_LastWriteTime = value.ToFileTimeUtc() … … 92 175 End Sub 93 176 177 /*! 178 @brief ファイルの最終書き込み日をUTC時刻で取得する 179 @author OverTaker 180 @return ファイルの最終書き込み日(UTC) 181 */ 94 182 Function LastWriteTimeUtc() As DateTime 95 183 Return LastWriteTime.ToUniversalTime() 96 184 End Function 97 185 186 /*! 187 @brief ファイルの最終書き込み日をUTC時刻で設定する 188 @author OverTaker 189 @param ファイルの最終書き込み日(UTC) 190 */ 98 191 Sub LastWriteTimeUtc(ByRef value As DateTime) 99 192 LastWriteTime = value 100 193 End Sub 101 194 195 /*! 196 @brief ファイルが存在するかどうかを取得する 197 @author OverTaker 198 @return ファイルが存在する場合True,そうでない場合False 199 */ 102 200 Function Exists() As Boolean 103 201 If Not m_IsFreshed Then Refresh() … … 109 207 End Function 110 208 209 /*! 210 @brief ファイル拡張子を取得する 211 @author OverTaker 212 @return ファイル拡張子 213 */ 111 214 Function Extension() As String 112 215 Return Path.GetExtension(FullPath) 113 216 End Function 114 217 218 /*! 219 @brief ファイルパスを取得する 220 @author OverTaker 221 @return ファイルパス 222 */ 115 223 Function FullName() As String 116 224 Return FullPath 117 225 End Function 118 226 227 /*! 228 @brief ファイル名を取得する 229 @author OverTaker 230 @return ファイル名 231 */ 119 232 Function Name() As String 120 233 Return Path.GetFileName(FullPath) 121 234 End Function 122 235 123 'Public Methods 236 237 '---------------------------------------------------------------- 238 ' パブリック メソッド 239 '---------------------------------------------------------------- 240 241 /*! 242 @brief ファイルを削除する 243 @author OverTaker 244 */ 124 245 Virtual Sub Delete() 125 246 If DeleteFile(ToTCStr(FullPath)) = FALSE Then 126 'Exception 127 debug 128 End If 129 End Sub 130 247 Throw 'Exception 248 End If 249 End Sub 250 251 /*! 252 @brief ファイルを最新の情報に更新する 253 @author OverTaker 254 */ 131 255 Virtual Sub Refresh() 132 256 Dim data As WIN32_FIND_DATA … … 134 258 FindClose(hFind) 135 259 136 m_FileAttributes = data.dwFileAttributes260 m_FileAttributes = New FileAttributes(data.dwFileAttributes As Long, "FileAttributes") 137 261 m_CreationTime = data.ftCreationTime 138 262 m_LastAccessTime = data.ftLastAccessTime … … 141 265 m_IsFreshed = True 142 266 End Sub 267 268 269 '---------------------------------------------------------------- 270 ' パブリック プライベート 271 '---------------------------------------------------------------- 143 272 Private 273 274 /*! 275 @brief ファイルの時間を更新する 276 @author OverTaker 277 */ 144 278 Sub setFileTime() 145 279 If Not m_IsFreshed Then Refresh()
Note:
See TracChangeset
for help on using the changeset viewer.