Имя: Пароль:
1C
 
Документация по Compound.dll из кеша гугла
0 Вуглускр1991
 
11.06.11
17:18
Итак, из трех уже почти не действующих ссылок, выжал вот это. Думаю, стоит увековечить и Reminder-а и его творение

Внешняя компонента Compound
Внешняя компонента Compound

Описание

Версия 4.4

Компонента = СоздатьОбъект('Amber.Compound');
Данная компонента предназначена для работы с Compound файлами. Compound файлом являются файлы 1С:Предприятия с расширением *.ERT и *.MD. Вкратце структура напоминает архив. То есть в одном *.MD файле на самом деле есть много каталогов (называемых Storage) и много файлов (называемых Stream). Кроме того, некоторые Stream файлы (например там, где хранится описание или програмный текст) запакованы.
При помощи этой компоненты вы можете просматривать из 1С:Предприятия всю ее конфигурацию включая диалоги, программные тексты, описания и прочее а также изменять их.


Перед использованием необходимо зарегистрировать: regsvr32.exe compound.dll
(c) Kostya Volkov aka Reminder
Волынская Софтовая Компания (2001). Луцк, Украина.
http://reminder.h1.ru, http://1c.lutsk.ua
------------
Методы

ChangeChar

ChangeChar(<Код первого символа >,<Код второго символа>)
Назначить правило замены символов. При Stream2File производится замена Символа1 на Символ2. При File2Stream замена Символа2 на Символ1.
Нужно для того, чтобы 1С:Предприятие Текст воспринимало файлы с кодом 0.
По умолчанию код Символ1=0, код символ2=1. То есть заменяются все нули (которые не понимает 1С) на все единицы, которые понимает 1С. Если Символ1=Символ2 - замена не производится.
Возвращает число: 0 - без ошибок.
Код первого символа (Числовое выражение) - код символа 1.

Код второго символа (Числовое выражение) - код символа 2.
------------
File2Stream

File2Stream(<ИмяCompoundФайла>,<ИмяЗаписываемогоФайла>.<ИмяStreamФайла>, <Запаковка>)
Записать файл в архив Compound в виде Stream Файл с возможной запаковкой.
Возвращает число: 0 - без ошибок.
-10 - Ошибка открытия Compound файла (нужно обеспечить эксклюзивный доступ)
-15 - Ошибка открытия каталога (Storage) если производился доступ к Stream файлу, находящемся в каталоге)
-20 - Ошибка создания Stream файла внутри compound.
-30-? - Ошибка создания вспомогательного файла c:\temp.tmp
-40 - Ошибка запаковки
-50-? - Ошибка повторного открытия вспомогательного файла c:\temp.tmp
-60 - Ошибка открытия файла на диске (Ассоциация).
-65 - Ошибка открытия файла на диске (Открытие на чтение)
-70 - Ошибка чтения из файла на диске
-75 - Ошибка записи в Stream файл
-80 - Ошибка закрытия файла на диске.
ИмяCompoundФайла (Строковое выражение) - полный путь к compound файлу на диске.

ИмяЗаписываемогоФайла- (Строковое выражение) - полный путь к файлу на диске откуда будет записываться Stream Файл.

ИмяStreamФайла - (Строковое выражение) - Полный путь к Stream файлу внутри Compound файла.

Запаковка - (Числовое выражение) -
1- Запаковывать Текстовый файл перед записью.
0 - Не запаковывать.

(Все програмные модули в 1С например 'MD Programm text' как правило запакованы.
------------
GetLastError

GetLastError()
Прочитать код последней ошибки в формате Windows.
Возвращает строку.
Нет параметров
------------
GetLastErrorHex

GetLastErrorHex()
Прочитать код последней ошибки в формате Windows. В hex коде.
Возвращает строку.
Нет параметров
------------
GetShow

GetShow()
Прочитать строку возвращаемую методом ShowCompound в формате через разделитель ; ИмяЭлемента;ТипЭлемента;РазмерЭлемента;ИмяЭлемента;ТипЭлемента;......
где
ИмяЭлемента - Строка
ТипЭлемента - Число: 1 - КаталогStorage, 2 - ПотокStream.
РазмерЭлемента - Размер в байтах

Возвращает строку.
Нет параметров
------------
GetVersion

GetVersion()
Прочитать версию драйвера.
Возвращает строку.
Нет параметров
------------
IsCompoundFile

IsCompoundFile(<ИмяФайла>)
Проверить является ли файл compound файлом
Возвращает число: 0 - является,
1 - файл не является compound файлом
-2147287038 - файл не найден
-2147286788 - имя задано не верно
ИмяФайла (Строковое выражение) - имя возможного compound файла.
------------
MakeCompound

MakeCompound(<ИмяCompoundФайла>)
Создать чистый новый compound файл на диске.
Возвращает число: 0 - без ошибок.
-10 - Ошибка создания Compound файла (нужно обеспечить эксклюзивный доступ)
ИмяCompoundФайла (Строковое выражение) - полный путь к новому compound файлу на диске.
------------
MakeStorage

MakeStorage(<ИмяCompoundФайла>,<ИмяStorage>)
Создать папку (Storage) c заданным именем в compound файле.
Возвращает число: 0 - без ошибок.
-10 - Ошибка открытия Compound файла (нужно обеспечить эксклюзивный доступ)
-15 - Ошибка открытия каталога (Storage) если производился доступ к Stream файлу, находящемся в каталоге)
-20 - Ошибка создания Storage (папки) внутри compound.
ИмяCompoundФайла (Строковое выражение) - полный путь к compound файлу на диске.

ИмяStorage - (Строковое выражение) - Полный путь к Storage (папке) внутри Compound файла.
------------
RemoveStorageStream

RemoveStorageStream(<ИмяCompoundФайла>,<ИмяStorageStream>)
Удалить папку (storage) или файл (stream) из compound файла.
Возвращает число: 0 - без ошибок.
-10 - Ошибка открытия Compound файла (нужно обеспечить эксклюзивный доступ)
-15 - Ошибка открытия каталога (Storage). если производился доступ к Stream/Storage , находящемся в каталоге)
-20 - Ошибка удаления Storage (папки) или Stream (файла) внутри compound.
ИмяCompoundФайла (Строковое выражение) - полный путь к compound файлу на диске.

ИмяStorageStream - (Строковое выражение) - Полный путь к Storage (папке) или Stream (файлу) внутри Compound файла.
------------
RenameStorageStream

RenameStorageStream(<ИмяCompoundФайла>,<СтароеИмяStorageStream>,<НовоеИмяStorageStream>)
Переименовать папку (storage) или файл (stream) в compound файле.
Возвращает число: 0 - без ошибок.
-10 - Ошибка открытия Compound файла (нужно обеспечить эксклюзивный доступ)
-15 - Ошибка открытия каталога (Storage). если производился доступ к Stream/Storage , находящемся в каталоге)
-20 - Ошибка переименовывания Storage (папки) или Stream (файла) внутри compound.
ИмяCompoundФайла (Строковое выражение) - полный путь к compound файлу на диске.

СтароеИмяStorageStream - (Строковое выражение) - Полный путь к Storage (папке) или Stream (файлу) внутри Compound файла.

НовоеИмяStorageStream - (Строковое выражение) - Краткое имя Storage (папки) или Stream (файла) внутри Compound файла.
(Новое имя - не полное имя, а краткое, переименовывание будет происходить по пути СтарогоИмени)
------------
ShowCompound

ShowCompound(<ИмяCompoundФайла>,<ИмяКаталогаStorage>)
Записать во внутреннюю переменную содержимое текущего каталога Storage.
Итог можно получить при помощи метода GetShow.
Возвращает число: 0 - без ошибок.
-10 - Ошибка открытия Compound файла
-15 - Ошибка открытия каталога (Storage)
-20 - Ошибка получения информации о содержимом.
ИмяCompoundФайла (Строковое выражение) - полный путь к compound файлу на диске.

ИмяКаталогаStorage - (Строковое выражение) - Полный путь к Каталогу Storage внутри Compound файла, с завершающим символом \
------------
Stream2file

Stream2file(<ИмяCompoundФайла>,<ИмяStreamФайла>,<ИмяИзвлеченногоФайла>,<Распаковка>)
Извлечь Stream Файл из Compound файла на диск, с возможной распаковкой.
Возвращает число: 0 - без ошибок.

-10 - Ошибка открытия Compound файла (нужно обеспечить эксклюзивный доступ)
-15 - Ошибка открытия каталога (Storage) если производился доступ к Stream файлу, находящемся в каталоге)
-20 - Ошибка открытия Stream файла внутри compound.
-30-? - Ошибка создания вспомогательного файла c:\temp.tmp
-40 - Ошибка распаковки
-50-? - Ошибка повторного открытия вспомогательного файла c:\temp.tmp
-60 - Ошибка открытия файла на диске (Ассоциация).
-65 - Ошибка открытия файла на диске (Открытие на запись)
-70 - Ошибка чтения из Stream файла
-75 - Ошибка записи в файл на диске
-80 - Ошибка закрытия файла на диске.
ИмяCompoundФайла (Строковое выражение) - полный путь к compound файлу на диске.

ИмяStreamФайла - (Строковое выражение) - Полный путь к Stream файлу внутри Compound файла.

ИмяИзвлеченногоФайла - (Строковое выражение) - полный путь к файлу на диске куда будет извлекаться Stream Файл.

Распаковка - (Числовое выражение) -
1- Распаковывать Stream файл после извлечения.
0 - Не распаковывать.

(Все програмные модули в 1С например 'MD Programm text' как правило запакованы.
------------
------------
------------
1 m g r
 
11.06.11
21:57
пиши исчо !
2 Torquader
 
12.06.11
18:01
3 smaharbA
 
12.06.11
18:08
не плохо, вещь не плохая (даже хорошая) была
4 МихаилМ
 
13.06.11
14:05
чем activemd не устраивает