|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
Как можно программно сунуть файлы в архив22.10.2011, 14:53. Показов 7397. Ответов 44
Метки нет (Все метки)
0
|
|
| 22.10.2011, 14:53 | |
|
Ответы с готовыми решениями:
44
Кто-нибудь знает как можно программно заполнять (создавать) файлы справки Windows Сколько макс. оперативы сюда можно сунуть Как программно распаковать архив? |
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
| 26.10.2011, 09:12 [ТС] | |
|
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||
| 26.10.2011, 12:25 | ||||
Нужно ведь данные спрайта поместить в память или нет? Вот, файл с именем NUL это запись в память. А из памяти можно записать на диск (или прямо в архив, пример выше) под любым именем.
1
|
||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
| 26.10.2011, 14:55 [ТС] | |
|
Понятно, спасибо.
И еще вопрос. Что быстрее работает, запись в память или в файл функцией saveimage. Мне кажется что быстрее в память. Но может разницы и нет, и нет смысла записывать в память. Добавлено через 13 минут Ассемблерный код, как я понимаю, выделяет ячейку памяти, размером максимально допустимым(т.е. свободным). Дальше записывается код изображения, и только этот размер используется в памяти? Правильно?
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||
| 26.10.2011, 15:16 | |||
|
Я в асме не очень хорошо разбираюсь, но судя по коду, производится подмена адреса функции в стеке и в место стандартной, вызывается процедура fwritef(), в которой выделяется память и записываются данные картинки в память, указатель на которую хранится в переменной mem.
1
|
|||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||||
| 26.10.2011, 15:31 [ТС] | ||||||||
Проверил я это тем, что узнал размер выделенной памяти до ассемблера, и после.
0
|
||||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||
| 26.10.2011, 15:49 | |||
![]() Как определил? Столько не выделяется. ![]() Там ноль после выполнения асм кода и вообще, асм не изменяет эту переменную. Только что проверил - работает нормально для PNG рисунка, размером 140 КБ, было выделено 110 КБ памяти в которую был записан код рисунка.
1
|
|||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|||||||
| 26.10.2011, 17:12 [ТС] | |||||||
|
Вот так проверял
0
|
|||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 26.10.2011, 17:38 | |
|
У меня этот код выделяет примерно столько же памяти, сколько весит сам рисунок.
Но это естественно не 2 ГБ памяти.
1
|
|
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|||||||||||
| 26.10.2011, 19:20 [ТС] | |||||||||||
|
А можно загрузить картинку из памяти.
Т.е.
Попробовал так
0
|
|||||||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||
| 26.10.2011, 19:48 | |||||||
|
Ее нужно восстановить перед тем, как начать писать в файл.
1
|
|||||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||
| 28.10.2011, 19:21 [ТС] | ||||||
|
Как очистить память адреса "nul".
Надо 2 раза подряд записать код одной картинки в память, потом из памяти в файл, и 2ой круг... Очищаю память так
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 28.10.2011, 20:10 | |
|
1
|
|
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||
| 29.10.2011, 17:30 [ТС] | ||||||
|
Пытаюсь сунуть картинку из банка в архив. Делаю так
Если функцию компрессии поставить перед асм кодом, то все работает. Что делать?
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||||
| 29.10.2011, 18:01 | ||||||
|
Выше уже отвечал на этот вопрос Как можно программно сунуть файлы в архив
Нужно восстановить перехваченную функцию.
1
|
||||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||
| 29.10.2011, 21:34 [ТС] | ||||||
|
Не получается из архива сунуть файл в память.
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||
| 29.10.2011, 21:52 | |||||||
1
|
|||||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||
| 29.10.2011, 22:08 [ТС] | ||
|
Все равно возвращает -3. И пишет
А если программно засунут файл, то не получается. В архиве, файлы заархив. программно, в имени файла в конце стоит символ "*". Если заархив. файлы вручную, то звездочки нет. Видимо дело в этом.
0
|
||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 29.10.2011, 22:18 | |
|
1
|
|
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
| 29.10.2011, 22:33 [ТС] | |
|
Понял в чем проблема. Создавал архив в формате *zip. Вручную менял на *stl.
Всему виной это. Хотя странно, как это может повлиять. Добавлено через 6 минут А нет. Не в этом дело. Запускаю программу. Создаю в ней архив. Пихаю файл. Открываю архив(сколько угодно раз), все норм. Закрываю прогу. Открываю заного, открываю архив, все плохо, ответ -3.
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 29.10.2011, 22:37 | |
|
Возможно ошибка в коде проги, создающей архив.
1
|
|
| 29.10.2011, 22:37 | |
|
Помогаю со студенческими работами здесь
40
Как можно обойти проверку CRC или как можно распаковать поврежденный архив? Как программно создать архив, и засунуть туда файл Как программно незаметно создать zip/rar архив и отправить на хост?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|