FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9235
Вход
Новая версия класса упаковки/распаковки FoxZif. Подходит и для VFP5.

Формат ZIF остался прежним. Изменен несколько алгоритм упаковки/распаковки. Приложен небольшой тестовый пример.


 
Прислал: Sergei Dzjuba   Категория: Работа с данными

Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.897) Вложение [54.21]kb
Дополнения пользователей
Новая версия класса упаковки/распаковки FoxZif. Подходит и для VFP5.
[+][?]
Малик Анатолий
12.03.02 08:50:53

Как зарегистрировать OLE объект ?
Sergei
12.03.02 10:55:42

Регистрация ACTIVE-X в среде VFP6.0:
TOOLS / OPTIONS / CONTROLS / ActiveX controls / ADD 
Далее понятно, найти нужный .OCX на доступных устройствах и все.
Александр
19.03.02 17:51:44

Хорошая вещь! Но если мне надо заархивировать один или несколько файлов, а не весь каталог. Или я
что-то не понял в описании.
Sergei
19.03.02 18:25:00

Необходимые файлы или маски указываются в параметре tcMask через запятую. Например:
tcMask='file1.dbf, file1.cdx' или tcMask='*.dbf, *.cdx, *.idx'
Александр
20.03.02 10:32:57

Не удается запустить, пишет - "OLE error code 0x8002000e" - недопустимое число параметров, скорее
всего неправильно запускаю. ActiveX зарегистрирован, вызываю по инструкции, но никак. Приведите,
пожалуйста, пример вызова.
Sergei
20.03.02 11:47:19

Реальный пример вызова:
.....
cMask='arve.dbf, arve.cdx'
ThisForm.foxzif1.compress(cMask, cBaseDir, cLogFileName, lDeleteSource, lFilePart, nMulti)
.....
Может быть ActiveX не может справится с названиями файлов. Александр, по какому адресу Вам выслать
небольшой тест и могу ли я увидеть файлы, на которых Вы получаете ошибку?
Александр
20.03.02 19:08:22

мой адрес alex752002@bk.ru, а вызываю я так:
thisform.fz.compress('*.dbf','c:\access','c:\ii\hhh',.f.,.f.,0)
Ившев Дмитрий
22.03.02 17:49:06

Будет ли продолжение? Хотелось бы надеяться на появление методов для просмотра списка файлов в
архиве. Можно ли считать формат архива устоявшимся или грядут революционные изменения?
Sergei
25.03.02 11:19:06

В следующих версиях будет просмотр списка файлов архива и возможность установки пароля. Формат
можно считать устоявшимся в том смысле, что упакованные файлы в предыдущей версии распакуются в
следующей.
Владимир
26.03.02 11:31:53

не удается запустить, пишет - "OLE error code 0x8002000e" - неверное число параметров. ActiveX
зарегистрирован, вызываю по инструкции, но никак.
Вот пример:
cMask='dekl.dbf, dekl.cdx'
cLogFileName='e:\archive'
lDeleteSource=.F.
lFilePart=.T.
nMulti=1.4
ThisForm.foxzif1.compress(cMask,gcDataPath,cLogFileName,lDeleteSource,lFilePart,nMulti)


Владимир
27.03.02 12:48:05

Помогите!!!!
Не удается запустить, пишет - "OLE error code 0x8002000e" - неверное число параметров. ActiveX
зарегистрирован, вызываю по инструкции, но никак.
Вот пример:
tcMask='*.dbf'
tcPath='e:\data\'
tcOtputFile='E:\ttt'
tlWipe=.F.
tlFilePart=.F.
tnMulti=0
ThisForm.olecontrol1.compress(tcMask, tcPath, tcOutputFile, tlWipe, tlFilePart, tnMulti)

Sergei
01.04.02 15:29:42

По-моему в новой версии такая ошибка не возникает ни при каких условиях.
Александр
23.04.02 16:15:21

Sergei, я на своей машине зарегистрировал OLE все нормально. Теперь делаю инсталл и ставлю прогу
на ПК Юзера. А вот там-то он и говорит OLE error code ... не зарегистрирован класс. Что делать?
Как его там то зарегистрировать?
Lev
08.05.02 21:57:52

Странное дело. В среде VFP работает замечательно. А вот в компилированном виде архивирует только
файлы .fpt или по одной только маске - только .cdx например. Может я чего-то не понял?
Sergei
09.05.02 14:52:35

Действительно очень странно. Тест тоже дает подобную ошибку?

Vitaly_S
13.05.02 14:22:25

Хорошая штука.
Только в методе Compress не срабатывают параметры:
- tlWipe=.T. – входные файлы НЕ удаляются.
- tlFilePart=.T. – создается ОДИН выходной файл

Можно ли делать архив с сохранением в нем полного пути к архивируемым файлам,
и, соответственно, разархивировать с созданием указанных путей ?
Если не секрет, что за формат? dbf сжимает лучше, чем WinZip :))
Vitaly_S
13.05.02 18:45:51

Хорошая штука.
Только в методе Compress не срабатывают параметры:
- tlWipe=.T. – входные файлы НЕ удаляются.
- tlFilePart=.T. – создается ОДИН выходной файл

Можно ли делать архив с сохранением в нем полного пути к архивируемым файлам,
и, соответственно, разархивировать с созданием указанных путей ?
Если не секрет, что за формат? dbf сжимает лучше, чем WinZip :))
Sergei
14.05.02 11:00:32

Может быть Вы ошиблись в последовательности параметров? Не удалятся могут файлы, если они при
сжатии заняты или ReadOnly. Многотомный архив приложенный тест тоже не делает? Математика упаковки
- ActiveX ZlibTool. В сравнении с WinZip на разных форматах плюс-минус 5-6%.
Anatolij
05.06.03 15:19:33

Скачал 228foxzif5.zip для решения задачи разбивки большого zip - файла на части по
700К.(ограничение почтового ящика).
1.Текст программы:
tcMask = "f8002.zip"
tcPath = "D:\TEMP"
tcOutputFile = "D:\temp\BILOG"
tlWipe = .F.
tlFilePart = .T.
tnMulti = 0.7
ThisForm.FoxZif.compress(tcMask, tcPath, tcOutputFile, tlWipe, tlFilePart, tnMulti)
При запуске дает ошибку:TAFILELIST is not an array
и далее No files for compress.Запустить не удалось.
2. Предыдущая версия работала,но с архивного zip-файла размером 1.355М создала три файла общим
размером примерно 2.6М.Это не устраивает.Можно ли использовать этот класс для разбивки zip-файлов
на части

Sergei
06.06.03 13:01:45

Надеюсь, что скоро на этом сайте размещу новою версию класса, который будет работать начиная с
версии 6.0, в котором подобных проблем не будет. Пока там новые функции не готовы. Сообщите свой
MAIL, можно на SDZJUBA@SPINVIRU.EE, и я вам пошлю версию для 6.0 без дополнительных функций, но в
которой нет подобной ошибки.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика