Changeset 406 for trunk/Include/Classes/System/IO/FileSystemInfo.ab
- Timestamp:
- Feb 15, 2008, 7:48:54 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.