Как вынуть вложенное в Ole контейнер

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Les555
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 20.05.2010 (Чт) 9:07

Как вынуть вложенное в Ole контейнер

Сообщение Les555 » 20.05.2010 (Чт) 9:27

Прошу подсказать. Я на форму размещаю Ole контейнер, в контейнер кладу файл (все при создании VB приложения).
Как мне при исполненни программы "выложить копию" вложенного ?? вроде есть ole1.Savetofile ... но выложенный файл имеет "лишних" несколько байт в самом начале ... как выгрузить содержимое Ole объекта без этих заголовочных байтов ?

Les555
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 20.05.2010 (Чт) 9:07

Re: Как вынуть вложенное в Ole контейнер

Сообщение Les555 » 07.06.2010 (Пн) 9:41

Мдя... ответов не видать.
Мож кому пригодится....решил так :

1. Сохранил в файл
ole1.savetoole1file ff

2. Считал обратно файл ff в массив байтов а (23400) ; (благо размер файла мне известен, а нет ... так и узнать можно )
3. создал массив байтов короче на длину заголовка оle a2 (23400 - 3400) (количество байтов в заголовке через winhex поглядел)
3. процедурой copymemory перенес массив а в массив а2 , начиная с позиции a(3400-1) .. (в цикле тоже можно , но медленней)..
4. удалил промежуточный файл
5. записал а2 () в файл...

Корявенько как то , но работает.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как вынуть вложенное в Ole контейнер

Сообщение Хакер » 07.06.2010 (Пн) 10:07

Это что, какой-то приём черной магии — читать весь файл в один массив, а потом копировать нужную часть первого во второй? А сразу прочитать нужную часть файла в массив — не судьба?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Les555
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 20.05.2010 (Чт) 9:07

Re: Как вынуть вложенное в Ole контейнер

Сообщение Les555 » 07.06.2010 (Пн) 10:15

:oops: да , согласен. можно сразу прочитать с нужной позиции...и снова записать в новый файл... наверно так быстрей.
но всиравно коряво.. - с "промежуточными" файлами коряво


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 74

    TopList