Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Chm dump 
:(
    Опции темы
randy
Дата 5.5.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 28.4.2008

Репутация: нет
Всего: 1



Hi , i've this project ( attachment )that deals with Chm ( Help Files ) , It populates the Contents into the Treeview .

But what i want is to export ( save ) the Contents into a Directory instead of populating them , any help please .


many thanks 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  ChmDump.rar 0,02 Kb
PM MAIL   Вверх
bartram
Дата 5.5.2009, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



randy, your file is empty. Please upload again.


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
randy
Дата 6.5.2009, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 28.4.2008

Репутация: нет
Всего: 1



i'm really sorry , see the New attachment

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  ChmDump.rar 29,59 Kb
PM MAIL   Вверх
randy
Дата 7.5.2009, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 28.4.2008

Репутация: нет
Всего: 1



Hi i did it Now i can Export the IStorage elements to a Directory , but Why it doesn't export the SubStorage too ( Like Images , Jscripts .... ).

The Code to Export the IStorage Elemts is : 

Код

procedure ExportStgElemets(const Source, DstDir: String);
var
  ITS: IITStorage;
  Root: IStorage;
  Enumerator: IEnumStatStg;
  Stat: TStatStg;
  Src, Dst: IStream;
  FileStream: TFileStream;
  S: WideString;
  BytesRead, BytesWritten: Int64;
  SubStorage: IStorage;
begin
  { Create target directory }
  ForceDirectories(DstDir);

  { Open Source file }
  ITS := CoITStorage.Create;
  S := ArchiveFilename;
  OleCheck(ITS.StgOpenStorage(PWideChar(S),nil,
    STGM_READ or STGM_SHARE_DENY_WRITE,nil,0,Root));

  { Enumerate streams in storage }
  OleCheck(Root.EnumElements(0,nil,0,Enumerator));
  while Enumerator.Next(1,Stat,nil) = S_OK do begin
    if Stat.dwType = STGTY_STORAGE then  begin

OleCheck( Root.OpenStorage(Stat.pwcsName,nil,
        STGM_READ or STGM_DIRECT or STGM_SHARE_EXCLUSIVE,nil,0,SubStorage)) ;

   {* Here why it does't support the SubStorage *}

   end

    else begin


      { Open source stream in storage }
      OleCheck(Root.OpenStream(Stat.pwcsName,nil,
        STGM_READ or STGM_SHARE_DENY_WRITE,0,Src));

   
      FileStream := TFileStream.Create(DstDir + Stat.pwcsName,fmCreate);
      Dst := TStreamAdapter.Create(FileStream,soOwned);

      { Copy source to destination }
      OleCheck(Src.CopyTo(Dst,Stat.cbSize,BytesRead,BytesWritten));
    end;
  end;


end;



Usage : 

Код

procedure TFrmMain.Button1Click(Sender: TObject);
begin
ExportStgElemets(EditHelpFile.Text,'C:\test\');
end;


Could any one Correct the Code so that the Procedure can Export the SubStorage Too ??

Thank you 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0703 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.