IZipArchiveEntry.ArchPath

Синтаксис

ArchPath: String;

ArchPath: String;

Описание

Свойство ArchPath возвращает путь до элемента внутри архива.

Комментарии

Если текущий элемент соответствует файлу, то свойство возвращает путь и наименование файла, например, «File.txt» или «Folder/File.txt».

Если текущий элемент соответствует папке, то свойство возвращает путь до папки с добавленным в конце слэшем, например, «Folder/» или «Folder/SubFolder/».

Пример

Для выполнения примера предполагается наличие на диске архива «D:\Work\Archives\Data.zip».

Добавьте ссылку на системную сборку IO. При работе в Fore.NET добавьте ссылку на сборку ForeIO.

Sub UserProc;
Var
    ZIP: IZipArchive;
    ZIPEntry: IZipArchiveEntry;
    i, c: Integer;
Begin
    //Чтение архива
    ZIP := New ZipArchive.Create("D:\Work\Archives\Data.zip", ZipMode.Read);
    c := ZIP.Count;
    
//Просмотр содержимого архива
    For i := 0 To c - 1 Do
        ZIPEntry := ZIP.Item(i);
        
If Path.GetExtension(ZIPEntry.ArchPath) = "" Then
            Debug.WriteLine(
"Папка: " + ZIPEntry.ArchPath);
        Else
            Debug.WriteLine(
"Файл: " + ZIPEntry.ArchPath + ". Исходный размер файла: " + ZIPEntry.Size.ToString + " байт." +
                + 
" Дата последней модификации: " + ZIPEntry.ModificationDate.ToString);
        
End If;
    
End For;
    
Dispose ZIP;
End Sub UserProc;

Imports Prognoz.Platform.Interop.ForeIO;

Public Shared Sub Main(Params: StartParams);
Var
    ZIP: IZipArchive = 
New ZipArchiveClass();
    ZIPEntry: IZipArchiveEntry;
    PathCls: Path = 
New PathClass();
    i, c: Integer;
Begin
    
//Чтение архива
    ZIP.Create("D:\Work\Archives\Data.zip", ZipMode.zmRead, ZipCompressionLevel.zcDefaultCompression);
        c := ZIP.Count;
    
//Просмотр содержимого архива
    For i := 0 To c - 1 Do
        ZIPEntry := ZIP.Item[i];
        
If PathCls.GetExtension(ZIPEntry.ArchPath) = "" Then
            System.Diagnostics.Debug.WriteLine(
"Папка: " + ZIPEntry.ArchPath);
        Else
            System.Diagnostics.Debug.WriteLine(
"Файл: " + ZIPEntry.ArchPath + ". Исходный размер файла: " + ZIPEntry.Size.ToString() + " байт." +
                
" Дата последней модификации: " + ZIPEntry.ModificationDate.ToString());
        
End If;
    
End For;
    System.Runtime.InteropServices.Marshal.ReleaseComObject(ZIP);
End Sub;

При выполнении примера в консоль среды разработки будет выведена информация о содержимом архива «Data.zip».

См. также:

IZipArchiveEntry