Программы, плагины, статьи от Моторокера

Новости
Статьи
Программы
Ссылки
Автор

Русский заголовочный файл WCXHead.pas для архиваторного плагина для Total Commander

{ Содержит описания кодов ошибок, флагов и              }
{ экспортируемых функций                                }

{ Перевод файла - Сергей Плотников <mailto:zoth@bk.ru>  }
{ От себя добавлена константа E_SUCCESS=0 (успешно )    }
{                                                       }
{ 21.05.2007                                            }
{ Теперь в записи THeaderDataEx поля PackSize,          }
{ PackSizeHigh, UnpSize, UnpSizeHigh типа DWORD вместо  }
{ integer                                               }
{                                                       }
{ 15.11.2006                                            }
{ Перевод wcx_ref2.12 для Total Commander 7.0           }
{                                                       }
{ 24.07.2006                                            }
{ Исправлен перевод E_TOO_MANY_FILES                    }
{                                                       }
{ 18.07.2006                                            }
{ В uses добавлен модуль Windows                        }
{ В константы добавлена E_SUCCESS (Выполнено успешно)   }
{                                                       }
{ Смотрите также перевод справки по написанию           }
{ архиваторных плагинов.                                }

unit WCXHead;

INTERFACE

uses
  Windows;

{ Коды ошибок, возвращаемых вызывающему приложению }
const
  E_SUCCESS=            0;    { Выполнено успешно (добавлено от себя) }
  E_END_ARCHIVE=       10;    { Нет больше файлов в архиве (конец архива) }
  E_NO_MEMORY=         11;    { Не хватает памяти }
  E_BAD_DATA=          12;    { Ошибка в данных }
  E_BAD_ARCHIVE=       13;    { Ошибка CRC в данных архива }
  E_UNKNOWN_FORMAT=    14;    { Ошибочный формат архива }
  E_EOPEN=             15;    { Невозможно открыть существующий файл }
  E_ECREATE=           16;    { Невозможно создать файл }
  E_ECLOSE=            17;    { Ошибка закрытия файла }
  E_EREAD=             18;    { Ошибка чтения из файла }
  E_EWRITE=            19;    { Ошибка записи в файл }
  E_SMALL_BUF=         20;    { Буфер слишком мал }
  E_EABORTED=          21;    { Функция прервана пользователем }
  E_NO_FILES=          22;    { Файлы не найдены }
  E_TOO_MANY_FILES=    23;    { Слишком много файлов для упаковки }
  E_NOT_SUPPORTED=     24;    { Функция не поддерживается }

  { Флаги распаковки }
  PK_OM_LIST=           0;    { Просмотр содержимого архива } 
  PK_OM_EXTRACT=        1;    { Распаковка содержимого архива } 

  { Флаги для ProcessFile }
  PK_SKIP=              0;    { Пропустить файл (без распаковки) }
  PK_TEST=              1;    { Тестировать целостность файла }
  PK_EXTRACT=           2;    { Распаковать файл на диск }

  { Флаги, передаваемые через ChangeVolProc }
  PK_VOL_ASK=           0;    { Запросить пользователя расположение }
                              { следующего тома }
  PK_VOL_NOTIFY=        1;    { Уведомить приложение, что следующий том }
                              { может быть распакован }

  { Флаги упаковки }

  { Флаги для PackFiles }
  PK_PACK_MOVE_FILES=   1;    { Удалить исходный файл после упаковки }
  PK_PACK_SAVE_PATHS=   2;    { Сохранять пути файлов }

  { Возвращает GetPackCaps}
  PK_CAPS_NEW=          1;    { Может создавать новые архивы }
  PK_CAPS_MODIFY=       2;    { Может изменять существующие архивы }
  PK_CAPS_MULTIPLE=     4;    { Архив может содержать несколько файлов }
  PK_CAPS_DELETE=       8;    { Может удалять файлы }
  PK_CAPS_OPTIONS=     16;    { Есть диалог настроек }
  PK_CAPS_MEMPACK=     32;    { Поддерживает упаковку в памяти }
  PK_CAPS_BY_CONTENT=  64;    { Определяет тип архива по содержимому }
  PK_CAPS_SEARCHTEXT= 128;    { Может искать текст в архиве }
  PK_CAPS_HIDE=       256;    { Показать как обычный файл (скрыть иконку архива), }
                              { не открывать по Enter, только по Ctrl+PgDn }
  PK_CAPS_ENCRYPT=    512;    { Плагин поддерживает параметр PK_PACK_ENCRYPT }

  { Флаги для упаковки в памяти }
  MEM_OPTIONS_WANTHEADERS=1;  { Return archive headers with packed data }

  { Коды ошибок для PackToMem }
  MEMPACK_OK=           0;    { Function call finished OK, but there is more data }
  MEMPACK_DONE=         1;    { Function call finished OK, there is no more data }

{ Описание экспортируемых функций, вызываемых из DLL }
type
  { Запрашивает смену диска для многотомного архива }
  PChangeVolProc=^TChangeVolProc;
  TChangeVolProc=function(ArcName: PChar; Mode: longint): longint; stdcall;
  
  { Сведения об обработке данных - используется для диалога прогресса }
  PProcessDataProc=^TProcessDataProc;
  TProcessDataProc=function(FileName: PChar; Size: longint): longint; stdcall;

type
  THeaderData=packed record
    ArcName: array [0..259] of char;
    FileName: array [0..259] of char;
    Flags,
    PackSize,
    UnpSize,
    HostOS,
    FileCRC,
    FileTime,
    UnpVer,
    Method,
    FileAttr: longint;
    CmtBuf: PChar;
    CmtBufSize,
    CmtSize,
    CmtState: longint;
  end;

  THeaderDataEx=packed record
    ArcName: array[0..1023] of char;
    FileName: array[0..1023] of char;
    Flags: longint;
    PackSize,
    PackSizeHigh,
    UnpSize,
    UnpSizeHigh: DWORD;
    HostOS,
    FileCRC,
    FileTime,
    UnpVer,
    Method,
    FileAttr: longint;
    CmtBuf: PChar;
    CmtBufSize,
    CmtSize,
    CmtState: longint;
    Reserved: array[0..1023] of char;
  end;

  tOpenArchiveData=packed record
    ArcName: PChar;
    OpenMode,
    OpenResult: longint;
    CmtBuf: PChar;
    CmtBufSize,
    CmtSize,
    CmtState: longint;
  end;

  tPackDefaultParamStruct=record
    Size,
    PluginInterfaceVersionLow,
    PluginInterfaceVersionHi: longint;
    DefaultIniName: array[0..MAX_PATH-1] of char;
  end;
  pPackDefaultParamStruct=^tPackDefaultParamStruct;

IMPLEMENTATION

END.

Скачать (3 Kb)


© 2006–2011 Моторокер Плагины для Total Commander