@@ -263,7 +263,9 @@ TDirItem = record
263
263
function FindDelimiter (const Delimiters, S: string; StartIdx: Integer = 1 ): Integer;
264
264
{ $ENDIF}
265
265
function ConvertDateTimeToFileTime (const DateTime: TDateTime; const UseLocalTimeZone: Boolean): TFileTime;
266
+ { $IFDEF MSWINDOWS}
266
267
function ConvertFileTimeToDateTime (const FileTime : TFileTime; const UseLocalTimeZone : Boolean) : TDateTime;
268
+ { $ENDIF}
267
269
procedure SetDateTimeInfo (const Path: string; const CreationTime, LastAccessTime, LastWriteTime: PDateTime; const UseLocalTimeZone: Boolean);
268
270
function GetFiles (const Path : string; Recursive : Boolean) : TArray<TDirItem>; overload;
269
271
procedure GetFiles (const Path : string; aAddToList : TDirItemAddProc; Recursive : Boolean); overload;
@@ -1309,8 +1311,12 @@ function GetFiles(const Path : string; Recursive : Boolean) : TArray<TDirItem>;
1309
1311
diritem.Name := rec.Name ;
1310
1312
diritem.IsDirectory := False;
1311
1313
diritem.Size := rec.Size;
1314
+ { $IFNDEF LINUX}
1312
1315
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1313
1316
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1317
+ { $ELSE}
1318
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1319
+ { $ENDIF}
1314
1320
Result := Result + [diritem];
1315
1321
end
1316
1322
else
@@ -1336,8 +1342,12 @@ procedure GetFiles(const Path : string; aAddToList : TDirItemAddProc; Recursive
1336
1342
diritem.Name := rec.Name ;
1337
1343
diritem.IsDirectory := False;
1338
1344
diritem.Size := rec.Size;
1345
+ { $IFNDEF LINUX}
1339
1346
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1340
1347
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1348
+ { $ELSE}
1349
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1350
+ { $ENDIF}
1341
1351
aAddToList(diritem);
1342
1352
end
1343
1353
else
@@ -1363,8 +1373,12 @@ function GetDirectories(const Path : string; Recursive : Boolean) : TArray<TDirI
1363
1373
diritem.Name := rec.Name ;
1364
1374
diritem.IsDirectory := True;
1365
1375
diritem.Size := rec.Size;
1376
+ { $IFNDEF LINUX}
1366
1377
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1367
1378
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1379
+ { $ELSE}
1380
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1381
+ { $ENDIF}
1368
1382
Result := Result + [diritem];
1369
1383
if Recursive then Result := Result + GetFiles(IncludeTrailingPathDelimiter(Path) + diritem.Name ,Recursive);
1370
1384
end ;
@@ -1402,17 +1416,25 @@ function GetFilesAndDirectories(const Path : string; Recursive : Boolean) : TArr
1402
1416
diritem.Name := rec.Name ;
1403
1417
diritem.IsDirectory := False;
1404
1418
diritem.Size := rec.Size;
1419
+ { $IFNDEF LINUX}
1405
1420
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1406
1421
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1422
+ { $ELSE}
1423
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1424
+ { $ENDIF}
1407
1425
Result := Result + [diritem];
1408
1426
end
1409
1427
else if (rec.Name <> ' .' ) and (rec.Name <> ' ..' ) then
1410
1428
begin
1411
1429
diritem.Name := rec.Name ;
1412
1430
diritem.IsDirectory := True;
1413
1431
diritem.Size := rec.Size;
1432
+ { $IFNDEF LINUX}
1414
1433
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1415
1434
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1435
+ { $ELSE}
1436
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1437
+ { $ENDIF}
1416
1438
Result := Result + [diritem];
1417
1439
if Recursive then Result := Result + GetFilesAndDirectories(dirpath + diritem.Name ,Recursive);
1418
1440
end ;
@@ -1452,17 +1474,25 @@ procedure GetFilesAndDirectories(const Path : string; aAddToList : TDirItemAddPr
1452
1474
diritem.Name := rec.Name ;
1453
1475
diritem.IsDirectory := False;
1454
1476
diritem.Size := rec.Size;
1477
+ { $IFNDEF LINUX}
1455
1478
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1456
1479
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1480
+ { $ELSE}
1481
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1482
+ { $ENDIF}
1457
1483
aAddToList(diritem);
1458
1484
end
1459
1485
else if (rec.Name <> ' .' ) and (rec.Name <> ' ..' ) then
1460
1486
begin
1461
1487
diritem.Name := rec.Name ;
1462
1488
diritem.IsDirectory := True;
1463
1489
diritem.Size := rec.Size;
1490
+ { $IFNDEF LINUX}
1464
1491
diritem.CreationDate := ConvertFileTimeToDateTime(rec.FindData.ftCreationTime,True);
1465
1492
diritem.LastModified := ConvertFileTimeToDateTime(rec.FindData.ftLastWriteTime,True);
1493
+ { $ELSE}
1494
+ diritem.CreationDate := FileDateToDateTime(rec.Time);
1495
+ { $ENDIF}
1466
1496
aAddToList(diritem);
1467
1497
if Recursive then GetFilesAndDirectories(dirpath + diritem.Name ,aAddToList,Recursive);
1468
1498
end ;
0 commit comments